Compare commits

..

No commits in common. "c358881432d27c45e3458ce3f8bc4682fe3e3ebd" and "ece1abdd3e39aeb88c92ff3e590abc3432af9327" have entirely different histories.

30 changed files with 270 additions and 291 deletions

201
flake.lock generated
View file

@ -5,11 +5,11 @@
"fromYaml": "fromYaml" "fromYaml": "fromYaml"
}, },
"locked": { "locked": {
"lastModified": 1755819240, "lastModified": 1746562888,
"narHash": "sha256-qcMhnL7aGAuFuutH4rq9fvAhCpJWVHLcHVZLtPctPlo=", "narHash": "sha256-YgNJQyB5dQiwavdDFBMNKk1wyS77AtdgDk/VtU6wEaI=",
"owner": "SenchoPens", "owner": "SenchoPens",
"repo": "base16.nix", "repo": "base16.nix",
"rev": "75ed5e5e3fce37df22e49125181fa37899c3ccd6", "rev": "806a1777a5db2a1ef9d5d6f493ef2381047f2b89",
"type": "github" "type": "github"
}, },
"original": { "original": {
@ -21,28 +21,28 @@
"base16-fish": { "base16-fish": {
"flake": false, "flake": false,
"locked": { "locked": {
"lastModified": 1765809053, "lastModified": 1754405784,
"narHash": "sha256-XCUQLoLfBJ8saWms2HCIj4NEN+xNsWBlU1NrEPcQG4s=", "narHash": "sha256-l9xHIy+85FN+bEo6yquq2IjD1rSg9fjfjpyGP1W8YXo=",
"owner": "tomyun", "owner": "tomyun",
"repo": "base16-fish", "repo": "base16-fish",
"rev": "86cbea4dca62e08fb7fd83a70e96472f92574782", "rev": "23ae20a0093dca0d7b39d76ba2401af0ccf9c561",
"type": "github" "type": "github"
}, },
"original": { "original": {
"owner": "tomyun", "owner": "tomyun",
"repo": "base16-fish", "repo": "base16-fish",
"rev": "86cbea4dca62e08fb7fd83a70e96472f92574782", "rev": "23ae20a0093dca0d7b39d76ba2401af0ccf9c561",
"type": "github" "type": "github"
} }
}, },
"base16-helix": { "base16-helix": {
"flake": false, "flake": false,
"locked": { "locked": {
"lastModified": 1760703920, "lastModified": 1748408240,
"narHash": "sha256-m82fGUYns4uHd+ZTdoLX2vlHikzwzdu2s2rYM2bNwzw=", "narHash": "sha256-9M2b1rMyMzJK0eusea0x3lyh3mu5nMeEDSc4RZkGm+g=",
"owner": "tinted-theming", "owner": "tinted-theming",
"repo": "base16-helix", "repo": "base16-helix",
"rev": "d646af9b7d14bff08824538164af99d0c521b185", "rev": "6c711ab1a9db6f51e2f6887cc3345530b33e152e",
"type": "github" "type": "github"
}, },
"original": { "original": {
@ -79,11 +79,11 @@
] ]
}, },
"locked": { "locked": {
"lastModified": 1765831383, "lastModified": 1760299432,
"narHash": "sha256-P5F/VPjjGw7s0AOTPb3z3gxqtH0YkAnd/c9P6QdWrEU=", "narHash": "sha256-OEsLiZvC+WOssGIzUx0miuKsODlp7IGax8XVhNCw8wY=",
"owner": "HeitorAugustoLN", "owner": "HeitorAugustoLN",
"repo": "cosmic-manager", "repo": "cosmic-manager",
"rev": "819d4d21fb90460dd11416d81d2cff65a53b8a59", "rev": "a61b25313a83d32de4769fbb4026d93bde00b256",
"type": "github" "type": "github"
}, },
"original": { "original": {
@ -95,11 +95,11 @@
"firefox-gnome-theme": { "firefox-gnome-theme": {
"flake": false, "flake": false,
"locked": { "locked": {
"lastModified": 1764724327, "lastModified": 1748383148,
"narHash": "sha256-OkFLrD3pFR952TrjQi1+Vdj604KLcMnkpa7lkW7XskI=", "narHash": "sha256-pGvD/RGuuPf/4oogsfeRaeMm6ipUIznI2QSILKjKzeA=",
"owner": "rafaelmardojai", "owner": "rafaelmardojai",
"repo": "firefox-gnome-theme", "repo": "firefox-gnome-theme",
"rev": "66b7c635763d8e6eb86bd766de5a1e1fbfcc1047", "rev": "4eb2714fbed2b80e234312611a947d6cb7d70caf",
"type": "github" "type": "github"
}, },
"original": { "original": {
@ -137,11 +137,11 @@
] ]
}, },
"locked": { "locked": {
"lastModified": 1765835352, "lastModified": 1759362264,
"narHash": "sha256-XswHlK/Qtjasvhd1nOa1e8MgZ8GS//jBoTqWtrS1Giw=", "narHash": "sha256-wfG0S7pltlYyZTM+qqlhJ7GMw2fTF4mLKCIVhLii/4M=",
"owner": "hercules-ci", "owner": "hercules-ci",
"repo": "flake-parts", "repo": "flake-parts",
"rev": "a34fae9c08a15ad73f295041fec82323541400a9", "rev": "758cf7296bee11f1706a574c77d072b8a7baa881",
"type": "github" "type": "github"
}, },
"original": { "original": {
@ -158,11 +158,11 @@
] ]
}, },
"locked": { "locked": {
"lastModified": 1763759067, "lastModified": 1749398372,
"narHash": "sha256-LlLt2Jo/gMNYAwOgdRQBrsRoOz7BPRkzvNaI/fzXi2Q=", "narHash": "sha256-tYBdgS56eXYaWVW3fsnPQ/nFlgWi/Z2Ymhyu21zVM98=",
"owner": "hercules-ci", "owner": "hercules-ci",
"repo": "flake-parts", "repo": "flake-parts",
"rev": "2cccadc7357c0ba201788ae99c4dfa90728ef5e0", "rev": "9305fe4e5c2a6fcf5ba6a3ff155720fbe4076569",
"type": "github" "type": "github"
}, },
"original": { "original": {
@ -208,20 +208,18 @@
"gnome-shell": { "gnome-shell": {
"flake": false, "flake": false,
"locked": { "locked": {
"host": "gitlab.gnome.org", "lastModified": 1744584021,
"lastModified": 1764524476, "narHash": "sha256-0RJ4mJzf+klKF4Fuoc8VN8dpQQtZnKksFmR2jhWE1Ew=",
"narHash": "sha256-bTmNn3Q4tMQ0J/P0O5BfTQwqEnCiQIzOGef9/aqAZvk=",
"owner": "GNOME", "owner": "GNOME",
"repo": "gnome-shell", "repo": "gnome-shell",
"rev": "c0e1ad9f0f703fd0519033b8f46c3267aab51a22", "rev": "52c517c8f6c199a1d6f5118fae500ef69ea845ae",
"type": "gitlab" "type": "github"
}, },
"original": { "original": {
"host": "gitlab.gnome.org",
"owner": "GNOME", "owner": "GNOME",
"ref": "gnome-49", "ref": "48.1",
"repo": "gnome-shell", "repo": "gnome-shell",
"type": "gitlab" "type": "github"
} }
}, },
"home-manager": { "home-manager": {
@ -231,16 +229,16 @@
] ]
}, },
"locked": { "locked": {
"lastModified": 1767280655, "lastModified": 1758463745,
"narHash": "sha256-YmaYMduV5ko8zURUT1VLGDbVC1L/bxHS0NsiPoZ6bBM=", "narHash": "sha256-uhzsV0Q0I9j2y/rfweWeGif5AWe0MGrgZ/3TjpDYdGA=",
"owner": "nix-community", "owner": "nix-community",
"repo": "home-manager", "repo": "home-manager",
"rev": "d49d2543f02dbd789ed032188c84570d929223cb", "rev": "3b955f5f0a942f9f60cdc9cacb7844335d0f21c3",
"type": "github" "type": "github"
}, },
"original": { "original": {
"owner": "nix-community", "owner": "nix-community",
"ref": "release-25.11", "ref": "release-25.05",
"repo": "home-manager", "repo": "home-manager",
"type": "github" "type": "github"
} }
@ -278,11 +276,11 @@
"nixpkgs": "nixpkgs" "nixpkgs": "nixpkgs"
}, },
"locked": { "locked": {
"lastModified": 1764554060, "lastModified": 1756852730,
"narHash": "sha256-vewrwjGqublgja1bvlIybRnlltKHLNlnP7WYDg+9h1Y=", "narHash": "sha256-qPere4RBHoZxiEGl8zXU8gjroZg4gkYGEwaAbKmL4vE=",
"owner": "musnix", "owner": "musnix",
"repo": "musnix", "repo": "musnix",
"rev": "599562080b2901046829ca69e0d1461041d27b32", "rev": "7ccc92050e43dc92309396c6f2fe1f542214a242",
"type": "github" "type": "github"
}, },
"original": { "original": {
@ -303,11 +301,11 @@
"xwayland-satellite-unstable": "xwayland-satellite-unstable" "xwayland-satellite-unstable": "xwayland-satellite-unstable"
}, },
"locked": { "locked": {
"lastModified": 1767257541, "lastModified": 1761187190,
"narHash": "sha256-eAZD0o5eC85jES3k8S0e1NlJJv+rTgofhl0QajhFjyM=", "narHash": "sha256-5ln16iOeWpEX5MO7M3jzFEBNFE42gpFsCvSvPjtF6tQ=",
"owner": "sodiboo", "owner": "sodiboo",
"repo": "niri-flake", "repo": "niri-flake",
"rev": "0eb70f38f02923ff59743a0978fed88f04c98c7d", "rev": "77a07f5d3b775fba67550c38122ebb8d3ee3ba1c",
"type": "github" "type": "github"
}, },
"original": { "original": {
@ -336,11 +334,11 @@
"niri-unstable": { "niri-unstable": {
"flake": false, "flake": false,
"locked": { "locked": {
"lastModified": 1767160009, "lastModified": 1760940149,
"narHash": "sha256-aTj88rDBdhmzaGXoFPOsHjXYM2OjNttixsGftT/X0dI=", "narHash": "sha256-KbM47vD6E0cx+v4jYQZ8mD5N186AKm2CQlyh34TW58U=",
"owner": "YaLTeR", "owner": "YaLTeR",
"repo": "niri", "repo": "niri",
"rev": "cf0b4bc0ca93ab5c18b562ada1d8609b67b3c4e3", "rev": "b3245b81a6ed8edfaf5388a74d2e0a23c24941e5",
"type": "github" "type": "github"
}, },
"original": { "original": {
@ -351,11 +349,11 @@
}, },
"nixpkgs": { "nixpkgs": {
"locked": { "locked": {
"lastModified": 1764242076, "lastModified": 1756542300,
"narHash": "sha256-sKoIWfnijJ0+9e4wRvIgm/HgE27bzwQxcEmo2J/gNpI=", "narHash": "sha256-tlOn88coG5fzdyqz6R93SQL5Gpq+m/DsWpekNFhqPQk=",
"owner": "NixOS", "owner": "NixOS",
"repo": "nixpkgs", "repo": "nixpkgs",
"rev": "2fad6eac6077f03fe109c4d4eb171cf96791faa4", "rev": "d7600c775f877cd87b4f5a831c28aa94137377aa",
"type": "github" "type": "github"
}, },
"original": { "original": {
@ -367,42 +365,42 @@
}, },
"nixpkgs-stable": { "nixpkgs-stable": {
"locked": { "locked": {
"lastModified": 1767047869, "lastModified": 1761016216,
"narHash": "sha256-tzYsEzXEVa7op1LTnrLSiPGrcCY6948iD0EcNLWcmzo=", "narHash": "sha256-G/iC4t/9j/52i/nm+0/4ybBmAF4hzR8CNHC75qEhjHo=",
"owner": "NixOS", "owner": "NixOS",
"repo": "nixpkgs", "repo": "nixpkgs",
"rev": "89dbf01df72eb5ebe3b24a86334b12c27d68016a", "rev": "481cf557888e05d3128a76f14c76397b7d7cc869",
"type": "github" "type": "github"
}, },
"original": { "original": {
"owner": "NixOS", "owner": "NixOS",
"ref": "nixos-25.11", "ref": "nixos-25.05",
"repo": "nixpkgs", "repo": "nixpkgs",
"type": "github" "type": "github"
} }
}, },
"nixpkgs_2": { "nixpkgs_2": {
"locked": { "locked": {
"lastModified": 1767047869, "lastModified": 1761016216,
"narHash": "sha256-tzYsEzXEVa7op1LTnrLSiPGrcCY6948iD0EcNLWcmzo=", "narHash": "sha256-G/iC4t/9j/52i/nm+0/4ybBmAF4hzR8CNHC75qEhjHo=",
"owner": "NixOS", "owner": "NixOS",
"repo": "nixpkgs", "repo": "nixpkgs",
"rev": "89dbf01df72eb5ebe3b24a86334b12c27d68016a", "rev": "481cf557888e05d3128a76f14c76397b7d7cc869",
"type": "github" "type": "github"
}, },
"original": { "original": {
"id": "nixpkgs", "id": "nixpkgs",
"ref": "nixos-25.11", "ref": "nixos-25.05",
"type": "indirect" "type": "indirect"
} }
}, },
"nixpkgs_3": { "nixpkgs_3": {
"locked": { "locked": {
"lastModified": 1766070988, "lastModified": 1761114652,
"narHash": "sha256-G/WVghka6c4bAzMhTwT2vjLccg/awmHkdKSd2JrycLc=", "narHash": "sha256-f/QCJM/YhrV/lavyCVz8iU3rlZun6d+dAiC3H+CDle4=",
"owner": "nixos", "owner": "nixos",
"repo": "nixpkgs", "repo": "nixpkgs",
"rev": "c6245e83d836d0433170a16eb185cefe0572f8b8", "rev": "01f116e4df6a15f4ccdffb1bcd41096869fb385c",
"type": "github" "type": "github"
}, },
"original": { "original": {
@ -422,16 +420,16 @@
"systems": "systems_2" "systems": "systems_2"
}, },
"locked": { "locked": {
"lastModified": 1766849711, "lastModified": 1760795571,
"narHash": "sha256-gtLBwhgjERca1UCzGkFplD5epIVRiNkePHVVtyFr73g=", "narHash": "sha256-gi+tWWAknKuTNso3yMeKsT9nj0jx+tuYF7g7nmLUWT8=",
"owner": "nix-community", "owner": "nix-community",
"repo": "nixvim", "repo": "nixvim",
"rev": "cae79c48e93bd61e478dfc12456bf68b1ce66074", "rev": "6c945865ba5de87fa2d0dd8a0e66ca572ddf9043",
"type": "github" "type": "github"
}, },
"original": { "original": {
"owner": "nix-community", "owner": "nix-community",
"ref": "nixos-25.11", "ref": "nixos-25.05",
"repo": "nixvim", "repo": "nixvim",
"type": "github" "type": "github"
} }
@ -445,14 +443,15 @@
"nixpkgs": [ "nixpkgs": [
"stylix", "stylix",
"nixpkgs" "nixpkgs"
] ],
"treefmt-nix": "treefmt-nix"
}, },
"locked": { "locked": {
"lastModified": 1764773531, "lastModified": 1751320053,
"narHash": "sha256-mCBl7MD1WZ7yCG6bR9MmpPO2VydpNkWFgnslJRIT1YU=", "narHash": "sha256-3m6RMw0FbbaUUa01PNaMLoO7D99aBClmY5ed9V3vz+0=",
"owner": "nix-community", "owner": "nix-community",
"repo": "NUR", "repo": "NUR",
"rev": "1d9616689e98beded059ad0384b9951e967a17fa", "rev": "cbde1735782f9c2bb2c63d5e05fba171a14a4670",
"type": "github" "type": "github"
}, },
"original": { "original": {
@ -471,11 +470,11 @@
] ]
}, },
"locked": { "locked": {
"lastModified": 1761730856, "lastModified": 1760652422,
"narHash": "sha256-t1i5p/vSWwueZSC0Z2BImxx3BjoUDNKyC2mk24krcMY=", "narHash": "sha256-C88Pgz38QIl9JxQceexqL2G7sw9vodHWx1Uaq+NRJrw=",
"owner": "NuschtOS", "owner": "NuschtOS",
"repo": "search", "repo": "search",
"rev": "e29de6db0cb3182e9aee75a3b1fd1919d995d85b", "rev": "3ebeebe8b6a49dfb11f771f761e0310f7c48d726",
"type": "github" "type": "github"
}, },
"original": { "original": {
@ -504,11 +503,11 @@
] ]
}, },
"locked": { "locked": {
"lastModified": 1766894905, "lastModified": 1760998189,
"narHash": "sha256-pn8AxxfajqyR/Dmr1wnZYdUXHgM3u6z9x0Z1Ijmz2UQ=", "narHash": "sha256-ee2e1/AeGL5X8oy/HXsZQvZnae6XfEVdstGopKucYLY=",
"owner": "Mic92", "owner": "Mic92",
"repo": "sops-nix", "repo": "sops-nix",
"rev": "61b39c7b657081c2adc91b75dd3ad8a91d6f07a7", "rev": "5a7d18b5c55642df5c432aadb757140edfeb70b3",
"type": "github" "type": "github"
}, },
"original": { "original": {
@ -538,16 +537,16 @@
"tinted-zed": "tinted-zed" "tinted-zed": "tinted-zed"
}, },
"locked": { "locked": {
"lastModified": 1766603740, "lastModified": 1760478648,
"narHash": "sha256-F0BovrhzY/siRQYBRUFn2sZH7TJEuwetOJiGgKtITjk=", "narHash": "sha256-Y4l+Y3zUvqIDbyLrtOrzNvp1o50Fp9TYK+iwtwweFU4=",
"owner": "danth", "owner": "danth",
"repo": "stylix", "repo": "stylix",
"rev": "cfe89cabaae6ea1bbf80709bd53181494566a1b0", "rev": "1ec254101285777db13922303cc47ded06e10bb3",
"type": "github" "type": "github"
}, },
"original": { "original": {
"owner": "danth", "owner": "danth",
"ref": "release-25.11", "ref": "release-25.05",
"repo": "stylix", "repo": "stylix",
"type": "github" "type": "github"
} }
@ -633,11 +632,11 @@
"tinted-schemes": { "tinted-schemes": {
"flake": false, "flake": false,
"locked": { "locked": {
"lastModified": 1763914658, "lastModified": 1750770351,
"narHash": "sha256-Hju0WtMf3iForxtOwXqGp3Ynipo0EYx1AqMKLPp9BJw=", "narHash": "sha256-LI+BnRoFNRa2ffbe3dcuIRYAUcGklBx0+EcFxlHj0SY=",
"owner": "tinted-theming", "owner": "tinted-theming",
"repo": "schemes", "repo": "schemes",
"rev": "0f6be815d258e435c9b137befe5ef4ff24bea32c", "rev": "5a775c6ffd6e6125947b393872cde95867d85a2a",
"type": "github" "type": "github"
}, },
"original": { "original": {
@ -649,11 +648,11 @@
"tinted-tmux": { "tinted-tmux": {
"flake": false, "flake": false,
"locked": { "locked": {
"lastModified": 1764465359, "lastModified": 1751159871,
"narHash": "sha256-lbSVPqLEk2SqMrnpvWuKYGCaAlfWFMA6MVmcOFJjdjE=", "narHash": "sha256-UOHBN1fgHIEzvPmdNMHaDvdRMgLmEJh2hNmDrp3d3LE=",
"owner": "tinted-theming", "owner": "tinted-theming",
"repo": "tinted-tmux", "repo": "tinted-tmux",
"rev": "edf89a780e239263cc691a987721f786ddc4f6aa", "rev": "bded5e24407cec9d01bd47a317d15b9223a1546c",
"type": "github" "type": "github"
}, },
"original": { "original": {
@ -665,11 +664,11 @@
"tinted-zed": { "tinted-zed": {
"flake": false, "flake": false,
"locked": { "locked": {
"lastModified": 1764464512, "lastModified": 1751158968,
"narHash": "sha256-rCD/pAhkMdCx6blsFwxIyvBJbPZZ1oL2sVFrH07lmqg=", "narHash": "sha256-ksOyv7D3SRRtebpXxgpG4TK8gZSKFc4TIZpR+C98jX8=",
"owner": "tinted-theming", "owner": "tinted-theming",
"repo": "base16-zed", "repo": "base16-zed",
"rev": "907dbba5fb8cf69ebfd90b00813418a412d0a29a", "rev": "86a470d94204f7652b906ab0d378e4231a5b3384",
"type": "github" "type": "github"
}, },
"original": { "original": {
@ -678,6 +677,28 @@
"type": "github" "type": "github"
} }
}, },
"treefmt-nix": {
"inputs": {
"nixpkgs": [
"stylix",
"nur",
"nixpkgs"
]
},
"locked": {
"lastModified": 1733222881,
"narHash": "sha256-JIPcz1PrpXUCbaccEnrcUS8jjEb/1vJbZz5KkobyFdM=",
"owner": "numtide",
"repo": "treefmt-nix",
"rev": "49717b5af6f80172275d47a418c9719a31a78b53",
"type": "github"
},
"original": {
"owner": "numtide",
"repo": "treefmt-nix",
"type": "github"
}
},
"xwayland-satellite-stable": { "xwayland-satellite-stable": {
"flake": false, "flake": false,
"locked": { "locked": {
@ -698,11 +719,11 @@
"xwayland-satellite-unstable": { "xwayland-satellite-unstable": {
"flake": false, "flake": false,
"locked": { "locked": {
"lastModified": 1766429945, "lastModified": 1761173223,
"narHash": "sha256-9Kv4gWagx/u4RfZJzBMAoagW9ava5waxd+XoTkzqF7E=", "narHash": "sha256-FumZh+fPRaKXkl9Y1uTh5KV7Io/AyOZso+UkqLhLArs=",
"owner": "Supreeeme", "owner": "Supreeeme",
"repo": "xwayland-satellite", "repo": "xwayland-satellite",
"rev": "0dde7ca1d3a8e8c5082533d76084e2aa02bef70e", "rev": "bf745144acda1343934e9a094cf9458a54d57889",
"type": "github" "type": "github"
}, },
"original": { "original": {
@ -716,11 +737,11 @@
"nixpkgs": "nixpkgs_3" "nixpkgs": "nixpkgs_3"
}, },
"locked": { "locked": {
"lastModified": 1767307876, "lastModified": 1761192367,
"narHash": "sha256-d5EKvUnfr6tdhymIThz0WGG0JHT2cCZzbZK4t2CwYuc=", "narHash": "sha256-HdAtNWms1rrswlfuX5NUR9RYCMLUJHEzF986hQ0tUCw=",
"owner": "youwen5", "owner": "youwen5",
"repo": "zen-browser-flake", "repo": "zen-browser-flake",
"rev": "c5bffaf433e6137fe80cd1930584836f11119b26", "rev": "1ce32754f78d1d7d6bf9cb44a48a06dac8bb6785",
"type": "github" "type": "github"
}, },
"original": { "original": {

View file

@ -1,14 +1,14 @@
{ {
description = "A flake using my config"; description = "A flake using my config";
inputs = { inputs = {
nixpkgs.url = "nixpkgs/nixos-25.11"; nixpkgs.url = "nixpkgs/nixos-25.05";
musnix.url = "github:musnix/musnix"; musnix.url = "github:musnix/musnix";
home-manager = { home-manager = {
url = "github:nix-community/home-manager/release-25.11"; url = "github:nix-community/home-manager/release-25.05";
inputs.nixpkgs.follows = "nixpkgs"; inputs.nixpkgs.follows = "nixpkgs";
}; };
stylix = { stylix = {
url = "github:danth/stylix/release-25.11"; url = "github:danth/stylix/release-25.05";
inputs.nixpkgs.follows = "nixpkgs"; inputs.nixpkgs.follows = "nixpkgs";
}; };
sops-nix = { sops-nix = {
@ -16,7 +16,7 @@
inputs.nixpkgs.follows = "nixpkgs"; inputs.nixpkgs.follows = "nixpkgs";
}; };
nixvim = { nixvim = {
url = "github:nix-community/nixvim/nixos-25.11"; url = "github:nix-community/nixvim/nixos-25.05";
inputs.nixpkgs.follows = "nixpkgs"; inputs.nixpkgs.follows = "nixpkgs";
}; };
zen-browser = { zen-browser = {
@ -49,7 +49,7 @@
zenix = mkConf { zenix = mkConf {
nixos-modules = [ nixos-modules = [
./hardware/zenix.nix ./hardware/zenix.nix
./nixos/programs/hyprland.nix ./nixos/programs/niri.nix
./nixos/programs/gamer.nix ./nixos/programs/gamer.nix
./nixos/programs/personal.nix ./nixos/programs/personal.nix
./nixos/services/musnix.nix ./nixos/services/musnix.nix
@ -67,11 +67,13 @@
./hardware/framework-13.nix ./hardware/framework-13.nix
./nixos/workstation.nix ./nixos/workstation.nix
./nixos/modules/work.nix ./nixos/modules/work.nix
./nixos/programs/cosmic.nix
./nixos/programs/niri.nix ./nixos/programs/niri.nix
]; ];
home-modules = [ home-modules = [
./home/programs/work.nix ./home/programs/work.nix
./home/programs/graphical.nix ./home/programs/graphical.nix
./home/desktop/cosmic/.
]; ];
}; };

View file

@ -57,8 +57,6 @@
networking.hostName = "framework-13"; networking.hostName = "framework-13";
services.hardware.bolt.enable = true;
system.stateVersion = "24.11"; # do not change system.stateVersion = "24.11"; # do not change
home-manager.users.${config.user}.imports = [ home-manager.users.${config.user}.imports = [
{ {
@ -79,41 +77,6 @@
} }
''; '';
}; };
programs.niri.settings.outputs = {
# Laptop display
"eDP-1" = {
mode = {
width = 2256;
height = 1504;
refresh = 59.999;
};
};
"HP Inc. HP 24x 1CR9500W9Q" = {
mode = {
width = 1920;
height = 1080;
refresh = 144.001;
};
scale = 1.0;
position = {
x = 2256;
y = 0;
};
};
"Ancor Communications Inc ASUS VS228 F3LMTF154813" = {
mode = {
width = 1920;
height = 1080;
refresh = 60.0;
};
scale = 1.0;
position = {
x = 2256 + 1920;
y = 0;
};
};
};
} }
]; ];

View file

@ -68,6 +68,10 @@
hardware.amdgpu = { hardware.amdgpu = {
opencl.enable = true; opencl.enable = true;
amdvlk = {
enable = true;
support32Bit.enable = true;
};
}; };
networking.hostName = "zenix"; networking.hostName = "zenix";
@ -81,26 +85,26 @@
home-manager.users.${user}.imports = [ home-manager.users.${user}.imports = [
{ {
home.stateVersion = "22.05"; home.stateVersion = "22.05";
# programs.niri.settings = { programs.niri.settings = {
# outputs."HP Inc. HP 24x 1CR9500W9Q" = { outputs."HP Inc. HP 24x 1CR9500W9Q" = {
# mode = { mode = {
# width = 1920; width = 1920;
# height = 1080; height = 1080;
# refresh = 143.855; refresh = 143.855;
# }; };
# variable-refresh-rate = true; variable-refresh-rate = true;
# scale = 1.0; scale = 1.0;
# }; };
# outputs."HDMI-A-1" = { outputs."HDMI-A-1" = {
# mode = { mode = {
# width = 3840; width = 3840;
# height = 2160; height = 2160;
# refresh = 120.0; refresh = 120.0;
# }; };
# variable-refresh-rate = true; variable-refresh-rate = true;
# scale = 2.5; scale = 2.5;
# }; };
# }; };
} }
]; ];
} }

View file

@ -29,7 +29,7 @@
mosh mosh
ripgrep ripgrep
usbutils usbutils
dust du-dust
htop htop
btop btop
libsixel libsixel

View file

@ -33,10 +33,11 @@ in {
scroll_factor = 0.5; scroll_factor = 0.5;
}; };
kb_options = lib.mkDefault "caps:escape"; kb_options = lib.mkDefault "caps:escape";
kb_layout = lib.mkDefault "us"; kb_layout = lib.mkDefault "gb";
kb_variant = lib.mkDefault "dvorak";
numlock_by_default = true; numlock_by_default = true;
accel_profile = "flat"; };
gestures = {
workspace_swipe = true;
}; };
decoration = { decoration = {
rounding = 0; rounding = 0;

View file

@ -42,12 +42,17 @@
on-click = "pwvucontrol"; on-click = "pwvucontrol";
}; };
mpris = { mpris = {
format = " {title}"; format = "{player_icon} {title}";
format-paused = " {title}"; format-paused = " {player_icon} {title}";
player-icons = {
default = "";
mpd = "🎵";
kdeconnect = "";
};
}; };
battery = { battery = {
format = "{icon} {capacity}%"; format = "{icon} {capacity}%";
format-icons = ["🪫" "🔋" "🔋"]; format-icons = ["🤏" "🪫" "🔋" "🔋"];
format-charging = "🔌 {capacity}%"; format-charging = "🔌 {capacity}%";
states = { states = {
warning = 30; warning = 30;

View file

@ -35,9 +35,9 @@ in {
} }
]; ];
programs.git.settings.user = { programs.git = {
name = config.home.userFullname; userName = config.home.userFullname;
email = cfg.email; userEmail = cfg.email;
}; };
accounts.email.accounts.${cfg.email} = lib.mkIf cfg.terminal { accounts.email.accounts.${cfg.email} = lib.mkIf cfg.terminal {

View file

@ -2,7 +2,7 @@
home.packages = with pkgs; [ home.packages = with pkgs; [
# Games # Games
airshipper airshipper
luanti minetest
superTuxKart superTuxKart
xonotic xonotic

View file

@ -6,11 +6,11 @@
}: { }: {
programs.git = { programs.git = {
enable = true; enable = true;
settings = { extraConfig = {
rerere.enabled = true; rerere.enabled = true;
rebase.updateRefs = true; rebase.updateRefs = true;
}; };
settings.aliases = { aliases = {
ui = "!lazygit"; ui = "!lazygit";
graph = "log --oneline --all --graph"; graph = "log --oneline --all --graph";
amend = "commit --amend --no-edit"; amend = "commit --amend --no-edit";
@ -44,8 +44,10 @@
git fetch origin $opts git fetch origin $opts
''}/bin/bare-clone"; ''}/bin/bare-clone";
}; };
difftastic = {
enable = true;
};
}; };
programs.difftastic = {enable = true;};
programs.lazygit = { programs.lazygit = {
enable = true; enable = true;

View file

@ -28,7 +28,7 @@
# other # other
element-desktop element-desktop
bitwarden-desktop bitwarden
inputs.zen-browser.packages.x86_64-linux.default inputs.zen-browser.packages.x86_64-linux.default
]; ];
@ -67,4 +67,12 @@
]; ];
}; };
programs.zed-editor = {
enable = true;
extensions = ["tsgo" "nix" "ansible" "helm"];
userSettings = {
vim_mode = true;
};
extraPackages = [pkgs.nixd pkgs.vtsls];
};
} }

View file

@ -38,6 +38,7 @@
krita krita
organicmaps organicmaps
anki anki
bookworm
jellyfin-mpv-shim jellyfin-mpv-shim
]; ];
} }

View file

@ -1,7 +1,6 @@
{ {
config, config,
pkgs, pkgs,
lib,
... ...
}: let }: let
modifier = config.windowManager.modifierKey; modifier = config.windowManager.modifierKey;
@ -14,7 +13,7 @@ in {
email = "tristan.beedell@cryoserver.com"; email = "tristan.beedell@cryoserver.com";
terminal = false; terminal = false;
}; };
programs.git.settings.extraConfig = { programs.git.extraConfig = {
"includeIf \"gitdir:~/Documents/personal/\"" = { "includeIf \"gitdir:~/Documents/personal/\"" = {
path = "~/Documents/personal/.gitconfig"; path = "~/Documents/personal/.gitconfig";
}; };
@ -44,8 +43,13 @@ in {
home.sessionVariables = { home.sessionVariables = {
CYPRESS_INSTALL_BINARY = 0; CYPRESS_INSTALL_BINARY = 0;
CYPRESS_RUN_BINARY = "${pkgs.cypress}/bin/Cypress"; CYPRESS_RUN_BINARY = "${pkgs.cypress}/bin/Cypress";
MONGOMS_SYSTEM_BINARY = "${pkgs.callPackage ../../pkgs/mongodb.nix pkgs}/bin/mongod";
}; };
gtk.gtk3.bookmarks = [
"file:///home/tristan/OneDrive/ OneDrive"
];
programs.vscode = { programs.vscode = {
package = pkgs.vscode; package = pkgs.vscode;
profiles.default.extensions = with pkgs; [ profiles.default.extensions = with pkgs; [

View file

@ -7,7 +7,7 @@
programs.starship.enable = true; programs.starship.enable = true;
programs.zsh = { programs.zsh = {
enable = true; enable = true;
dotDir = "${config.xdg.configHome}/zsh"; dotDir = ".config/zsh";
history = { history = {
path = "${config.xdg.dataHome}/zsh/zsh_history"; path = "${config.xdg.dataHome}/zsh/zsh_history";
}; };

View file

@ -28,6 +28,7 @@
playerctl playerctl
quickemu quickemu
devenv devenv
bottles
]; ];
services.udiskie = { services.udiskie = {

View file

@ -30,7 +30,7 @@ in
users.${user}.imports = users.${user}.imports =
home-modules home-modules
++ [ ++ [
nixvim.homeModules.nixvim nixvim.homeManagerModules.nixvim
../home/. ../home/.
{ {
options.home.userFullname = nixpkgs.lib.mkOption {default = userFullname;}; options.home.userFullname = nixpkgs.lib.mkOption {default = userFullname;};

View file

@ -294,6 +294,7 @@ in {
}; };
yamlls.enable = true; yamlls.enable = true;
gopls.enable = true; gopls.enable = true;
ansiblels.enable = true;
}; };
keymaps = { keymaps = {
lspBuf = { lspBuf = {
@ -358,6 +359,27 @@ in {
enable = true; enable = true;
folding = true; folding = true;
}; };
treesitter-textobjects = {
enable = true;
select = {
enable = true;
lookahead = true;
keymaps = {
"af" = {
query = "@function.outer";
desc = "Function Outer";
};
"ac" = {
query = "@comment.outer";
desc = "Comment Outer";
};
"if" = {
query = "@function.inner";
desc = "Function Inner";
};
};
};
};
oil = { oil = {
enable = true; enable = true;

View file

@ -11,10 +11,11 @@ in {
"vscode" "vscode"
"steam-run" "steam-run"
"postman" "postman"
"drawio" "drawio" # the creator had a hissyfit over a negative review: https://github.com/jgraph/drawio/discussions/4623
]; ];
nixpkgs.config.permittedInsecurePackages = [ nixpkgs.config.permittedInsecurePackages = [
"openssl-1.1.1w" # required for mongodb
"electron-27.3.11" "electron-27.3.11"
]; ];
@ -29,6 +30,8 @@ in {
nixpkgs.overlays = [(import ../../lib/cypress.nix)]; nixpkgs.overlays = [(import ../../lib/cypress.nix)];
services.onedrive.enable = true;
users.users.${user}.extraGroups = ["docker"]; users.users.${user}.extraGroups = ["docker"];
virtualisation.docker = { virtualisation.docker = {
enable = true; enable = true;

View file

@ -1,4 +1,4 @@
{pkgs, ...}: { {...}: {
allowUnfreePkgNames = [ allowUnfreePkgNames = [
"steam" "steam"
"steam-unwrapped" "steam-unwrapped"
@ -27,15 +27,4 @@
capSysNice = true; capSysNice = true;
}; };
programs.gamemode.enable = true; programs.gamemode.enable = true;
nixpkgs.config.permittedInsecurePackages = [
"mbedtls-2.28.10"
];
services.xserver.desktopManager.retroarch = {
enable = true;
package = pkgs.retroarch.withCores (cores:
with cores; [
bsnes
beetle-psx-hw
]);
};
} }

View file

@ -1,4 +1,4 @@
{pkgs, ...}: { {...}: {
i18n.supportedLocales = [ i18n.supportedLocales = [
"eo/UTF-8" "eo/UTF-8"
"en_GB.UTF-8/UTF-8" "en_GB.UTF-8/UTF-8"
@ -9,8 +9,4 @@
enable = true; enable = true;
}; };
}; };
environment.systemPackages = with pkgs; [
warpinator
];
networking.firewall.allowedTCPPorts = [42000 42001];
} }

View file

@ -10,7 +10,7 @@
}; };
authentik-config = { authentik-config = {
autoStart = true; autoStart = true;
image = "ghcr.io/goauthentik/server:2025.8.4"; image = "ghcr.io/goauthentik/server:2025.6.3";
volumes = ["/home/tristan/pods/authentik/media:/media"]; volumes = ["/home/tristan/pods/authentik/media:/media"];
environment = { environment = {
AUTHENTIK_POSTGRESQL__USER = postgres.user; AUTHENTIK_POSTGRESQL__USER = postgres.user;

View file

@ -1,27 +1,15 @@
{ {config, lib, pkgs, ...}: let
config,
lib,
pkgs,
...
}: let
cfg = config.services.grafana; cfg = config.services.grafana;
secrets = config.sops.secrets; secrets = config.sops.secrets;
mkDashboards = dashboards: mkDashboards = dashboards: pkgs.symlinkJoin {
pkgs.symlinkJoin { name = "dashboards";
name = "dashboards"; paths = map mkDashboard dashboards;
paths = map mkDashboard dashboards; };
}; mkDashboard = {name, url, sha256, patch ? lib.id}: pkgs.writeTextFile {
mkDashboard = { inherit name;
name, text = patch (builtins.readFile ( builtins.fetchurl {inherit url sha256;} ));
url, destination = "/dash/${name}.json";
sha256, };
patch ? lib.id,
}:
pkgs.writeTextFile {
inherit name;
text = patch (builtins.readFile (builtins.fetchurl {inherit url sha256;}));
destination = "/dash/${name}.json";
};
in { in {
sops.secrets."grafana/oidc_client_secret" = { sops.secrets."grafana/oidc_client_secret" = {
owner = "grafana"; owner = "grafana";
@ -46,26 +34,24 @@ in {
role_attribute_path = "contains(groups[*], 'Grafana Admins') && 'Admin' || contains(groups[*], 'Grafana Editors') && 'Editor' || 'Viewer'"; role_attribute_path = "contains(groups[*], 'Grafana Admins') && 'Admin' || contains(groups[*], 'Grafana Editors') && 'Editor' || 'Viewer'";
}; };
}; };
provision.dashboards.settings.providers = [ provision.dashboards.settings.providers = [{
name = "Node Exporter";
type = "file";
options.path = mkDashboards [
{ {
name = "Node Exporter"; name = "node-exporter";
type = "file"; url = "https://grafana.com/api/dashboards/1860/revisions/37/download";
options.path = mkDashboards [ sha256 = "sha256:0qza4j8lywrj08bqbww52dgh2p2b9rkhq5p313g72i57lrlkacfl";
{ # https://github.com/rfmoz/grafana-dashboards/issues/169
name = "node-exporter"; patch = builtins.replaceStrings ["$__rate_interval"] ["$__range"];
url = "https://grafana.com/api/dashboards/1860/revisions/37/download";
sha256 = "sha256:0qza4j8lywrj08bqbww52dgh2p2b9rkhq5p313g72i57lrlkacfl";
# https://github.com/rfmoz/grafana-dashboards/issues/169
patch = builtins.replaceStrings ["$__rate_interval"] ["$__range"];
}
{
name = "synapse";
url = "https://raw.githubusercontent.com/element-hq/synapse/refs/heads/master/contrib/grafana/synapse.json";
sha256 = "sha256:0yzj1i4zbjy9cms75ip6ad8qyjgv9kka42gxsbzyzr2syznsmqw0";
}
];
} }
]; {
name = "synapse";
url = "https://raw.githubusercontent.com/element-hq/synapse/refs/heads/master/contrib/grafana/synapse.json";
sha256 = "sha256:16fl81sx1by0wldw4vda0zr1pvbq1dpih1fikzwlvmk63mpc80kb";
}
];
}];
}; };
services.nginx.virtualHosts = { services.nginx.virtualHosts = {
${cfg.settings.server.domain} = { ${cfg.settings.server.domain} = {

View file

@ -1,11 +1,10 @@
{pkgs, ...}: { {
users.groups.media = {}; users.groups.media = {};
services.jellyfin = { services.jellyfin = {
enable = true; enable = true;
group = "media"; # access to user stuff group = "media"; # access to user stuff
openFirewall = true; openFirewall = true;
}; };
environment.variables.JELLYFIN_FFMPEG = "${pkgs.jellyfin-ffmpeg}/bin/ffmpeg";
services.nginx.virtualHosts."movies.tristans.cloud" = { services.nginx.virtualHosts."movies.tristans.cloud" = {
forceSSL = true; forceSSL = true;
enableACME = true; enableACME = true;

View file

@ -1,13 +1,10 @@
{ {config, lib, ...}: let
config,
lib,
...
}: let
inherit (import ./lib.nix) toAppRegistration; inherit (import ./lib.nix) toAppRegistration;
inherit (config.sops) templates placeholder; inherit (config.sops) templates placeholder;
in { in {
virtualisation.oci-containers.containers.mautrix-signal = { virtualisation.oci-containers.containers.mautrix-signal = {
image = "dock.mau.dev/mautrix/signal:v25.10"; image = "dock.mau.dev/mautrix/signal:v0.8.3";
dependsOn = ["mautrix-signal-psql"]; dependsOn = ["mautrix-signal-psql"];
volumes = [ volumes = [
"/home/tristan/pods/signal-bridge/mautrix-signal:/data:z" "/home/tristan/pods/signal-bridge/mautrix-signal:/data:z"
@ -18,15 +15,16 @@ in {
]; ];
}; };
# when you get around to backing this up # when you get around to backing this up
# 1. stop the server. # 1. stop the server.
# 2. backup the db. # 2. backup the db.
# 3. migrate to newer version of postgres # 3. migrate to newer version of postgres
# 4. migrate db to local # 4. migrate db to local
virtualisation.oci-containers.containers.mautrix-signal-psql = { virtualisation.oci-containers.containers.mautrix-signal-psql = {
image = "docker.io/postgres:14-alpine"; image = "docker.io/postgres:14-alpine";
ports = ["5435:5432"]; # ports = [ "127.0.0.1:5435:5432" ];
volumes = ["/home/tristan/pods/signal-bridge/db:/var/lib/postgresql/data"]; ports = [ "5435:5432" ];
volumes = [ "/home/tristan/pods/signal-bridge/db:/var/lib/postgresql/data" ];
environmentFiles = [templates."mautrix-signal/psql.env".path]; environmentFiles = [templates."mautrix-signal/psql.env".path];
}; };
sops.templates = { sops.templates = {
@ -60,4 +58,5 @@ in {
services.matrix-synapse.settings.app_service_config_files = [ services.matrix-synapse.settings.app_service_config_files = [
templates."mautrix-signal/appservice.yaml".path templates."mautrix-signal/appservice.yaml".path
]; ];
} }

View file

@ -1,4 +1,5 @@
{config, ...}: { {config, ...}:
{
nixpkgs.config.permittedInsecurePackages = [ nixpkgs.config.permittedInsecurePackages = [
"olm-3.2.16" "olm-3.2.16"
]; ];
@ -6,9 +7,9 @@
enable = true; enable = true;
registerToSynapse = true; registerToSynapse = true;
settings = { settings = {
database = { appservice.database = {
type = "sqlite3-fk-wal"; type = "sqlite3";
uri = "file:/var/lib/mautrix-whatsapp/mautrix-whatsapp.db?_txlock=immediate"; uri = "/var/lib/mautrix-whatsapp/mautrix-whatsapp.db";
}; };
homeserver = { homeserver = {
address = "http://localhost:8008"; address = "http://localhost:8008";
@ -19,13 +20,12 @@
"tristans.cloud" = "user"; "tristans.cloud" = "user";
"@tristan:tristans.cloud" = "admin"; "@tristan:tristans.cloud" = "admin";
}; };
encryption = {
allow = true;
appservice = false;
};
personal_filtering_spaces = true; personal_filtering_spaces = true;
}; };
encryption = {
allow = true;
appservice = false;
pickle_key = "maunium.net/go/mautrix-whatsapp";
};
}; };
}; };
} }

View file

@ -8,13 +8,9 @@
extraConfig = '' extraConfig = ''
prune-blockchain=1 prune-blockchain=1
confirm-external-bind=1 confirm-external-bind=1
out-peers=8 out-peers=64 # This will enable much faster sync and tx awareness; the default 8 is suboptimal nowadays
in-peers=16 in-peers=1024 # The default is unlimited; we prefer to put a cap on this
zmq-pub=tcp://localhost:18083 zmq-pub=tcp://localhost:18083
add-priority-node=p2pmd.xmrvsbeast.com:18080
add-priority-node=nodes.hashvault.pro:18080
enable-dns-blocklist=1
enforce-dns-checkpointing=1
''; '';
}; };
} }

View file

@ -3,7 +3,7 @@
nodes = [ nodes = [
"alpine" "alpine"
"100.106.49.128" # laptop "100.106.49.128" # laptop
"100.78.76.10" # gaming pc "100.65.29.110" # gaming pc
]; ];
addPort = ip: "${ip}:${toString prometheus.exporters.node.port}"; addPort = ip: "${ip}:${toString prometheus.exporters.node.port}";
in { in {
@ -68,13 +68,11 @@ in {
configuration = { configuration = {
route = { route = {
receiver = "alertmanager-ntfy"; receiver = "alertmanager-ntfy";
routes = [ routes = [{
{ matchers = [
matchers = [ ''node_filesystem_device_error != 0''
''node_filesystem_device_error != 0'' ];
]; }];
}
];
}; };
}; };
}; };

View file

@ -36,11 +36,6 @@ in {
"synapse/secrets.yaml" = { "synapse/secrets.yaml" = {
owner = "matrix-synapse"; owner = "matrix-synapse";
content = builtins.toJSON { content = builtins.toJSON {
jwt_config = {
enabled = true;
secret = sops.placeholder."synapse/oidc_client_secret";
algorithm = "RS256";
};
oidc_providers = [ oidc_providers = [
{ {
idp_id = "authentik"; idp_id = "authentik";
@ -89,21 +84,6 @@ in {
]; ];
} }
]; ];
# log_config = pkgs.writeTextFile {
# name = "synapse-logging.json";
# text = builtins.toJSON {
# version = 1;
# root = {
# level = "INFO";
# handlers = ["console"];
# };
# formatters.precise.format = "%(levelname)s - %(name)s - %(message)s";
# handlers.console = {
# class = "logging.StreamHandler";
# formatter = "precise";
# };
# };
# };
}; };
}; };

View file

@ -22,7 +22,6 @@
hardware.bluetooth.enable = true; hardware.bluetooth.enable = true;
services.blueman.enable = true; services.blueman.enable = true;
services.power-profiles-daemon.enable = true;
services.gnome.gnome-keyring.enable = true; services.gnome.gnome-keyring.enable = true;
@ -69,7 +68,7 @@
}; };
emoji = { emoji = {
package = pkgs.noto-fonts-color-emoji; package = pkgs.noto-fonts-emoji;
name = "Noto Color Emoji"; name = "Noto Color Emoji";
}; };
}; };

View file

@ -10,7 +10,7 @@ buildLua {
src = fetchgit { src = fetchgit {
url = "https://codeberg.org/ferreum/mpv-skipsilence.git"; url = "https://codeberg.org/ferreum/mpv-skipsilence.git";
hash = "sha256-XmrVZRJAQctIiuznw/fQzs+9+QKOyTnJI2JOEWBWnVA="; hash = "sha256-+sOMWFFumJUk5gFE1iCTvWub3PWzYOkulXJLCGS4fYA=";
}; };
passthru.updateScript = gitUpdater {}; passthru.updateScript = gitUpdater {};