my over complex system configurations
dotfiles.isabelroses.com/
nixos
nix
flake
dotfiles
linux
1{
2 description = "isabel's dotfiles";
3
4 outputs = inputs: import ./modules/flake inputs;
5
6 inputs = {
7 # our main package supplier
8 #
9 # you may also notice that I don't use a `github:` url for nixpkgs this is
10 # this is because it save a massive 15mb, is faster than github and if I
11 # cared about command-not-found it would fix that
12 #
13 # See also:
14 # - https://nix.dev/manual/nix/stable/protocols/tarball-fetcher#lockable-http-tarball-protocol
15 # - http://web.archive.org/web/20250806225139/https://nix.dev/manual/nix/2.28/protocols/tarball-fetcher#lockable-http-tarball-protocol
16 nixpkgs.url = "https://channels.nixos.org/nixpkgs-unstable/nixexprs.tar.xz";
17
18 # lix a good fork of nix, but also patched with my stuff
19 # so really you want: https://git.lix.systems/lix-project/lix/archive/main.tar.gz
20 izlix = {
21 type = "github";
22 owner = "isabelroses";
23 repo = "izlix";
24 inputs.nixpkgs.follows = "nixpkgs";
25 };
26
27 # improved support for darwin
28 darwin = {
29 type = "github";
30 owner = "isabelroses";
31 repo = "nix-darwin";
32 ref = "darwin-rebuild";
33 inputs.nixpkgs.follows = "nixpkgs";
34 };
35
36 # improved support for wsl
37 nixos-wsl = {
38 type = "github";
39 owner = "nix-community";
40 repo = "NixOS-WSL";
41
42 inputs = {
43 nixpkgs.follows = "nixpkgs";
44 flake-compat.follows = "";
45 };
46 };
47
48 # manage userspace with nix
49 home-manager = {
50 type = "github";
51 owner = "nix-community";
52 repo = "home-manager";
53 inputs.nixpkgs.follows = "nixpkgs";
54 };
55
56 ### Security stuff
57 # secure-boot on nixos
58 lanzaboote = {
59 type = "github";
60 owner = "nix-community";
61 repo = "lanzaboote";
62 inputs.nixpkgs.follows = "nixpkgs";
63 };
64
65 # Secrets, shhh
66 sops = {
67 type = "github";
68 owner = "Mic92";
69 repo = "sops-nix";
70 ref = "pull/779/merge";
71 inputs.nixpkgs.follows = "nixpkgs";
72 };
73
74 ### Additional packages
75 # a plain simple way to host a mail server
76 simple-nixos-mailserver = {
77 type = "gitlab";
78 owner = "simple-nixos-mailserver";
79 repo = "nixos-mailserver";
80
81 inputs = {
82 nixpkgs.follows = "nixpkgs";
83 git-hooks.follows = "";
84 flake-compat.follows = "";
85 blobs.follows = "";
86 };
87 };
88
89 homebrew = {
90 type = "github";
91 owner = "zhaofengli";
92 repo = "nix-homebrew";
93 inputs.brew-src.follows = "";
94 };
95
96 spicetify = {
97 type = "github";
98 owner = "Gerg-L";
99 repo = "spicetify-nix";
100 inputs.nixpkgs.follows = "nixpkgs";
101 };
102
103 tranquil = {
104 url = "git+https://tangled.org/tranquil.farm/tranquil-pds";
105 inputs.nixpkgs.follows = "nixpkgs";
106 };
107
108 ### misc
109 # declarative theme management
110 catppuccin = {
111 type = "github";
112 owner = "catppuccin";
113 repo = "nix";
114 inputs.nixpkgs.follows = "nixpkgs";
115 };
116
117 ### my programs
118 extersia = {
119 type = "github";
120 owner = "extersia-org";
121 repo = "pkgs";
122 inputs.nixpkgs.follows = "nixpkgs";
123 };
124
125 izvim = {
126 type = "github";
127 owner = "isabelroses";
128 repo = "nvim";
129 inputs.nixpkgs.follows = "nixpkgs";
130 };
131 };
132}