Compare commits

..

10 commits

30 changed files with 291 additions and 270 deletions

201
flake.lock generated
View file

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

View file

@ -33,11 +33,10 @@ 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 "gb"; kb_layout = lib.mkDefault "us";
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,17 +42,12 @@
on-click = "pwvucontrol"; on-click = "pwvucontrol";
}; };
mpris = { mpris = {
format = "{player_icon} {title}"; format = " {title}";
format-paused = " {player_icon} {title}"; format-paused = " {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 = { programs.git.settings.user = {
userName = config.home.userFullname; name = config.home.userFullname;
userEmail = cfg.email; email = 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
minetest luanti
superTuxKart superTuxKart
xonotic xonotic

View file

@ -6,11 +6,11 @@
}: { }: {
programs.git = { programs.git = {
enable = true; enable = true;
extraConfig = { settings = {
rerere.enabled = true; rerere.enabled = true;
rebase.updateRefs = true; rebase.updateRefs = true;
}; };
aliases = { settings.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,10 +44,8 @@
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 bitwarden-desktop
inputs.zen-browser.packages.x86_64-linux.default inputs.zen-browser.packages.x86_64-linux.default
]; ];
@ -67,12 +67,4 @@
]; ];
}; };
programs.zed-editor = {
enable = true;
extensions = ["tsgo" "nix" "ansible" "helm"];
userSettings = {
vim_mode = true;
};
extraPackages = [pkgs.nixd pkgs.vtsls];
};
} }

View file

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

View file

