Compare commits

...

14 commits

19 changed files with 405 additions and 197 deletions

View file

@ -2,6 +2,9 @@
FLAKE_HOME := justfile_directory()
DEFAULT_SPECIALISATION := "default"
DEFAULT_KEEP_SINCE := "1w"
DEFAULT_USER := env('USER')
DEFAULT_HOST := shell('hostname')
default:
@just --list
@ -18,15 +21,27 @@ build specialisation=DEFAULT_SPECIALISATION:
deploy host:
deploy {{ FLAKE_HOME }}#{{ host }}
clean keep_since="1w":
nh clean all --verbose -K {{ keep_since }} -k 5
clean keepSince=DEFAULT_KEEP_SINCE:
nh clean all --verbose -K {{ keepSince }} -k 5
health:
nix --accept-flake-config run github:juspay/nix-health
switchHome host=DEFAULT_HOST $USER=DEFAULT_USER:
@echo USER: $USER
@echo HOST: {{ host }}
nh home switch -b backup {{ if host != DEFAULT_HOST { "-c \"" + USER + "@" + host + "\"" } else { "" } }} {{ FLAKE_HOME }}
buildHome host=DEFAULT_HOST $USER=DEFAULT_USER:
@echo USER: $USER
@echo HOST: {{ host }}
nh home build -b backup {{ if host != DEFAULT_HOST { "-c \"" + USER + "@" + host + "\"" } else { "" } }} {{ FLAKE_HOME }}
alias s := switch
alias u := update
alias d := deploy
alias c := clean
alias h := health
alias b := build
alias H := switchHome
alias B := buildHome

349
flake.lock generated
View file

