my over complex system configurations dotfiles.isabelroses.com/
nixos nix flake dotfiles linux
at main 3.4 kB view raw
1{ 2 description = "Isabel's dotfiles"; 3 4 outputs = 5 inputs: inputs.flake-parts.lib.mkFlake { inherit inputs; } { imports = [ ./modules/flake ]; }; 6 7 inputs = { 8 # our main package supplier 9 # 10 # you may also notice that I don't use a `github:` url for nixpkgs this is 11 # beacuse we can save 15mb of data by using the channel tarball this is not 12 # a major saving but it is nice to have 13 # https://deer.social/profile/did:plc:mojgntlezho4qt7uvcfkdndg/post/3loogwsoqok2w 14 nixpkgs.url = "https://channels.nixos.org/nixpkgs-unstable/nixexprs.tar.xz"; 15 16 # lix a good fork of nix, but also patched with my stuff 17 # so really you want: https://git.lix.systems/lix-project/lix/archive/main.tar.gz 18 izlix = { 19 type = "github"; 20 owner = "isabelroses"; 21 repo = "izlix"; 22 inputs.nixpkgs.follows = "nixpkgs"; 23 }; 24 25 # improved support for darwin 26 darwin = { 27 type = "github"; 28 owner = "isabelroses"; 29 repo = "nix-darwin"; 30 ref = "darwin-rebuild"; 31 inputs.nixpkgs.follows = "nixpkgs"; 32 }; 33 34 # improved support for wsl 35 nixos-wsl = { 36 type = "github"; 37 owner = "nix-community"; 38 repo = "NixOS-WSL"; 39 40 inputs = { 41 nixpkgs.follows = "nixpkgs"; 42 flake-compat.follows = ""; 43 }; 44 }; 45 46 # manage userspace with nix 47 home-manager = { 48 type = "github"; 49 owner = "nix-community"; 50 repo = "home-manager"; 51 inputs.nixpkgs.follows = "nixpkgs"; 52 }; 53 54 ### Flake management 55 # bring all the mess together with flake-parts 56 flake-parts = { 57 type = "github"; 58 owner = "hercules-ci"; 59 repo = "flake-parts"; 60 inputs.nixpkgs-lib.follows = "nixpkgs"; 61 }; 62 63 # easily manage our hosts 64 easy-hosts = { 65 type = "github"; 66 owner = "tgirlcloud"; 67 repo = "easy-hosts"; 68 69 # url = "git+file:/Users/isabel/dev/easy-hosts"; 70 }; 71 72 ### Security stuff 73 # secure-boot on nixos 74 lanzaboote = { 75 type = "github"; 76 owner = "nix-community"; 77 repo = "lanzaboote"; 78 inputs.nixpkgs.follows = "nixpkgs"; 79 }; 80 81 # Secrets, shhh 82 sops = { 83 type = "github"; 84 owner = "Mic92"; 85 repo = "sops-nix"; 86 ref = "pull/779/merge"; 87 inputs.nixpkgs.follows = "nixpkgs"; 88 }; 89 90 ### Additional packages 91 # a plain simple way to host a mail server 92 simple-nixos-mailserver = { 93 type = "gitlab"; 94 owner = "simple-nixos-mailserver"; 95 repo = "nixos-mailserver"; 96 97 inputs = { 98 nixpkgs.follows = "nixpkgs"; 99 git-hooks.follows = ""; 100 flake-compat.follows = ""; 101 blobs.follows = ""; 102 }; 103 }; 104 105 homebrew = { 106 type = "github"; 107 owner = "zhaofengli"; 108 repo = "nix-homebrew"; 109 }; 110 111 spicetify = { 112 type = "github"; 113 owner = "Gerg-L"; 114 repo = "spicetify-nix"; 115 inputs.nixpkgs.follows = "nixpkgs"; 116 }; 117 118 ### misc 119 # declarative theme management 120 catppuccin = { 121 type = "github"; 122 owner = "catppuccin"; 123 repo = "nix"; 124 inputs.nixpkgs.follows = "nixpkgs"; 125 }; 126 127 ### my programs 128 tgirlpkgs = { 129 type = "github"; 130 owner = "tgirlcloud"; 131 repo = "pkgs"; 132 inputs.nixpkgs.follows = "nixpkgs"; 133 }; 134 135 izvim = { 136 type = "github"; 137 owner = "isabelroses"; 138 repo = "nvim"; 139 inputs.nixpkgs.follows = "nixpkgs"; 140 }; 141 }; 142}