@ -1,6 +1,7 @@
{ {
config, config,
pkgs, pkgs,
lib,
... ...
}: let }: let
modifier = config.windowManager.modifierKey; modifier = config.windowManager.modifierKey;
@ -13,7 +14,7 @@ in {
email = "tristan.beedell@cryoserver.com"; email = "tristan.beedell@cryoserver.com";
terminal = false; terminal = false;
}; };
programs.git.extraConfig = { programs.git.settings.extraConfig = {
"includeIf \"gitdir:~/Documents/personal/\"" = { "includeIf \"gitdir:~/Documents/personal/\"" = {
path = "~/Documents/personal/.gitconfig"; path = "~/Documents/personal/.gitconfig";
}; };
@ -43,13 +44,8 @@ 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/zsh"; dotDir = "${config.xdg.configHome}/zsh";
history = { history = {
path = "${config.xdg.dataHome}/zsh/zsh_history"; path = "${config.xdg.dataHome}/zsh/zsh_history";
}; };

View file

@ -28,7 +28,6 @@
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.homeManagerModules.nixvim nixvim.homeModules.nixvim
../home/. ../home/.
{ {
options.home.userFullname = nixpkgs.lib.mkOption {default = userFullname;}; options.home.userFullname = nixpkgs.lib.mkOption {default = userFullname;};

View file

@ -294,7 +294,6 @@ in {
}; };
yamlls.enable = true; yamlls.enable = true;
gopls.enable = true; gopls.enable = true;
ansiblels.enable = true;
}; };
keymaps = { keymaps = {
lspBuf = { lspBuf = {
@ -359,27 +358,6 @@ 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,11 +11,10 @@ in {
"vscode" "vscode"
"steam-run" "steam-run"
"postman" "postman"
"drawio" # the creator had a hissyfit over a negative review: https://github.com/jgraph/drawio/discussions/4623 "drawio"
]; ];
nixpkgs.config.permittedInsecurePackages = [ nixpkgs.config.permittedInsecurePackages = [
"openssl-1.1.1w" # required for mongodb
"electron-27.3.11" "electron-27.3.11"
]; ];
@ -30,8 +29,6 @@ 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,4 +27,15 @@
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,4 +9,8 @@
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.6.3"; image = "ghcr.io/goauthentik/server:2025.8.4";
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,11 +1,23 @@
{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: pkgs.symlinkJoin { mkDashboards = dashboards:
pkgs.symlinkJoin {
name = "dashboards"; name = "dashboards";
paths = map mkDashboard dashboards; paths = map mkDashboard dashboards;
}; };
mkDashboard = {name, url, sha256, patch ? lib.id}: pkgs.writeTextFile { mkDashboard = {
name,
url,
sha256,
patch ? lib.id,
}:
pkgs.writeTextFile {
inherit name; inherit name;
text = patch (builtins.readFile (builtins.fetchurl {inherit url sha256;})); text = patch (builtins.readFile (builtins.fetchurl {inherit url sha256;}));
destination = "/dash/${name}.json"; destination = "/dash/${name}.json";
@ -34,7 +46,8 @@ 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"; name = "Node Exporter";
type = "file"; type = "file";
options.path = mkDashboards [ options.path = mkDashboards [
@ -48,10 +61,11 @@ in {
{ {
name = "synapse"; name = "synapse";
url = "https://raw.githubusercontent.com/element-hq/synapse/refs/heads/master/contrib/grafana/synapse.json"; url = "https://raw.githubusercontent.com/element-hq/synapse/refs/heads/master/contrib/grafana/synapse.json";
sha256 = "sha256:16fl81sx1by0wldw4vda0zr1pvbq1dpih1fikzwlvmk63mpc80kb"; sha256 = "sha256:0yzj1i4zbjy9cms75ip6ad8qyjgv9kka42gxsbzyzr2syznsmqw0";
}
];
} }
]; ];
}];
}; };
services.nginx.virtualHosts = { services.nginx.virtualHosts = {
${cfg.settings.server.domain} = { ${cfg.settings.server.domain} = {

View file

@ -1,10 +1,11 @@
{ {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,10 +1,13 @@
{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:v0.8.3"; image = "dock.mau.dev/mautrix/signal:v25.10";
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"
@ -22,7 +25,6 @@ in {
# 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 = [ "127.0.0.1:5435:5432" ];
ports = ["5435:5432"]; ports = ["5435:5432"];
volumes = ["/home/tristan/pods/signal-bridge/db:/var/lib/postgresql/data"]; 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];
@ -58,5 +60,4 @@ 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,5 +1,4 @@
{config, ...}: {config, ...}: {
{
nixpkgs.config.permittedInsecurePackages = [ nixpkgs.config.permittedInsecurePackages = [
"olm-3.2.16" "olm-3.2.16"
]; ];
@ -7,9 +6,9 @@
enable = true; enable = true;
registerToSynapse = true; registerToSynapse = true;
settings = { settings = {
appservice.database = { database = {
type = "sqlite3"; type = "sqlite3-fk-wal";
uri = "/var/lib/mautrix-whatsapp/mautrix-whatsapp.db"; uri = "file:/var/lib/mautrix-whatsapp/mautrix-whatsapp.db?_txlock=immediate";
}; };
homeserver = { homeserver = {
address = "http://localhost:8008"; address = "http://localhost:8008";
@ -20,11 +19,12 @@
"tristans.cloud" = "user"; "tristans.cloud" = "user";
"@tristan:tristans.cloud" = "admin"; "@tristan:tristans.cloud" = "admin";
}; };
personal_filtering_spaces = true;
};
encryption = { encryption = {
allow = true; allow = true;
appservice = false; appservice = false;
}; pickle_key = "maunium.net/go/mautrix-whatsapp";
personal_filtering_spaces = true;
}; };
}; };
}; };

View file

@ -8,9 +8,13 @@
extraConfig = '' extraConfig = ''
prune-blockchain=1 prune-blockchain=1
confirm-external-bind=1 confirm-external-bind=1
out-peers=64 # This will enable much faster sync and tx awareness; the default 8 is suboptimal nowadays out-peers=8
in-peers=1024 # The default is unlimited; we prefer to put a cap on this in-peers=16
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.65.29.110" # gaming pc "100.78.76.10" # gaming pc
]; ];
addPort = ip: "${ip}:${toString prometheus.exporters.node.port}"; addPort = ip: "${ip}:${toString prometheus.exporters.node.port}";
in { in {
@ -68,11 +68,13 @@ 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,6 +36,11 @@ 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";
@ -84,6 +89,21 @@ 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,6 +22,7 @@
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;
@ -68,7 +69,7 @@
}; };
emoji = { emoji = {
package = pkgs.noto-fonts-emoji; package = pkgs.noto-fonts-color-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-+sOMWFFumJUk5gFE1iCTvWub3PWzYOkulXJLCGS4fYA="; hash = "sha256-XmrVZRJAQctIiuznw/fQzs+9+QKOyTnJI2JOEWBWnVA=";
}; };
passthru.updateScript = gitUpdater {}; passthru.updateScript = gitUpdater {};