my over complex system configurations
dotfiles.isabelroses.com/
nixos
nix
flake
dotfiles
linux
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}