@ -70,11 +70,11 @@
"bt-tracker": {
"flake": false,
"locked": {
"lastModified": 1738800660,
"narHash": "sha256-nbuJpBisr9nVlqDcY8jsUeUm2mfWUXrboMwXcauc6R0=",
"lastModified": 1740125374,
"narHash": "sha256-wv+eodEArJsVoVa3NohgNUsUMs31m1oMPqgWovUxuu4=",
"owner": "XIU2",
"repo": "TrackersListCollection",
"rev": "d40f6409be2d8185231cf2a218b16f2a2447de5d",
"rev": "310a64b1ce830bbbef6b5aaa6f6f031e4c6a6e2f",
"type": "github"
},
"original": {
@ -104,11 +104,11 @@
"nixpkgs": "nixpkgs"
},
"locked": {
"lastModified": 1736423292,
"narHash": "sha256-b4Dsf7/2A+CpfpKYEwcj5Xs9ftJpoLT80onYb0WTedw=",
"lastModified": 1740074809,
"narHash": "sha256-81CDZ0y1J1OgIblNl3HdLyuB8oxi3vN5AwP9a5t/ZGo=",
"owner": "daeuniverse",
"repo": "flake.nix",
"rev": "5022a7b3895d8cfa12cbb2c0db09ed4ecf0a02b8",
"rev": "c186ea01695ba98dab1b397e7a02833b9f12789e",
"type": "github"
},
"original": {
@ -144,11 +144,11 @@
]
},
"locked": {
"lastModified": 1738765162,
"narHash": "sha256-3Z40qHaFScWUCVQrGc4Y+RdoPsh1R/wIh+AN4cTXP0I=",
"lastModified": 1739841949,
"narHash": "sha256-lSOXdgW/1zi/SSu7xp71v+55D5Egz8ACv0STkj7fhbs=",
"owner": "nix-community",
"repo": "disko",
"rev": "ff3568858c54bd306e9e1f2886f0f781df307dff",
"rev": "15dbf8cebd8e2655a883b74547108e089f051bf0",
"type": "github"
},
"original": {
@ -160,11 +160,11 @@
"firefox-gnome-theme": {
"flake": false,
"locked": {
"lastModified": 1736899990,
"narHash": "sha256-S79Hqn2EtSxU4kp99t8tRschSifWD4p/51++0xNWUxw=",
"lastModified": 1739223196,
"narHash": "sha256-vAxN2f3rvl5q62gQQjZGVSvF93nAsOxntuFz+e/655w=",
"owner": "rafaelmardojai",
"repo": "firefox-gnome-theme",
"rev": "91ca1f82d717b02ceb03a3f423cbe8082ebbb26d",
"rev": "a89108e6272426f4eddd93ba17d0ea101c34fb21",
"type": "github"
},
"original": {
@ -192,11 +192,11 @@
"flake-compat_2": {
"flake": false,
"locked": {
"lastModified": 1696426674,
"narHash": "sha256-kvjfFW7WAETZlt09AgDn1MrtKzP7t90Vf7vypd3OL1U=",
"lastModified": 1733328505,
"narHash": "sha256-NeCCThCEP3eCl2l/+27kNNK7QrwZB1IJCrXfrbv5oqU=",
"owner": "edolstra",
"repo": "flake-compat",
"rev": "0f9255e01c2351cc7d116c072cb317785dd33b33",
"rev": "ff81ac966bb2cae68946d5ed5fc4994f96d0ffec",
"type": "github"
},
"original": {
@ -256,11 +256,11 @@
"nixpkgs-lib": "nixpkgs-lib"
},
"locked": {
"lastModified": 1730504689,
"narHash": "sha256-hgmguH29K2fvs9szpq2r3pz2/8cJd2LPS+b4tfNFCwE=",
"lastModified": 1738453229,
"narHash": "sha256-7H9XgNiGLKN1G1CgRh0vUL4AheZSYzPm+zmZ7vxbJdo=",
"owner": "hercules-ci",
"repo": "flake-parts",
"rev": "506278e768c2a08bec68eb62932193e341f55c90",
"rev": "32ea77a06711b758da0ad9bd6a844c5740a87abd",
"type": "github"
},
"original": {
@ -346,11 +346,11 @@
"systems": "systems_3"
},
"locked": {
"lastModified": 1705309234,
"narHash": "sha256-uNRRNRKmJyCRC/8y1RqBkqWBLM034y4qN7EprSdmgyA=",
"lastModified": 1731533236,
"narHash": "sha256-l0KFg5HjrsfsO/JpG+r7fRrqm12kzFHyUHqHCVpMMbI=",
"owner": "numtide",
"repo": "flake-utils",
"rev": "1ef2e671c3b0c19053962c07dbda38332dcebf26",
"rev": "11707dc2f618dd54ca8739b309ec4fc024de578b",
"type": "github"
},
"original": {
@ -379,7 +379,25 @@
},
"flake-utils_4": {
"inputs": {
"systems": "systems_6"
"systems": "systems_5"
},
"locked": {
"lastModified": 1731533236,
"narHash": "sha256-l0KFg5HjrsfsO/JpG+r7fRrqm12kzFHyUHqHCVpMMbI=",
"owner": "numtide",
"repo": "flake-utils",
"rev": "11707dc2f618dd54ca8739b309ec4fc024de578b",
"type": "github"
},
"original": {
"owner": "numtide",
"repo": "flake-utils",
"type": "github"
}
},
"flake-utils_5": {
"inputs": {
"systems": "systems_7"
},
"locked": {
"lastModified": 1710146030,
@ -395,7 +413,7 @@
"type": "github"
}
},
"flake-utils_5": {
"flake-utils_6": {
"inputs": {
"systems": [
"stylix",
@ -416,6 +434,21 @@
"type": "github"
}
},
"flakey-profile": {
"locked": {
"lastModified": 1712898590,
"narHash": "sha256-FhGIEU93VHAChKEXx905TSiPZKga69bWl1VB37FK//I=",
"owner": "lf-",
"repo": "flakey-profile",
"rev": "243c903fd8eadc0f63d205665a92d4df91d42d9d",
"type": "github"
},
"original": {
"owner": "lf-",
"repo": "flakey-profile",
"type": "github"
}
},
"fromYaml": {
"flake": false,
"locked": {
@ -435,16 +468,18 @@
"ghostty": {
"inputs": {
"flake-compat": "flake-compat_2",
"flake-utils": "flake-utils_2",
"nixpkgs-stable": "nixpkgs-stable",
"nixpkgs-unstable": "nixpkgs-unstable",
"zig": "zig"
"zig": "zig",
"zig2nix": "zig2nix"
},
"locked": {
"lastModified": 1738781852,
"narHash": "sha256-fTr3m5Ktg1vWeAbscpYS7BTjOIACXMjkG1xazeRGvAc=",
"lastModified": 1739918167,
"narHash": "sha256-6zdYjNKqMTKfHKlaz0kKqqSmoSCqEjv1vyIygqi3wCo=",
"owner": "ghostty-org",
"repo": "ghostty",
"rev": "4eb588501735e2df2910b54ed0dc8ad934b5d42f",
"rev": "38908e01268298ced33b7b6835e49b8c6d437e12",
"type": "github"
},
"original": {
@ -528,11 +563,11 @@
"rust-overlay": "rust-overlay"
},
"locked": {
"lastModified": 1738723095,
"narHash": "sha256-5l7ghUJb++dh59VlaZlmAKDoaJgCtT7pCKP87bRNFZE=",
"lastModified": 1740074307,
"narHash": "sha256-1duOlzdBv61aLohv45urOtqqzwi3RPcG/JTtxx0V4K8=",
"owner": "helix-editor",
"repo": "helix",
"rev": "b0e1eaf50d01257a743b8508f9eb29b78882c403",
"rev": "0deb8bbce6f33124f3434c94c22f5177cb8caa9f",
"type": "github"
},
"original": {
@ -549,11 +584,11 @@
]
},
"locked": {
"lastModified": 1738789832,
"narHash": "sha256-HdlMPfObPu5y7oDfH/w3vvlU3UTQ/bQjSULChZARm5M=",
"lastModified": 1740060750,
"narHash": "sha256-FOC9OzJ5Ckh6VjzGSRh4F3UCUOdM8NrzQT19PQcQJ44=",
"owner": "nix-community",
"repo": "home-manager",
"rev": "30ea6fed4e4b41693cebc2263373dd810de4de49",
"rev": "0c0b0ac8af6ca76b1fcb514483a9bd73c18f1e8c",
"type": "github"
},
"original": {
@ -592,11 +627,11 @@
]
},
"locked": {
"lastModified": 1736785676,
"narHash": "sha256-TY0jUwR3EW0fnS0X5wXMAVy6h4Z7Y6a3m+Yq++C9AyE=",
"lastModified": 1737630279,
"narHash": "sha256-wJQCxyMRc4P26zDrHmZiRD5bbfcJpqPG3e2djdGG3pk=",
"owner": "nix-community",
"repo": "home-manager",
"rev": "fc52a210b60f2f52c74eac41a8647c1573d2071d",
"rev": "0db5c8bfcce78583ebbde0b2abbc95ad93445f7c",
"type": "github"
},
"original": {
@ -605,6 +640,43 @@
"type": "github"
}
},
"lix": {
"flake": false,
"locked": {
"lastModified": 1738174211,
"narHash": "sha256-eYmp1mKM4kULV1W+EBtCPk6LmKWl2REivaYfGRl+AWo=",
"rev": "64e33a7e09a0d1faacf2fd3f6ebd647fe4d8346a",
"type": "tarball",
"url": "https://git.lix.systems/api/v1/repos/lix-project/lix/archive/64e33a7e09a0d1faacf2fd3f6ebd647fe4d8346a.tar.gz?rev=64e33a7e09a0d1faacf2fd3f6ebd647fe4d8346a"
},
"original": {
"type": "tarball",
"url": "https://git.lix.systems/lix-project/lix/archive/main.tar.gz"
}
},
"lix-module": {
"inputs": {
"flake-utils": "flake-utils_4",
"flakey-profile": "flakey-profile",
"lix": "lix",
"nixpkgs": [
"nixpkgs"
]
},
"locked": {
"lastModified": 1738176840,
"narHash": "sha256-NG3IRvRs3u3btVCN861FqHvgOwqcNT/Oy6PBG86F5/E=",
"ref": "refs/heads/main",
"rev": "621aae0f3cceaffa6d73a4fb0f89c08d338d729e",
"revCount": 133,
"type": "git",
"url": "https://git.lix.systems/lix-project/nixos-module"
},
"original": {
"type": "git",
"url": "https://git.lix.systems/lix-project/nixos-module"
}
},
"niri-flake": {
"inputs": {
"niri-stable": "niri-stable",
@ -615,11 +687,11 @@
"xwayland-satellite-unstable": "xwayland-satellite-unstable"
},
"locked": {
"lastModified": 1738770770,
"narHash": "sha256-nfapp7C4BbdvHTRA1HSRVYjD5Fk2FCKoyxQLzcL5X50=",
"lastModified": 1740124252,
"narHash": "sha256-s/wpy4RFcfsn5vPLC9LhMgoxdd7ReWRssWdxUgBym8s=",
"owner": "sodiboo",
"repo": "niri-flake",
"rev": "83abbde7c8164ee4b42a8647e4e61015c3f45816",
"rev": "f989ca59d48550c3fd7021917647775969c26d54",
"type": "github"
},
"original": {
@ -648,11 +720,11 @@
"niri-unstable": {
"flake": false,
"locked": {
"lastModified": 1738768006,
"narHash": "sha256-56jDYr/vqX4fobMJO2nWLjih03i6UV5bKtxI0nR4ZZA=",
"lastModified": 1740117926,
"narHash": "sha256-mTTHA0RAaQcdYe+9A3Jx77cmmyLFHmRoZdd8RpWa+m8=",
"owner": "YaLTeR",
"repo": "niri",
"rev": "690d6355057ebeba03cbd8ce4905145b834c72f8",
"rev": "b94a5db8790339cf9134873d8b490be69e02ac71",
"type": "github"
},
"original": {
@ -673,7 +745,7 @@
"nixpkgs"
],
"nixpkgs-wine": "nixpkgs-wine",
"systems": "systems_5",
"systems": "systems_6",
"treefmt-nix": "treefmt-nix"
},
"locked": {
@ -764,11 +836,11 @@
"nixpkgs-stable": "nixpkgs-stable_3"
},
"locked": {
"lastModified": 1738805812,
"narHash": "sha256-3wupg+xSzRPUius7y29btqCR2l28GpCjwS9q83uK9uU=",
"lastModified": 1740106782,
"narHash": "sha256-T0H/uMO2Q06lz1CpN2Czxppvq9SN4McT3s/aQzKLn/k=",
"owner": "lilyinstarlight",
"repo": "nixos-cosmic",
"rev": "bbab2cc88af97520259c5575bf29c83bf391424c",
"rev": "4be261f1b28465016f1476beabcd67fa000b04a5",
"type": "github"
},
"original": {
@ -779,11 +851,11 @@
},
"nixos-hardware": {
"locked": {
"lastModified": 1738638143,
"narHash": "sha256-ZYMe4c4OCtIUBn5hx15PEGr0+B1cNEpl2dsaLxwY2W0=",
"lastModified": 1740089251,
"narHash": "sha256-Y78mDBWoO8CLLTjQfPfII+KXFb6lAmF9GrLbyVBsIMM=",
"owner": "NixOS",
"repo": "nixos-hardware",
"rev": "9bdd53f5908453e4d03f395eb1615c3e9a351f70",
"rev": "18e9f9753e9ae261bcc7d3abe15745686991fd30",
"type": "github"
},
"original": {
@ -795,11 +867,11 @@
},
"nixpkgs": {
"locked": {
"lastModified": 1730531603,
"narHash": "sha256-Dqg6si5CqIzm87sp57j5nTaeBbWhHFaVyG7V6L8k3lY=",
"lastModified": 1739866667,
"narHash": "sha256-EO1ygNKZlsAC9avfcwHkKGMsmipUk1Uc0TbrEZpkn64=",
"owner": "NixOS",
"repo": "nixpkgs",
"rev": "7ffd9ae656aec493492b44d0ddfb28e79a1ea25d",
"rev": "73cf49b8ad837ade2de76f87eb53fc85ed5d4680",
"type": "github"
},
"original": {
@ -827,14 +899,14 @@
},
"nixpkgs-lib": {
"locked": {
"lastModified": 1730504152,
"narHash": "sha256-lXvH/vOfb4aGYyvFmZK/HlsNsr/0CVWlwYvo2rxJk3s=",
"lastModified": 1738452942,
"narHash": "sha256-vJzFZGaCpnmo7I6i416HaBLpC+hvcURh/BQwROcGIp8=",
"type": "tarball",
"url": "https://github.com/NixOS/nixpkgs/archive/cc2f28000298e1269cea6612cd06ec9979dd5d7f.tar.gz"
"url": "https://github.com/NixOS/nixpkgs/archive/072a6db25e947df2f31aab9eccd0ab75d5b2da11.tar.gz"
},
"original": {
"type": "tarball",
"url": "https://github.com/NixOS/nixpkgs/archive/cc2f28000298e1269cea6612cd06ec9979dd5d7f.tar.gz"
"url": "https://github.com/NixOS/nixpkgs/archive/072a6db25e947df2f31aab9eccd0ab75d5b2da11.tar.gz"
}
},
"nixpkgs-lib_2": {
@ -875,11 +947,11 @@
},
"nixpkgs-stable": {
"locked": {
"lastModified": 1733423277,
"narHash": "sha256-TxabjxEgkNbCGFRHgM/b9yZWlBj60gUOUnRT/wbVQR8=",
"lastModified": 1738255539,
"narHash": "sha256-hP2eOqhIO/OILW+3moNWO4GtdJFYCqAe9yJZgvlCoDQ=",
"owner": "nixos",
"repo": "nixpkgs",
"rev": "e36963a147267afc055f7cf65225958633e536bf",
"rev": "c3511a3b53b482aa7547c9d1626fd7310c1de1c5",
"type": "github"
},
"original": {
@ -891,11 +963,11 @@
},
"nixpkgs-stable_2": {
"locked": {
"lastModified": 1738702386,
"narHash": "sha256-nJj8f78AYAxl/zqLiFGXn5Im1qjFKU8yBPKoWEeZN5M=",
"lastModified": 1739923778,
"narHash": "sha256-BqUY8tz0AQ4to2Z4+uaKczh81zsGZSYxjgvtw+fvIfM=",
"owner": "NixOS",
"repo": "nixpkgs",
"rev": "030ba1976b7c0e1a67d9716b17308ccdab5b381e",
"rev": "36864ed72f234b9540da4cf7a0c49e351d30d3f1",
"type": "github"
},
"original": {
@ -907,11 +979,11 @@
},
"nixpkgs-stable_3": {
"locked": {
"lastModified": 1738702386,
"narHash": "sha256-nJj8f78AYAxl/zqLiFGXn5Im1qjFKU8yBPKoWEeZN5M=",
"lastModified": 1739923778,
"narHash": "sha256-BqUY8tz0AQ4to2Z4+uaKczh81zsGZSYxjgvtw+fvIfM=",
"owner": "NixOS",
"repo": "nixpkgs",
"rev": "030ba1976b7c0e1a67d9716b17308ccdab5b381e",
"rev": "36864ed72f234b9540da4cf7a0c49e351d30d3f1",
"type": "github"
},
"original": {
@ -923,11 +995,11 @@
},
"nixpkgs-unstable": {
"locked": {
"lastModified": 1733229606,
"narHash": "sha256-FLYY5M0rpa5C2QAE3CKLYAM6TwbKicdRK6qNrSHlNrE=",
"lastModified": 1738136902,
"narHash": "sha256-pUvLijVGARw4u793APze3j6mU1Zwdtz7hGkGGkD87qw=",
"owner": "nixos",
"repo": "nixpkgs",
"rev": "566e53c2ad750c84f6d31f9ccb9d00f823165550",
"rev": "9a5db3142ce450045840cc8d832b13b8a2018e0c",
"type": "github"
},
"original": {
@ -987,11 +1059,11 @@
},
"nixpkgs_3": {
"locked": {
"lastModified": 1738680400,
"narHash": "sha256-ooLh+XW8jfa+91F1nhf9OF7qhuA/y1ChLx6lXDNeY5U=",
"lastModified": 1739866667,
"narHash": "sha256-EO1ygNKZlsAC9avfcwHkKGMsmipUk1Uc0TbrEZpkn64=",
"owner": "NixOS",
"repo": "nixpkgs",
"rev": "799ba5bffed04ced7067a91798353d360788b30d",
"rev": "73cf49b8ad837ade2de76f87eb53fc85ed5d4680",
"type": "github"
},
"original": {
@ -1003,11 +1075,11 @@
},
"nixpkgs_4": {
"locked": {
"lastModified": 1738680400,
"narHash": "sha256-ooLh+XW8jfa+91F1nhf9OF7qhuA/y1ChLx6lXDNeY5U=",
"lastModified": 1739866667,
"narHash": "sha256-EO1ygNKZlsAC9avfcwHkKGMsmipUk1Uc0TbrEZpkn64=",
"owner": "NixOS",
"repo": "nixpkgs",
"rev": "799ba5bffed04ced7067a91798353d360788b30d",
"rev": "73cf49b8ad837ade2de76f87eb53fc85ed5d4680",
"type": "github"
},
"original": {
@ -1018,22 +1090,6 @@
}
},
"nixpkgs_5": {
"locked": {
"lastModified": 1738680400,
"narHash": "sha256-ooLh+XW8jfa+91F1nhf9OF7qhuA/y1ChLx6lXDNeY5U=",
"owner": "NixOS",
"repo": "nixpkgs",
"rev": "799ba5bffed04ced7067a91798353d360788b30d",
"type": "github"
},
"original": {
"owner": "NixOS",
"ref": "nixos-unstable",
"repo": "nixpkgs",
"type": "github"
}
},
"nixpkgs_6": {
"locked": {
"lastModified": 1736798957,
"narHash": "sha256-qwpCtZhSsSNQtK4xYGzMiyEDhkNzOCz/Vfu4oL2ETsQ=",
@ -1067,11 +1123,11 @@
"nur-rycee": {
"flake": false,
"locked": {
"lastModified": 1738814634,
"narHash": "sha256-hSSqrG5yBQBYdIT9MKKs/A0GfO468VVU7t+2+H/uMxg=",
"lastModified": 1740110615,
"narHash": "sha256-GJVXn9bgEF8zCPJvpYJvS39MUMyZkX4Ab4I6RoUKECw=",
"owner": "rycee",
"repo": "nur-expressions",
"rev": "fc5397f499e9a91e4368e027d1c63e30b15d5ea1",
"rev": "ba3db5f76a6f352664d3398bdd11b09562831927",
"type": "gitlab"
},
"original": {
@ -1084,11 +1140,11 @@
"nur-xddxdd": {
"flake": false,
"locked": {
"lastModified": 1738750159,
"narHash": "sha256-Y/yYT3qANqafc+6Uxk/rCbNuzdGlYoQn3VDM6MbKkT0=",
"lastModified": 1740133916,
"narHash": "sha256-1PIIuqd4Tfv9smr7AiMlMO+5VD3H9rwIiuzkNdXm2BE=",
"owner": "xddxdd",
"repo": "nur-packages",
"rev": "2b715df004ac0e90eaf5cc213082159f8bff97fe",
"rev": "421f8479fe17d475000babd9691cf6a007b38bd9",
"type": "github"
},
"original": {
@ -1140,10 +1196,14 @@
"ghostty": "ghostty",
"helix": "helix",
"home-manager": "home-manager",
"lix-module": "lix-module",
"niri-flake": "niri-flake",
"nixos-cosmic": "nixos-cosmic",
"nixos-hardware": "nixos-hardware",
"nixpkgs": "nixpkgs_5",
"nixpkgs": [
"nixos-cosmic",
"nixpkgs"
],
"nur-rycee": "nur-rycee",
"nur-xddxdd": "nur-xddxdd",
"oskars-dotfiles": "oskars-dotfiles",
@ -1200,11 +1260,11 @@
]
},
"locked": {
"lastModified": 1738291974,
"narHash": "sha256-wkwYJc8cKmmQWUloyS9KwttBnja2ONRuJQDEsmef320=",
"lastModified": 1739262228,
"narHash": "sha256-7JAGezJ0Dn5qIyA2+T4Dt/xQgAbhCglh6lzCekTVMeU=",
"owner": "Mic92",
"repo": "sops-nix",
"rev": "4c1251904d8a08c86ac6bc0d72cc09975e89aef7",
"rev": "07af005bb7d60c7f118d9d9f5530485da5d1e975",
"type": "github"
},
"original": {
@ -1221,23 +1281,24 @@
"base16-vim": "base16-vim",
"firefox-gnome-theme": "firefox-gnome-theme",
"flake-compat": "flake-compat_5",
"flake-utils": "flake-utils_5",
"flake-utils": "flake-utils_6",
"git-hooks": "git-hooks",
"gnome-shell": "gnome-shell",
"home-manager": "home-manager_3",
"nixpkgs": "nixpkgs_6",
"systems": "systems_7",
"nixpkgs": "nixpkgs_5",
"systems": "systems_8",
"tinted-foot": "tinted-foot",
"tinted-kitty": "tinted-kitty",
"tinted-schemes": "tinted-schemes",
"tinted-tmux": "tinted-tmux",
"tinted-zed": "tinted-zed"
},
"locked": {
"lastModified": 1738611626,
"narHash": "sha256-IgjqlYPaS8Bg+jc6a691w27XDFhBeM7gkP4eDcR2EBs=",
"lastModified": 1740055719,
"narHash": "sha256-6UaZqK8+7byU2ORz6YpGccjDDoEd95Btr6qE6qbg5YM=",
"owner": "danth",
"repo": "stylix",
"rev": "d513f59da5856978c363d2f82103f708f4a6024d",
"rev": "c424b22396c5e40d2513ce03f94d0aa6d9cdd38f",
"type": "github"
},
"original": {
@ -1351,6 +1412,21 @@
"type": "github"
}
},
"systems_8": {
"locked": {
"lastModified": 1681028828,
"narHash": "sha256-Vy1rq5AaRuLzOxct8nz4T6wlgyUR7zLU309k9mBC768=",
"owner": "nix-systems",
"repo": "default",
"rev": "da67096a3b9bf56a91d16901293e51ba5b49a27e",
"type": "github"
},
"original": {
"owner": "nix-systems",
"repo": "default",
"type": "github"
}
},
"tinted-foot": {
"flake": false,
"locked": {
@ -1385,6 +1461,22 @@
"type": "github"
}
},
"tinted-schemes": {
"flake": false,
"locked": {
"lastModified": 1737565458,
"narHash": "sha256-y+9cvOA6BLKT0WfebDsyUpUa/YxKow9hTjBp6HpQv68=",
"owner": "tinted-theming",
"repo": "schemes",
"rev": "ae31625ba47aeaa4bf6a98cf11a8d4886f9463d9",
"type": "github"
},
"original": {
"owner": "tinted-theming",
"repo": "schemes",
"type": "github"
}
},
"tinted-tmux": {
"flake": false,
"locked": {
@ -1486,7 +1578,7 @@
"winapps": {
"inputs": {
"flake-compat": "flake-compat_4",
"flake-utils": "flake-utils_4",
"flake-utils": "flake-utils_5",
"nixpkgs": [
"oskars-dotfiles",
"nixpkgs"
@ -1526,11 +1618,11 @@
"xwayland-satellite-unstable": {
"flake": false,
"locked": {
"lastModified": 1737837494,
"narHash": "sha256-wIMowP8Juas4ZwMRcpc+58sZ0kKTDu8fm13THPmv/F8=",
"lastModified": 1739246919,
"narHash": "sha256-/hBM43/Gd0/tW+egrhlWgOIISeJxEs2uAOIYVpfDKeU=",
"owner": "Supreeeme",
"repo": "xwayland-satellite",
"rev": "3944c9a0e40e5629f16ad023bbc90dac80d35a0f",
"rev": "44590a416d4a3e8220e19e29e0b6efe64a80315d",
"type": "github"
},
"original": {
@ -1544,18 +1636,21 @@
"flake-compat": [
"ghostty"
],
"flake-utils": "flake-utils_2",
"flake-utils": [
"ghostty",
"flake-utils"
],
"nixpkgs": [
"ghostty",
"nixpkgs-stable"
]
},
"locked": {
"lastModified": 1717848532,
"narHash": "sha256-d+xIUvSTreHl8pAmU1fnmkfDTGQYCn2Rb/zOwByxS2M=",
"lastModified": 1738239110,
"narHash": "sha256-Y5i9mQ++dyIQr+zEPNy+KIbc5wjPmfllBrag3cHZgcE=",
"owner": "mitchellh",
"repo": "zig-overlay",
"rev": "02fc5cc555fc14fda40c42d7c3250efa43812b43",
"rev": "1a8fb6f3a04724519436355564b95fce5e272504",
"type": "github"
},
"original": {
@ -1563,6 +1658,32 @@
"repo": "zig-overlay",
"type": "github"
}
},
"zig2nix": {
"inputs": {
"flake-utils": [
"ghostty",
"flake-utils"
],
"nixpkgs": [
"ghostty",
"nixpkgs-stable"
]
},
"locked": {
"lastModified": 1738263917,
"narHash": "sha256-j/3fwe2pEOquHabP/puljOKwAZFjIE9gXZqA91sC48M=",
"owner": "jcollie",
"repo": "zig2nix",
"rev": "c311d8e77a6ee0d995f40a6e10a89a3a4ab04f9a",
"type": "github"
},
"original": {
"owner": "jcollie",
"repo": "zig2nix",
"rev": "c311d8e77a6ee0d995f40a6e10a89a3a4ab04f9a",
"type": "github"
}
}
},
"root": "root",

View file

@ -2,7 +2,13 @@
description = "A simple NixOS flakes";
inputs = {
nixpkgs.url = "github:NixOS/nixpkgs/nixos-unstable";
# nixpkgs.url = "github:NixOS/nixpkgs/nixos-unstable";
nixpkgs.follows = "nixos-cosmic/nixpkgs";
lix-module = {
url = "git+https://git.lix.systems/lix-project/nixos-module";
inputs.nixpkgs.follows = "nixpkgs";
};
helix = {
url = "github:helix-editor/helix/master";
@ -183,15 +189,15 @@
pkgs = nixpkgs.legacyPackages."${system}";
modules =
[
(./home + "/${unixName}/configurations/${hostName}")
"${toString ./home}/${unixName}/configurations/${hostName}"
]
++ (with outputs.homeManagerModules; [
default
"${unixName}"
extra
])
++ (with inputs; [
stylix.homeManagerModules.stylix
]);
++ [
outputs.homeManagerModules."${unixName}"
];
extraSpecialArgs = {
inherit
inputs
@ -220,18 +226,26 @@
homeManagerModules =
{
default = import ./home/modules;
extra = import ./home/extra;
}
// (
let
allEntries = builtins.readDir ./home;
allUsers = nixpkgs.lib.filterAttrs (
key: value: value == "directory" && key != "modules"
key: value:
value == "directory"
&& (
!builtins.elem key [
"modules"
"extra"
]
)
) allEntries;
in
builtins.listToAttrs (
map (name: {
name = name;
value = import (./home + "/${name}/modules");
value = import "${toString ./home}/${name}/modules";
}) (builtins.attrNames allUsers)
)
);
@ -251,10 +265,6 @@
hostname = "${sshName}";
sshUser = "${unixName}";
interactiveSudo = true;
sshOpts = [
"-i"
"/home/david/.ssh/id_ed25519_deploy"
];
profiles = {
system = {
user = "${unixName}";

View file

@ -15,6 +15,7 @@
youthlic = {
xdg-dirs.enable = true;
programs = {
zed-editor.enable = true;
rustypaste-cli.enable = true;
firefox.enable = true;
fuzzel.enable = true;

11
home/extra/default.nix Normal file
View file

@ -0,0 +1,11 @@
{ inputs, ... }:
{
imports =
(with inputs; [
niri-flake.homeModules.niri
stylix.homeManagerModules.stylix
])
++ [
./nix.nix
];
}

46
home/extra/nix.nix Normal file
View file

@ -0,0 +1,46 @@
{
outputs,
lib,
pkgs,
inputs,
...
}:
{
config = {
nixpkgs = {
config = {
allowUnfree = true;
allowUnfreePredicate = (_: true);
};
overlays = [
outputs.overlays.modifications
outputs.overlays.additions
];
};
nix = {
package = pkgs.nix;
settings = {
inherit (outputs.nix.settings) substituters;
trusted-public-keys = [
"nix-community.cachix.org-1:mB9FSh9qf2dCimDSUo8Zy7bkq5CX+/rkCWyvRCYg3Fs="
"cache.nixos.org-1:6NCHdD59X431o0gWypbMrAURkbJ16ZPMQFGspcDShjY="
"cosmic.cachix.org-1:Dya9IyXD4xdBehWjrkPv6rtxpmMdRel02smYzA85dPE="
];
auto-optimise-store = lib.mkDefault true;
experimental-features = [
"nix-command"
"flakes"
];
warn-dirty = false;
use-xdg-base-directories = true;
};
registry.home = lib.mkDefault {
from = {
type = "indirect";
id = "home";
};
flake = inputs.nixpkgs;
};
};
};
}

View file

@ -1,6 +1,5 @@
{
inputs,
lib,
...
}:
{
@ -9,21 +8,10 @@
sops-nix.homeManagerModules.sops
])
++ [
./nix.nix
./programs
./xdg-dirs.nix
];
options = {
youthlic.nixos.enable = lib.mkOption {
type = lib.types.bool;
default = false;
example = true;
description = ''
whether the os is nixos
'';
};
};
config = {
programs.direnv = {
enable = true;

View file

@ -1,51 +0,0 @@
{
inputs,
lib,
config,
pkgs,
outputs,
...
}:
{
config =
let
cfg = config.youthlic.nixos;
in
(lib.mkIf (!cfg.enable) {
nixpkgs = {
config = {
allowUnfree = true;
allowUnfreePredicate = (_: true);
};
overlays = [
outputs.overlays.modifications
outputs.overlays.additions
];
};
nix = {
package = pkgs.nix;
settings = {
inherit (outputs.nix.settings) substituters;
trusted-public-keys = [
"nix-community.cachix.org-1:mB9FSh9qf2dCimDSUo8Zy7bkq5CX+/rkCWyvRCYg3Fs="
"cache.nixos.org-1:6NCHdD59X431o0gWypbMrAURkbJ16ZPMQFGspcDShjY="
"cosmic.cachix.org-1:Dya9IyXD4xdBehWjrkPv6rtxpmMdRel02smYzA85dPE="
];
auto-optimise-store = lib.mkDefault true;
experimental-features = [
"nix-command"
"flakes"
];
warn-dirty = false;
use-xdg-base-directories = true;
};
registry.home = lib.mkDefault {
from = {
type = "indirect";
id = "home";
};
flake = inputs.nixpkgs;
};
};
});
}

View file

@ -1,6 +1,7 @@
{ ... }:
{
imports = [
./zed.nix
./rustypaste-cli.nix
./atuin.nix
./firefox.nix

View file

@ -25,7 +25,7 @@ in
profiles.default = {
name = "default";
isDefault = true;
extensions = with outputs.packages."${system}"; [
extensions.packages = with outputs.packages."${system}"; [
immersive-translate
tridactyl
];

View file

@ -66,6 +66,7 @@
programs.git.signing = {
signByDefault = true;
key = cfg.signKey;
format = "openpgp";
};
})
(lib.mkIf cfg.encrypt-credential {

View file

@ -0,0 +1,31 @@
{
pkgs,
config,
lib,
...
}:
let
cfg = config.youthlic.programs.zed-editor;
in
{
options = {
youthlic.programs.zed-editor = {
enable = lib.mkEnableOption "zed-editor";
};
};
config = lib.mkIf cfg.enable {
programs.zed-editor = {
enable = true;
extensions = [
"nix"
];
extraPackages = with pkgs; [
nixd
nil
];
userSettings = {
vim_mode = true;
};
};
};
}

View file

@ -20,6 +20,7 @@
};
users.deploy.enable = true;
programs = {
transfer-sh.enable = true;
rustypaste = {
enable = true;
url = "https://paste.youthlic.fun";

View file

@ -14,6 +14,7 @@
sops-nix.nixosModules.sops
stylix.nixosModules.stylix
disko.nixosModules.disko
lix-module.nixosModules.default
])
++ [
./containers

View file

@ -8,6 +8,7 @@ let
in
{
config = lib.mkIf (cfg.enabled == "kde") {
stylix.targets.qt.platform = "kde";
services = {
desktopManager.plasma6.enable = true;
displayManager.sddm.enable = true;

View file

@ -50,10 +50,6 @@
outputs.homeManagerModules."${unixName}"
(rootPath + "/home/${unixName}/configurations/${hostName}")
];
config = {
youthlic.nixos.enable = true;
};
}
);
extraSpecialArgs = {

View file

@ -1,6 +1,7 @@
{ config, lib, ... }:
{
imports = [
./transfer-sh.nix
./rustypaste
./mautrix-telegram.nix
./caddy.nix

View file

@ -0,0 +1,33 @@
{ lib, config, ... }:
let
cfg = config.youthlic.programs.transfer-sh;
in
{
options = {
youthlic.programs.transfer-sh = {
enable = lib.mkEnableOption "transfer.sh";
};
};
config = lib.mkMerge [
(lib.mkIf cfg.enable {
services.transfer-sh = {
enable = true;
provider = "local";
settings = {
BASEDIR = "/var/lib/transfer.sh";
LISTENER = ":8484";
TLS_LISTENER_ONLY = false;
};
};
})
(lib.mkIf (cfg.enable && config.youthlic.programs.caddy.enable) {
services.caddy.virtualHosts = {
"transfer.${config.youthlic.programs.caddy.baseDomain}" = {
extraConfig = ''
reverse_proxy 127.0.0.1:8484
'';
};
};
})
];
}

View file

@ -53,7 +53,8 @@ let
);
in
pkgs.symlinkJoin {
name = "helix-wrapped";
pname = "helix-wrapped";
version = helix-wrapped.version;
paths = [ helix-wrapped ];
inherit (helix-wrapped) meta;
buildInputs = [