Compare commits
46 Commits
df731b0703
...
main
| Author | SHA1 | Date | |
|---|---|---|---|
| 7153e2d3e3 | |||
| 24b1438410 | |||
| 3d62cc10d3 | |||
| f92f4e8362 | |||
| 60fe1fd579 | |||
| 575d797b5c | |||
| b492aeb371 | |||
| 023007dc79 | |||
| 962aadd77b | |||
| cb2388c3c6 | |||
| dca64dd6c2 | |||
| 2a63a01ce3 | |||
| f794cdb44c | |||
| 2b7c944ba5 | |||
| b473b2dc16 | |||
| 1854c56c63 | |||
| 91cafd8108 | |||
| bdb9d72c1e | |||
| 9607277667 | |||
| 830c3ebe5a | |||
| ef4c190005 | |||
| 1f8a6b5591 | |||
| e952ca1d0e | |||
| 091e11fe12 | |||
| f63a5ace18 | |||
| 2c36e9738a | |||
| 4b92ff743e | |||
| 73658e1563 | |||
| d5c0c6836f | |||
| 6976180fd4 | |||
| 31aa73fcee | |||
| 85616a53eb | |||
| 43e161db0e | |||
| f2f044eebe | |||
| 383d8bd0c6 | |||
| b73ba4dfa3 | |||
| 68abcf7644 | |||
| 1fef6cedcb | |||
| 365e604f45 | |||
| b9f7f56b53 | |||
| 4f89dcf229 | |||
| f8b30b56af | |||
| b2db1b524d | |||
| 1b970d59f6 | |||
| ecbe87af9b | |||
| 31bf80e451 |
441
flake.lock
generated
441
flake.lock
generated
@@ -115,26 +115,28 @@
|
|||||||
"rev": "ff7f23ab0351dcf8b062d6a5a99c2c6cafcf24a0",
|
"rev": "ff7f23ab0351dcf8b062d6a5a99c2c6cafcf24a0",
|
||||||
"revCount": 2,
|
"revCount": 2,
|
||||||
"type": "git",
|
"type": "git",
|
||||||
"url": "file:///home/kiri/dev/lab/community-website"
|
"url": "ssh://git@orion/kiri/community-website"
|
||||||
},
|
},
|
||||||
"original": {
|
"original": {
|
||||||
"type": "git",
|
"type": "git",
|
||||||
"url": "file:///home/kiri/dev/lab/community-website"
|
"url": "ssh://git@orion/kiri/community-website"
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
"copyparty": {
|
"copyparty": {
|
||||||
"inputs": {
|
"inputs": {
|
||||||
"flake-utils": "flake-utils_2",
|
"flake-utils": [
|
||||||
|
"flake-utils"
|
||||||
|
],
|
||||||
"nixpkgs": [
|
"nixpkgs": [
|
||||||
"nixpkgs"
|
"nixpkgs"
|
||||||
]
|
]
|
||||||
},
|
},
|
||||||
"locked": {
|
"locked": {
|
||||||
"lastModified": 1764155739,
|
"lastModified": 1764399292,
|
||||||
"narHash": "sha256-WVhJZiZ8VsTMAYYPYO0MpvMt2h2wgge15MLDZUrRMWE=",
|
"narHash": "sha256-9owZJMGhnBEwS/o/KkhpUPGx2l7Px360/4qD08mEaoE=",
|
||||||
"owner": "9001",
|
"owner": "9001",
|
||||||
"repo": "copyparty",
|
"repo": "copyparty",
|
||||||
"rev": "c7345308f5ef0e4375c9d6a305d4b8e14c9d7a5a",
|
"rev": "3f4b79ffb8e02a7808fb0171fc9c49e93d250944",
|
||||||
"type": "github"
|
"type": "github"
|
||||||
},
|
},
|
||||||
"original": {
|
"original": {
|
||||||
@@ -150,11 +152,11 @@
|
|||||||
]
|
]
|
||||||
},
|
},
|
||||||
"locked": {
|
"locked": {
|
||||||
"lastModified": 1764110879,
|
"lastModified": 1764350888,
|
||||||
"narHash": "sha256-xanUzIb0tf3kJ+PoOFmXEXV1jM3PjkDT/TQ5DYeNYRc=",
|
"narHash": "sha256-6Rp18zavTlnlZzcoLoBTJMBahL2FycVkw2rAEs3cQvo=",
|
||||||
"owner": "nix-community",
|
"owner": "nix-community",
|
||||||
"repo": "disko",
|
"repo": "disko",
|
||||||
"rev": "aecba248f9a7d68c5d1ed15de2d1c8a4c994a3c5",
|
"rev": "2055a08fd0e2fd41318279a5355eb8a161accf26",
|
||||||
"type": "github"
|
"type": "github"
|
||||||
},
|
},
|
||||||
"original": {
|
"original": {
|
||||||
@@ -163,25 +165,6 @@
|
|||||||
"type": "github"
|
"type": "github"
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
"eleakxir": {
|
|
||||||
"inputs": {
|
|
||||||
"nixpkgs": "nixpkgs",
|
|
||||||
"systems": "systems_2"
|
|
||||||
},
|
|
||||||
"locked": {
|
|
||||||
"lastModified": 1762173278,
|
|
||||||
"narHash": "sha256-rw+n05+dgC1rLpQR5RKRTM57RPTuhjyVVsV4bvsbZc4=",
|
|
||||||
"owner": "anotherhadi",
|
|
||||||
"repo": "eleakxir",
|
|
||||||
"rev": "7a29929eb3bd0f89f2fd654405f9680bfd084151",
|
|
||||||
"type": "github"
|
|
||||||
},
|
|
||||||
"original": {
|
|
||||||
"owner": "anotherhadi",
|
|
||||||
"repo": "eleakxir",
|
|
||||||
"type": "github"
|
|
||||||
}
|
|
||||||
},
|
|
||||||
"firefox-gnome-theme": {
|
"firefox-gnome-theme": {
|
||||||
"flake": false,
|
"flake": false,
|
||||||
"locked": {
|
"locked": {
|
||||||
@@ -214,56 +197,16 @@
|
|||||||
"type": "github"
|
"type": "github"
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
"flake-compat_2": {
|
|
||||||
"flake": false,
|
|
||||||
"locked": {
|
|
||||||
"lastModified": 1751685974,
|
|
||||||
"narHash": "sha256-NKw96t+BgHIYzHUjkTK95FqYRVKB8DHpVhefWSz/kTw=",
|
|
||||||
"ref": "refs/heads/main",
|
|
||||||
"rev": "549f2762aebeff29a2e5ece7a7dc0f955281a1d1",
|
|
||||||
"revCount": 92,
|
|
||||||
"type": "git",
|
|
||||||
"url": "https://git.lix.systems/lix-project/flake-compat.git"
|
|
||||||
},
|
|
||||||
"original": {
|
|
||||||
"type": "git",
|
|
||||||
"url": "https://git.lix.systems/lix-project/flake-compat.git"
|
|
||||||
}
|
|
||||||
},
|
|
||||||
"flake-parts": {
|
"flake-parts": {
|
||||||
"inputs": {
|
"inputs": {
|
||||||
"nixpkgs-lib": [
|
"nixpkgs-lib": "nixpkgs-lib"
|
||||||
"nvf",
|
|
||||||
"nixpkgs"
|
|
||||||
]
|
|
||||||
},
|
},
|
||||||
"locked": {
|
"locked": {
|
||||||
"lastModified": 1760948891,
|
"lastModified": 1763759067,
|
||||||
"narHash": "sha256-TmWcdiUUaWk8J4lpjzu4gCGxWY6/Ok7mOK4fIFfBuU4=",
|
"narHash": "sha256-LlLt2Jo/gMNYAwOgdRQBrsRoOz7BPRkzvNaI/fzXi2Q=",
|
||||||
"owner": "hercules-ci",
|
"owner": "hercules-ci",
|
||||||
"repo": "flake-parts",
|
"repo": "flake-parts",
|
||||||
"rev": "864599284fc7c0ba6357ed89ed5e2cd5040f0c04",
|
"rev": "2cccadc7357c0ba201788ae99c4dfa90728ef5e0",
|
||||||
"type": "github"
|
|
||||||
},
|
|
||||||
"original": {
|
|
||||||
"owner": "hercules-ci",
|
|
||||||
"repo": "flake-parts",
|
|
||||||
"type": "github"
|
|
||||||
}
|
|
||||||
},
|
|
||||||
"flake-parts_2": {
|
|
||||||
"inputs": {
|
|
||||||
"nixpkgs-lib": [
|
|
||||||
"stylix",
|
|
||||||
"nixpkgs"
|
|
||||||
]
|
|
||||||
},
|
|
||||||
"locked": {
|
|
||||||
"lastModified": 1756770412,
|
|
||||||
"narHash": "sha256-+uWLQZccFHwqpGqr2Yt5VsW/PbeJVTn9Dk6SHWhNRPw=",
|
|
||||||
"owner": "hercules-ci",
|
|
||||||
"repo": "flake-parts",
|
|
||||||
"rev": "4524271976b625a4a605beefd893f270620fd751",
|
|
||||||
"type": "github"
|
"type": "github"
|
||||||
},
|
},
|
||||||
"original": {
|
"original": {
|
||||||
@@ -291,12 +234,15 @@
|
|||||||
}
|
}
|
||||||
},
|
},
|
||||||
"flake-utils_2": {
|
"flake-utils_2": {
|
||||||
|
"inputs": {
|
||||||
|
"systems": "systems_2"
|
||||||
|
},
|
||||||
"locked": {
|
"locked": {
|
||||||
"lastModified": 1678901627,
|
"lastModified": 1731533236,
|
||||||
"narHash": "sha256-U02riOqrKKzwjsxc/400XnElV+UtPUQWpANPlyazjH0=",
|
"narHash": "sha256-l0KFg5HjrsfsO/JpG+r7fRrqm12kzFHyUHqHCVpMMbI=",
|
||||||
"owner": "numtide",
|
"owner": "numtide",
|
||||||
"repo": "flake-utils",
|
"repo": "flake-utils",
|
||||||
"rev": "93a2b84fc4b70d9e089d029deacc3583435c2ed6",
|
"rev": "11707dc2f618dd54ca8739b309ec4fc024de578b",
|
||||||
"type": "github"
|
"type": "github"
|
||||||
},
|
},
|
||||||
"original": {
|
"original": {
|
||||||
@@ -325,7 +271,7 @@
|
|||||||
},
|
},
|
||||||
"flake-utils_4": {
|
"flake-utils_4": {
|
||||||
"inputs": {
|
"inputs": {
|
||||||
"systems": "systems_9"
|
"systems": "systems_8"
|
||||||
},
|
},
|
||||||
"locked": {
|
"locked": {
|
||||||
"lastModified": 1731533236,
|
"lastModified": 1731533236,
|
||||||
@@ -405,32 +351,11 @@
|
|||||||
]
|
]
|
||||||
},
|
},
|
||||||
"locked": {
|
"locked": {
|
||||||
"lastModified": 1764194569,
|
"lastModified": 1764361670,
|
||||||
"narHash": "sha256-iUM9ktarEzThkayyZrzQ7oycPshAY2XRQqVKz0xX/L0=",
|
"narHash": "sha256-jgWzgpIaHbL3USIq0gihZeuy1lLf2YSfwvWEwnfAJUw=",
|
||||||
"owner": "nix-community",
|
"owner": "nix-community",
|
||||||
"repo": "home-manager",
|
"repo": "home-manager",
|
||||||
"rev": "9651819d75f6c7ffaf8a9227490ac704f29659f0",
|
"rev": "780be8ef503a28939cf9dc7996b48ffb1a3e04c6",
|
||||||
"type": "github"
|
|
||||||
},
|
|
||||||
"original": {
|
|
||||||
"owner": "nix-community",
|
|
||||||
"repo": "home-manager",
|
|
||||||
"type": "github"
|
|
||||||
}
|
|
||||||
},
|
|
||||||
"home-manager_2": {
|
|
||||||
"inputs": {
|
|
||||||
"nixpkgs": [
|
|
||||||
"hyprpanel",
|
|
||||||
"nixpkgs"
|
|
||||||
]
|
|
||||||
},
|
|
||||||
"locked": {
|
|
||||||
"lastModified": 1750798083,
|
|
||||||
"narHash": "sha256-DTCCcp6WCFaYXWKFRA6fiI2zlvOLCf5Vwx8+/0R8Wc4=",
|
|
||||||
"owner": "nix-community",
|
|
||||||
"repo": "home-manager",
|
|
||||||
"rev": "ff31a4677c1a8ae506aa7e003a3dba08cb203f82",
|
|
||||||
"type": "github"
|
"type": "github"
|
||||||
},
|
},
|
||||||
"original": {
|
"original": {
|
||||||
@@ -507,17 +432,19 @@
|
|||||||
"hyprlang": "hyprlang",
|
"hyprlang": "hyprlang",
|
||||||
"hyprutils": "hyprutils",
|
"hyprutils": "hyprutils",
|
||||||
"hyprwayland-scanner": "hyprwayland-scanner",
|
"hyprwayland-scanner": "hyprwayland-scanner",
|
||||||
"nixpkgs": "nixpkgs_2",
|
"nixpkgs": [
|
||||||
|
"nixpkgs"
|
||||||
|
],
|
||||||
"pre-commit-hooks": "pre-commit-hooks",
|
"pre-commit-hooks": "pre-commit-hooks",
|
||||||
"systems": "systems_3",
|
"systems": "systems_3",
|
||||||
"xdph": "xdph"
|
"xdph": "xdph"
|
||||||
},
|
},
|
||||||
"locked": {
|
"locked": {
|
||||||
"lastModified": 1764258724,
|
"lastModified": 1764451009,
|
||||||
"narHash": "sha256-frlRI04fRjujZgx1UjZbIeleQdc7hSqqgn5q+0/2O3M=",
|
"narHash": "sha256-EYJ1FVbr5Zg8bsyHq7Im3WY4IDmsjGtWwPvRclhf6d8=",
|
||||||
"ref": "refs/heads/main",
|
"ref": "refs/heads/main",
|
||||||
"rev": "a51918fd275badfa2b68d7c25fc7f4555a4a468e",
|
"rev": "f11cf6f1de708b6b3811788e8ff7984ff05a9546",
|
||||||
"revCount": 6657,
|
"revCount": 6663,
|
||||||
"submodules": true,
|
"submodules": true,
|
||||||
"type": "git",
|
"type": "git",
|
||||||
"url": "https://github.com/hyprwm/Hyprland"
|
"url": "https://github.com/hyprwm/Hyprland"
|
||||||
@@ -631,8 +558,10 @@
|
|||||||
"hyprpanel": {
|
"hyprpanel": {
|
||||||
"inputs": {
|
"inputs": {
|
||||||
"flake-utils": "flake-utils_3",
|
"flake-utils": "flake-utils_3",
|
||||||
"home-manager": "home-manager_2",
|
"home-manager": [
|
||||||
"nixpkgs": "nixpkgs_3"
|
"home-manager"
|
||||||
|
],
|
||||||
|
"nixpkgs": "nixpkgs"
|
||||||
},
|
},
|
||||||
"locked": {
|
"locked": {
|
||||||
"lastModified": 1762493267,
|
"lastModified": 1762493267,
|
||||||
@@ -750,21 +679,6 @@
|
|||||||
"type": "github"
|
"type": "github"
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
"mnw": {
|
|
||||||
"locked": {
|
|
||||||
"lastModified": 1758834834,
|
|
||||||
"narHash": "sha256-Y7IvY4F8vajZyp3WGf+KaiIVwondEkMFkt92Cr9NZmg=",
|
|
||||||
"owner": "Gerg-L",
|
|
||||||
"repo": "mnw",
|
|
||||||
"rev": "cfbc7d1cc832e318d0863a5fc91d940a96034001",
|
|
||||||
"type": "github"
|
|
||||||
},
|
|
||||||
"original": {
|
|
||||||
"owner": "Gerg-L",
|
|
||||||
"repo": "mnw",
|
|
||||||
"type": "github"
|
|
||||||
}
|
|
||||||
},
|
|
||||||
"nixCats": {
|
"nixCats": {
|
||||||
"locked": {
|
"locked": {
|
||||||
"lastModified": 1764009888,
|
"lastModified": 1764009888,
|
||||||
@@ -780,33 +694,13 @@
|
|||||||
"type": "github"
|
"type": "github"
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
"nixarr": {
|
|
||||||
"inputs": {
|
|
||||||
"nixpkgs": "nixpkgs_4",
|
|
||||||
"vpnconfinement": "vpnconfinement",
|
|
||||||
"website-builder": "website-builder"
|
|
||||||
},
|
|
||||||
"locked": {
|
|
||||||
"lastModified": 1764066022,
|
|
||||||
"narHash": "sha256-YY9UdoNN/Iu9HTYsUWuZQiuRyQYOtcvnsT5X/+LuV1M=",
|
|
||||||
"owner": "rasmus-kirk",
|
|
||||||
"repo": "nixarr",
|
|
||||||
"rev": "3ea7ad8a1ca9d67df206cda19775ce711a55add4",
|
|
||||||
"type": "github"
|
|
||||||
},
|
|
||||||
"original": {
|
|
||||||
"owner": "rasmus-kirk",
|
|
||||||
"repo": "nixarr",
|
|
||||||
"type": "github"
|
|
||||||
}
|
|
||||||
},
|
|
||||||
"nixos-hardware": {
|
"nixos-hardware": {
|
||||||
"locked": {
|
"locked": {
|
||||||
"lastModified": 1764080039,
|
"lastModified": 1764440730,
|
||||||
"narHash": "sha256-b1MtLQsQc4Ji1u08f+C6g5XrmLPkJQ1fhNkCt+0AERQ=",
|
"narHash": "sha256-ZlJTNLUKQRANlLDomuRWLBCH5792x+6XUJ4YdFRjtO4=",
|
||||||
"owner": "NixOS",
|
"owner": "NixOS",
|
||||||
"repo": "nixos-hardware",
|
"repo": "nixos-hardware",
|
||||||
"rev": "da17006633ca9cda369be82893ae36824a2ddf1a",
|
"rev": "9154f4569b6cdfd3c595851a6ba51bfaa472d9f3",
|
||||||
"type": "github"
|
"type": "github"
|
||||||
},
|
},
|
||||||
"original": {
|
"original": {
|
||||||
@@ -817,38 +711,6 @@
|
|||||||
}
|
}
|
||||||
},
|
},
|
||||||
"nixpkgs": {
|
"nixpkgs": {
|
||||||
"locked": {
|
|
||||||
"lastModified": 1757487488,
|
|
||||||
"narHash": "sha256-zwE/e7CuPJUWKdvvTCB7iunV4E/+G0lKfv4kk/5Izdg=",
|
|
||||||
"owner": "NixOS",
|
|
||||||
"repo": "nixpkgs",
|
|
||||||
"rev": "ab0f3607a6c7486ea22229b92ed2d355f1482ee0",
|
|
||||||
"type": "github"
|
|
||||||
},
|
|
||||||
"original": {
|
|
||||||
"owner": "NixOS",
|
|
||||||
"ref": "nixos-unstable",
|
|
||||||
"repo": "nixpkgs",
|
|
||||||
"type": "github"
|
|
||||||
}
|
|
||||||
},
|
|
||||||
"nixpkgs_2": {
|
|
||||||
"locked": {
|
|
||||||
"lastModified": 1763966396,
|
|
||||||
"narHash": "sha256-6eeL1YPcY1MV3DDStIDIdy/zZCDKgHdkCmsrLJFiZf0=",
|
|
||||||
"owner": "NixOS",
|
|
||||||
"repo": "nixpkgs",
|
|
||||||
"rev": "5ae3b07d8d6527c42f17c876e404993199144b6a",
|
|
||||||
"type": "github"
|
|
||||||
},
|
|
||||||
"original": {
|
|
||||||
"owner": "NixOS",
|
|
||||||
"ref": "nixos-unstable",
|
|
||||||
"repo": "nixpkgs",
|
|
||||||
"type": "github"
|
|
||||||
}
|
|
||||||
},
|
|
||||||
"nixpkgs_3": {
|
|
||||||
"locked": {
|
"locked": {
|
||||||
"lastModified": 1750776420,
|
"lastModified": 1750776420,
|
||||||
"narHash": "sha256-/CG+w0o0oJ5itVklOoLbdn2dGB0wbZVOoDm4np6w09A=",
|
"narHash": "sha256-/CG+w0o0oJ5itVklOoLbdn2dGB0wbZVOoDm4np6w09A=",
|
||||||
@@ -864,93 +726,28 @@
|
|||||||
"type": "github"
|
"type": "github"
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
"nixpkgs_4": {
|
"nixpkgs-lib": {
|
||||||
"locked": {
|
"locked": {
|
||||||
"lastModified": 1761016216,
|
"lastModified": 1761765539,
|
||||||
"narHash": "sha256-G/iC4t/9j/52i/nm+0/4ybBmAF4hzR8CNHC75qEhjHo=",
|
"narHash": "sha256-b0yj6kfvO8ApcSE+QmA6mUfu8IYG6/uU28OFn4PaC8M=",
|
||||||
"owner": "nixos",
|
"owner": "nix-community",
|
||||||
"repo": "nixpkgs",
|
"repo": "nixpkgs.lib",
|
||||||
"rev": "481cf557888e05d3128a76f14c76397b7d7cc869",
|
"rev": "719359f4562934ae99f5443f20aa06c2ffff91fc",
|
||||||
"type": "github"
|
"type": "github"
|
||||||
},
|
},
|
||||||
"original": {
|
"original": {
|
||||||
"owner": "nixos",
|
"owner": "nix-community",
|
||||||
"ref": "nixos-25.05",
|
"repo": "nixpkgs.lib",
|
||||||
"repo": "nixpkgs",
|
|
||||||
"type": "github"
|
"type": "github"
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
"nixpkgs_5": {
|
"nixpkgs_2": {
|
||||||
"locked": {
|
"locked": {
|
||||||
"lastModified": 1763966396,
|
"lastModified": 1764242076,
|
||||||
"narHash": "sha256-6eeL1YPcY1MV3DDStIDIdy/zZCDKgHdkCmsrLJFiZf0=",
|
"narHash": "sha256-sKoIWfnijJ0+9e4wRvIgm/HgE27bzwQxcEmo2J/gNpI=",
|
||||||
"owner": "nixos",
|
|
||||||
"repo": "nixpkgs",
|
|
||||||
"rev": "5ae3b07d8d6527c42f17c876e404993199144b6a",
|
|
||||||
"type": "github"
|
|
||||||
},
|
|
||||||
"original": {
|
|
||||||
"owner": "nixos",
|
|
||||||
"ref": "nixos-unstable",
|
|
||||||
"repo": "nixpkgs",
|
|
||||||
"type": "github"
|
|
||||||
}
|
|
||||||
},
|
|
||||||
"nixpkgs_6": {
|
|
||||||
"locked": {
|
|
||||||
"lastModified": 1761880412,
|
|
||||||
"narHash": "sha256-QoJjGd4NstnyOG4mm4KXF+weBzA2AH/7gn1Pmpfcb0A=",
|
|
||||||
"owner": "nixos",
|
|
||||||
"repo": "nixpkgs",
|
|
||||||
"rev": "a7fc11be66bdfb5cdde611ee5ce381c183da8386",
|
|
||||||
"type": "github"
|
|
||||||
},
|
|
||||||
"original": {
|
|
||||||
"owner": "nixos",
|
|
||||||
"ref": "nixpkgs-unstable",
|
|
||||||
"repo": "nixpkgs",
|
|
||||||
"type": "github"
|
|
||||||
}
|
|
||||||
},
|
|
||||||
"nixpkgs_7": {
|
|
||||||
"locked": {
|
|
||||||
"lastModified": 1763618868,
|
|
||||||
"narHash": "sha256-v5afmLjn/uyD9EQuPBn7nZuaZVV9r+JerayK/4wvdWA=",
|
|
||||||
"owner": "NixOS",
|
"owner": "NixOS",
|
||||||
"repo": "nixpkgs",
|
"repo": "nixpkgs",
|
||||||
"rev": "a8d610af3f1a5fb71e23e08434d8d61a466fc942",
|
"rev": "2fad6eac6077f03fe109c4d4eb171cf96791faa4",
|
||||||
"type": "github"
|
|
||||||
},
|
|
||||||
"original": {
|
|
||||||
"owner": "NixOS",
|
|
||||||
"ref": "nixpkgs-unstable",
|
|
||||||
"repo": "nixpkgs",
|
|
||||||
"type": "github"
|
|
||||||
}
|
|
||||||
},
|
|
||||||
"nixpkgs_8": {
|
|
||||||
"locked": {
|
|
||||||
"lastModified": 1762977756,
|
|
||||||
"narHash": "sha256-4PqRErxfe+2toFJFgcRKZ0UI9NSIOJa+7RXVtBhy4KE=",
|
|
||||||
"owner": "NixOS",
|
|
||||||
"repo": "nixpkgs",
|
|
||||||
"rev": "c5ae371f1a6a7fd27823bc500d9390b38c05fa55",
|
|
||||||
"type": "github"
|
|
||||||
},
|
|
||||||
"original": {
|
|
||||||
"owner": "NixOS",
|
|
||||||
"ref": "nixos-unstable",
|
|
||||||
"repo": "nixpkgs",
|
|
||||||
"type": "github"
|
|
||||||
}
|
|
||||||
},
|
|
||||||
"nixpkgs_9": {
|
|
||||||
"locked": {
|
|
||||||
"lastModified": 1762111121,
|
|
||||||
"narHash": "sha256-4vhDuZ7OZaZmKKrnDpxLZZpGIJvAeMtK6FKLJYUtAdw=",
|
|
||||||
"owner": "NixOS",
|
|
||||||
"repo": "nixpkgs",
|
|
||||||
"rev": "b3d51a0365f6695e7dd5cdf3e180604530ed33b4",
|
|
||||||
"type": "github"
|
"type": "github"
|
||||||
},
|
},
|
||||||
"original": {
|
"original": {
|
||||||
@@ -985,28 +782,6 @@
|
|||||||
"type": "github"
|
"type": "github"
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
"nvf": {
|
|
||||||
"inputs": {
|
|
||||||
"flake-compat": "flake-compat_2",
|
|
||||||
"flake-parts": "flake-parts",
|
|
||||||
"mnw": "mnw",
|
|
||||||
"nixpkgs": "nixpkgs_6",
|
|
||||||
"systems": "systems_5"
|
|
||||||
},
|
|
||||||
"locked": {
|
|
||||||
"lastModified": 1762622004,
|
|
||||||
"narHash": "sha256-NpzzgaoMK8aRHnndHWbYNKLcZN0r1y6icCoJvGoBsoE=",
|
|
||||||
"owner": "notashelf",
|
|
||||||
"repo": "nvf",
|
|
||||||
"rev": "09470524a214ed26633ddc2b6ec0c9bf31a8b909",
|
|
||||||
"type": "github"
|
|
||||||
},
|
|
||||||
"original": {
|
|
||||||
"owner": "notashelf",
|
|
||||||
"repo": "nvf",
|
|
||||||
"type": "github"
|
|
||||||
}
|
|
||||||
},
|
|
||||||
"pre-commit-hooks": {
|
"pre-commit-hooks": {
|
||||||
"inputs": {
|
"inputs": {
|
||||||
"flake-compat": "flake-compat",
|
"flake-compat": "flake-compat",
|
||||||
@@ -1035,26 +810,26 @@
|
|||||||
"community-website": "community-website",
|
"community-website": "community-website",
|
||||||
"copyparty": "copyparty",
|
"copyparty": "copyparty",
|
||||||
"disko": "disko",
|
"disko": "disko",
|
||||||
"eleakxir": "eleakxir",
|
"flake-parts": "flake-parts",
|
||||||
|
"flake-utils": "flake-utils_2",
|
||||||
"home-manager": "home-manager",
|
"home-manager": "home-manager",
|
||||||
"hyprland": "hyprland",
|
"hyprland": "hyprland",
|
||||||
"hyprpanel": "hyprpanel",
|
"hyprpanel": "hyprpanel",
|
||||||
"nixCats": "nixCats",
|
"nixCats": "nixCats",
|
||||||
"nixarr": "nixarr",
|
|
||||||
"nixos-hardware": "nixos-hardware",
|
"nixos-hardware": "nixos-hardware",
|
||||||
"nixpkgs": "nixpkgs_5",
|
"nixpkgs": "nixpkgs_2",
|
||||||
"nvf": "nvf",
|
|
||||||
"sops-nix": "sops-nix",
|
"sops-nix": "sops-nix",
|
||||||
"spicetify-nix": "spicetify-nix",
|
"spicetify-nix": "spicetify-nix",
|
||||||
"stylix": "stylix",
|
"stylix": "stylix",
|
||||||
"vicinae": "vicinae",
|
"vicinae": "vicinae",
|
||||||
"zen-browser": "zen-browser",
|
|
||||||
"zentire-website": "zentire-website"
|
"zentire-website": "zentire-website"
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
"sops-nix": {
|
"sops-nix": {
|
||||||
"inputs": {
|
"inputs": {
|
||||||
"nixpkgs": "nixpkgs_7"
|
"nixpkgs": [
|
||||||
|
"nixpkgs"
|
||||||
|
]
|
||||||
},
|
},
|
||||||
"locked": {
|
"locked": {
|
||||||
"lastModified": 1764021963,
|
"lastModified": 1764021963,
|
||||||
@@ -1075,7 +850,7 @@
|
|||||||
"nixpkgs": [
|
"nixpkgs": [
|
||||||
"nixpkgs"
|
"nixpkgs"
|
||||||
],
|
],
|
||||||
"systems": "systems_6"
|
"systems": "systems_5"
|
||||||
},
|
},
|
||||||
"locked": {
|
"locked": {
|
||||||
"lastModified": 1763985453,
|
"lastModified": 1763985453,
|
||||||
@@ -1098,11 +873,15 @@
|
|||||||
"base16-helix": "base16-helix",
|
"base16-helix": "base16-helix",
|
||||||
"base16-vim": "base16-vim",
|
"base16-vim": "base16-vim",
|
||||||
"firefox-gnome-theme": "firefox-gnome-theme",
|
"firefox-gnome-theme": "firefox-gnome-theme",
|
||||||
"flake-parts": "flake-parts_2",
|
"flake-parts": [
|
||||||
|
"flake-parts"
|
||||||
|
],
|
||||||
"gnome-shell": "gnome-shell",
|
"gnome-shell": "gnome-shell",
|
||||||
"nixpkgs": "nixpkgs_8",
|
"nixpkgs": [
|
||||||
|
"nixpkgs"
|
||||||
|
],
|
||||||
"nur": "nur",
|
"nur": "nur",
|
||||||
"systems": "systems_7",
|
"systems": "systems_6",
|
||||||
"tinted-foot": "tinted-foot",
|
"tinted-foot": "tinted-foot",
|
||||||
"tinted-kitty": "tinted-kitty",
|
"tinted-kitty": "tinted-kitty",
|
||||||
"tinted-schemes": "tinted-schemes",
|
"tinted-schemes": "tinted-schemes",
|
||||||
@@ -1110,11 +889,11 @@
|
|||||||
"tinted-zed": "tinted-zed"
|
"tinted-zed": "tinted-zed"
|
||||||
},
|
},
|
||||||
"locked": {
|
"locked": {
|
||||||
"lastModified": 1764254063,
|
"lastModified": 1764451865,
|
||||||
"narHash": "sha256-V22JzkaTLF/GAL2LgqvOsJhAr8JbJsKaD8hnHjGwXfE=",
|
"narHash": "sha256-d4tfTm3ccp4rx7W1WW1BzSkTgEeMd4cZvhAJ7lP145M=",
|
||||||
"owner": "danth",
|
"owner": "danth",
|
||||||
"repo": "stylix",
|
"repo": "stylix",
|
||||||
"rev": "a1451bc40413870f0c7b576b751c1ca92055e323",
|
"rev": "8a096ccec828c68bfb870295d186ad994ea0ae2c",
|
||||||
"type": "github"
|
"type": "github"
|
||||||
},
|
},
|
||||||
"original": {
|
"original": {
|
||||||
@@ -1243,21 +1022,6 @@
|
|||||||
"type": "github"
|
"type": "github"
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
"systems_9": {
|
|
||||||
"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": {
|
"tinted-foot": {
|
||||||
"flake": false,
|
"flake": false,
|
||||||
"locked": {
|
"locked": {
|
||||||
@@ -1341,8 +1105,10 @@
|
|||||||
},
|
},
|
||||||
"vicinae": {
|
"vicinae": {
|
||||||
"inputs": {
|
"inputs": {
|
||||||
"nixpkgs": "nixpkgs_9",
|
"nixpkgs": [
|
||||||
"systems": "systems_8"
|
"nixpkgs"
|
||||||
|
],
|
||||||
|
"systems": "systems_7"
|
||||||
},
|
},
|
||||||
"locked": {
|
"locked": {
|
||||||
"lastModified": 1763934927,
|
"lastModified": 1763934927,
|
||||||
@@ -1358,42 +1124,6 @@
|
|||||||
"type": "github"
|
"type": "github"
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
"vpnconfinement": {
|
|
||||||
"locked": {
|
|
||||||
"lastModified": 1759956062,
|
|
||||||
"narHash": "sha256-NUZu0Rb0fwUjfdp51zMm0xM3lcK8Kw4c97LLog7+JjA=",
|
|
||||||
"owner": "Maroka-chan",
|
|
||||||
"repo": "VPN-Confinement",
|
|
||||||
"rev": "fabe7247b720b5eb4c3c053e24a2b3b70e64c52b",
|
|
||||||
"type": "github"
|
|
||||||
},
|
|
||||||
"original": {
|
|
||||||
"owner": "Maroka-chan",
|
|
||||||
"repo": "VPN-Confinement",
|
|
||||||
"type": "github"
|
|
||||||
}
|
|
||||||
},
|
|
||||||
"website-builder": {
|
|
||||||
"inputs": {
|
|
||||||
"nixpkgs": [
|
|
||||||
"nixarr",
|
|
||||||
"nixpkgs"
|
|
||||||
]
|
|
||||||
},
|
|
||||||
"locked": {
|
|
||||||
"lastModified": 1753958235,
|
|
||||||
"narHash": "sha256-Rd27XQJKv8Z4BCr3gdbaHFd0TmumiGxdjGRzsEf/mOg=",
|
|
||||||
"owner": "rasmus-kirk",
|
|
||||||
"repo": "website-builder",
|
|
||||||
"rev": "00a14b7ae7baef2197978ba7c3fe72dfca7bc475",
|
|
||||||
"type": "github"
|
|
||||||
},
|
|
||||||
"original": {
|
|
||||||
"owner": "rasmus-kirk",
|
|
||||||
"repo": "website-builder",
|
|
||||||
"type": "github"
|
|
||||||
}
|
|
||||||
},
|
|
||||||
"xdph": {
|
"xdph": {
|
||||||
"inputs": {
|
"inputs": {
|
||||||
"hyprland-protocols": [
|
"hyprland-protocols": [
|
||||||
@@ -1435,29 +1165,6 @@
|
|||||||
"type": "github"
|
"type": "github"
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
"zen-browser": {
|
|
||||||
"inputs": {
|
|
||||||
"home-manager": [
|
|
||||||
"home-manager"
|
|
||||||
],
|
|
||||||
"nixpkgs": [
|
|
||||||
"nixpkgs"
|
|
||||||
]
|
|
||||||
},
|
|
||||||
"locked": {
|
|
||||||
"lastModified": 1764217570,
|
|
||||||
"narHash": "sha256-vgqUC6lI/gW70uekA0bpNFU6yR0tcZRfLIZcxGfN76g=",
|
|
||||||
"owner": "0xc000022070",
|
|
||||||
"repo": "zen-browser-flake",
|
|
||||||
"rev": "3dc281d86044322f9182b20abbc21db8824c130a",
|
|
||||||
"type": "github"
|
|
||||||
},
|
|
||||||
"original": {
|
|
||||||
"owner": "0xc000022070",
|
|
||||||
"repo": "zen-browser-flake",
|
|
||||||
"type": "github"
|
|
||||||
}
|
|
||||||
},
|
|
||||||
"zentire-website": {
|
"zentire-website": {
|
||||||
"inputs": {
|
"inputs": {
|
||||||
"flake-utils": "flake-utils_4",
|
"flake-utils": "flake-utils_4",
|
||||||
@@ -1472,11 +1179,11 @@
|
|||||||
"rev": "518bc7f87540926bf9c497c788cd944df122ea6e",
|
"rev": "518bc7f87540926bf9c497c788cd944df122ea6e",
|
||||||
"revCount": 5,
|
"revCount": 5,
|
||||||
"type": "git",
|
"type": "git",
|
||||||
"url": "file:///home/kiri/dev/lab/zentire-new"
|
"url": "ssh://git@orion/kiri/zentire-website"
|
||||||
},
|
},
|
||||||
"original": {
|
"original": {
|
||||||
"type": "git",
|
"type": "git",
|
||||||
"url": "file:///home/kiri/dev/lab/zentire-new"
|
"url": "ssh://git@orion/kiri/zentire-website"
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
|
|||||||
70
flake.nix
70
flake.nix
@@ -6,51 +6,73 @@
|
|||||||
'';
|
'';
|
||||||
|
|
||||||
inputs = {
|
inputs = {
|
||||||
nixpkgs.url = "github:nixos/nixpkgs/nixos-unstable";
|
# NixOS
|
||||||
|
nixpkgs.url = "github:NixOS/nixpkgs/nixos-unstable";
|
||||||
nixos-hardware.url = "github:NixOS/nixos-hardware/master";
|
nixos-hardware.url = "github:NixOS/nixos-hardware/master";
|
||||||
hyprland.url = "git+https://github.com/hyprwm/Hyprland?submodules=1";
|
|
||||||
hyprpanel.url = "github:Jas-SinghFSU/HyprPanel";
|
# Home Manager
|
||||||
stylix.url = "github:danth/stylix";
|
|
||||||
#apple-fonts.url = "github:Lyndeno/apple-fonts.nix";
|
|
||||||
sops-nix.url = "github:Mic92/sops-nix";
|
|
||||||
nixarr.url = "github:rasmus-kirk/nixarr";
|
|
||||||
vicinae.url = "github:vicinaehq/vicinae";
|
|
||||||
nvf.url = "github:notashelf/nvf";
|
|
||||||
home-manager = {
|
home-manager = {
|
||||||
url = "github:nix-community/home-manager";
|
url = "github:nix-community/home-manager";
|
||||||
inputs.nixpkgs.follows = "nixpkgs";
|
inputs.nixpkgs.follows = "nixpkgs";
|
||||||
};
|
};
|
||||||
|
|
||||||
|
# Flakes
|
||||||
|
flake-utils.url = "github:numtide/flake-utils";
|
||||||
|
flake-parts.url = "github:hercules-ci/flake-parts";
|
||||||
|
|
||||||
|
# Others
|
||||||
|
nixCats.url = "github:BirdeeHub/nixCats-nvim";
|
||||||
|
|
||||||
|
sops-nix = {
|
||||||
|
url = "github:Mic92/sops-nix";
|
||||||
|
inputs.nixpkgs.follows = "nixpkgs";
|
||||||
|
};
|
||||||
|
|
||||||
|
stylix = {
|
||||||
|
url = "github:danth/stylix";
|
||||||
|
inputs.nixpkgs.follows = "nixpkgs";
|
||||||
|
inputs.flake-parts.follows = "flake-parts";
|
||||||
|
};
|
||||||
|
|
||||||
|
hyprland = {
|
||||||
|
url = "git+https://github.com/hyprwm/Hyprland?submodules=1";
|
||||||
|
inputs.nixpkgs.follows = "nixpkgs";
|
||||||
|
};
|
||||||
|
|
||||||
|
hyprpanel = {
|
||||||
|
url = "github:Jas-SinghFSU/HyprPanel";
|
||||||
|
inputs.home-manager.follows = "home-manager";
|
||||||
|
};
|
||||||
|
|
||||||
|
vicinae = {
|
||||||
|
url = "github:vicinaehq/vicinae";
|
||||||
|
inputs.nixpkgs.follows = "nixpkgs";
|
||||||
|
};
|
||||||
|
|
||||||
spicetify-nix = {
|
spicetify-nix = {
|
||||||
url = "github:Gerg-L/spicetify-nix";
|
url = "github:Gerg-L/spicetify-nix";
|
||||||
inputs.nixpkgs.follows = "nixpkgs";
|
inputs.nixpkgs.follows = "nixpkgs";
|
||||||
};
|
};
|
||||||
eleakxir.url = "github:anotherhadi/eleakxir";
|
|
||||||
zen-browser = {
|
copyparty = {
|
||||||
url = "github:0xc000022070/zen-browser-flake";
|
url = "github:9001/copyparty";
|
||||||
inputs = {
|
inputs.nixpkgs.follows = "nixpkgs";
|
||||||
nixpkgs.follows = "nixpkgs";
|
inputs.flake-utils.follows = "flake-utils";
|
||||||
home-manager.follows = "home-manager";
|
|
||||||
};
|
|
||||||
};
|
};
|
||||||
|
|
||||||
disko = {
|
disko = {
|
||||||
url = "github:nix-community/disko";
|
url = "github:nix-community/disko";
|
||||||
inputs.nixpkgs.follows = "nixpkgs";
|
inputs.nixpkgs.follows = "nixpkgs";
|
||||||
};
|
};
|
||||||
copyparty = {
|
|
||||||
url = "github:9001/copyparty";
|
|
||||||
inputs.nixpkgs.follows = "nixpkgs";
|
|
||||||
};
|
|
||||||
|
|
||||||
nixCats.url = "github:BirdeeHub/nixCats-nvim";
|
|
||||||
|
|
||||||
# Websites
|
# Websites
|
||||||
community-website = {
|
community-website = {
|
||||||
url = "git+file:///home/kiri/dev/lab/community-website";
|
url = "git+ssh://git@orion/kiri/community-website";
|
||||||
inputs.nixpkgs.follows = "nixpkgs";
|
inputs.nixpkgs.follows = "nixpkgs";
|
||||||
};
|
};
|
||||||
|
|
||||||
zentire-website = {
|
zentire-website = {
|
||||||
url = "git+file:///home/kiri/dev/lab/zentire-new";
|
url = "git+ssh://git@orion/kiri/zentire-website";
|
||||||
inputs.nixpkgs.follows = "nixpkgs";
|
inputs.nixpkgs.follows = "nixpkgs";
|
||||||
};
|
};
|
||||||
};
|
};
|
||||||
|
|||||||
@@ -1,23 +1,28 @@
|
|||||||
{ config, ... }:
|
{ config, ... }:
|
||||||
|
let
|
||||||
|
monitor = "desc:California Institute of Technology 0x1410";
|
||||||
|
in
|
||||||
{
|
{
|
||||||
config.var = {
|
config.var = {
|
||||||
hostname = "altair";
|
hostname = "altair";
|
||||||
|
|
||||||
|
has_battery = true;
|
||||||
|
|
||||||
hyprsunset.temperature = 2000;
|
hyprsunset.temperature = 2000;
|
||||||
|
|
||||||
hyprland = {
|
hyprland = {
|
||||||
workspace = [
|
workspace = [
|
||||||
"1, monitor:desc:California Institute of Technology 0x1410, persistent:true, default:true"
|
"1, monitor:${monitor}, persistent:true, default:true"
|
||||||
"2, monitor:desc:California Institute of Technology 0x1410, persistent:true"
|
"2, monitor:${monitor}, persistent:true"
|
||||||
"3, monitor:desc:California Institute of Technology 0x1410, persistent:true"
|
"3, monitor:${monitor}, persistent:true"
|
||||||
|
|
||||||
"11, monitor:desc:California Institute of Technology 0x1410, persistent:true"
|
"11, monitor:${monitor}, persistent:true"
|
||||||
"12, monitor:desc:California Institute of Technology 0x1410, persistent:true"
|
"12, monitor:${monitor}, persistent:true"
|
||||||
"13, monitor:desc:California Institute of Technology 0x1410, persistent:true"
|
"13, monitor:${monitor}, persistent:true"
|
||||||
];
|
];
|
||||||
|
|
||||||
monitor = [
|
monitor = [
|
||||||
"desc:California Institute of Technology 0x1410,3072x1920@120,auto,1.6"
|
"${monitor},3072x1920@120,auto,1.6"
|
||||||
];
|
];
|
||||||
};
|
};
|
||||||
};
|
};
|
||||||
|
|||||||
@@ -10,9 +10,9 @@
|
|||||||
../../modules/nixos/caddy.nix
|
../../modules/nixos/caddy.nix
|
||||||
../../modules/nixos/bitwarden.nix
|
../../modules/nixos/bitwarden.nix
|
||||||
../../modules/nixos/firewall.nix
|
../../modules/nixos/firewall.nix
|
||||||
../../modules/nixos/copyparty.nix
|
../../modules/nixos/syncthing.nix
|
||||||
|
../../modules/nixos/filebrowser.nix
|
||||||
../../modules/nixos/home-assistant.nix
|
../../modules/nixos/home-assistant.nix
|
||||||
../../modules/nixos/glance.nix
|
|
||||||
../../modules/nixos/radicale.nix
|
../../modules/nixos/radicale.nix
|
||||||
../../modules/nixos/actual-budget.nix
|
../../modules/nixos/actual-budget.nix
|
||||||
../../modules/nixos/gitea.nix
|
../../modules/nixos/gitea.nix
|
||||||
|
|||||||
@@ -3,10 +3,22 @@
|
|||||||
imports = [
|
imports = [
|
||||||
../../modules/nixos/desktop.nix
|
../../modules/nixos/desktop.nix
|
||||||
|
|
||||||
|
../../modules/nixos/ssh.nix
|
||||||
./hardware-configuration.nix
|
./hardware-configuration.nix
|
||||||
./variables.nix
|
./variables.nix
|
||||||
];
|
];
|
||||||
|
|
||||||
|
networking = {
|
||||||
|
interfaces = {
|
||||||
|
enp5s0 = {
|
||||||
|
wakeOnLan.enable = true;
|
||||||
|
};
|
||||||
|
};
|
||||||
|
firewall = {
|
||||||
|
allowedUDPPorts = [ 9 ];
|
||||||
|
};
|
||||||
|
};
|
||||||
|
|
||||||
home-manager.users."${config.var.username}" = import ./home.nix;
|
home-manager.users."${config.var.username}" = import ./home.nix;
|
||||||
|
|
||||||
system.stateVersion = "24.05";
|
system.stateVersion = "24.05";
|
||||||
|
|||||||
@@ -1,24 +1,30 @@
|
|||||||
{ config, ... }:
|
{ config, ... }:
|
||||||
|
let
|
||||||
|
monitor1 = "desc:LG Electronics LG ULTRAGEAR 103NTYT8R290";
|
||||||
|
monitor2 = "desc:LG Electronics LG ULTRAGEAR 103NTJJ8R332";
|
||||||
|
in
|
||||||
{
|
{
|
||||||
config.var = {
|
config.var = {
|
||||||
hostname = "polaris";
|
hostname = "polaris";
|
||||||
|
|
||||||
|
has_battery = false;
|
||||||
|
|
||||||
hyprsunset.temperature = 3500;
|
hyprsunset.temperature = 3500;
|
||||||
|
|
||||||
hyprland = {
|
hyprland = {
|
||||||
workspace = [
|
workspace = [
|
||||||
"1, monitor:desc:LG Electronics LG ULTRAGEAR 103NTYT8R290, persistent:true, default:true"
|
"1, monitor:${monitor1}, persistent:true, default:true"
|
||||||
"2, monitor:desc:LG Electronics LG ULTRAGEAR 103NTYT8R290, persistent:true"
|
"2, monitor:${monitor1}, persistent:true"
|
||||||
"3, monitor:desc:LG Electronics LG ULTRAGEAR 103NTYT8R290, persistent:true"
|
"3, monitor:${monitor1}, persistent:true"
|
||||||
|
|
||||||
"11, monitor:desc:LG Electronics LG ULTRAGEAR 103NTJJ8R332, persistent:true, default:true"
|
"11, monitor:${monitor2}, persistent:true, default:true"
|
||||||
"12, monitor:desc:LG Electronics LG ULTRAGEAR 103NTJJ8R332, persistent:true"
|
"12, monitor:${monitor2}, persistent:true"
|
||||||
"13, monitor:desc:LG Electronics LG ULTRAGEAR 103NTJJ8R332, persistent:true"
|
"13, monitor:${monitor2}, persistent:true"
|
||||||
];
|
];
|
||||||
|
|
||||||
monitor = [
|
monitor = [
|
||||||
"desc:LG Electronics LG ULTRAGEAR 103NTYT8R290,2560x1440@144,0x0,1"
|
"${monitor1},2560x1440@144,0x0,1"
|
||||||
"desc:LG Electronics LG ULTRAGEAR 103NTJJ8R332,2560x1440@144,2560x0,1"
|
"${monitor2},2560x1440@144,2560x0,1"
|
||||||
];
|
];
|
||||||
};
|
};
|
||||||
};
|
};
|
||||||
|
|||||||
@@ -1,10 +1,19 @@
|
|||||||
{ config, pkgs, ... }:
|
{ config, pkgs, ... }:
|
||||||
|
let
|
||||||
|
calendarsPath = "${config.xdg.dataHome}/calendars";
|
||||||
|
in
|
||||||
{
|
{
|
||||||
programs.pimsync.enable = true;
|
programs.pimsync.enable = true;
|
||||||
services.pimsync.enable = true;
|
services.pimsync.enable = true;
|
||||||
|
|
||||||
|
systemd.user.tmpfiles.rules = [
|
||||||
|
"d ${calendarsPath} 0700 - - - -"
|
||||||
|
"d ${calendarsPath}/radicale 0700 - - - -"
|
||||||
|
"d ${calendarsPath}/university 0700 - - - -"
|
||||||
|
];
|
||||||
|
|
||||||
accounts.calendar = {
|
accounts.calendar = {
|
||||||
basePath = "${config.xdg.dataHome}/calendars";
|
basePath = calendarsPath;
|
||||||
accounts = {
|
accounts = {
|
||||||
"radicale" = {
|
"radicale" = {
|
||||||
primary = true;
|
primary = true;
|
||||||
|
|||||||
@@ -1,10 +1,10 @@
|
|||||||
{ pkgs, ... }:
|
{ pkgs, config, ... }:
|
||||||
{
|
{
|
||||||
programs.rbw = {
|
programs.rbw = {
|
||||||
enable = true;
|
enable = true;
|
||||||
settings = {
|
settings = {
|
||||||
base_url = "https://vault.jelles.net";
|
base_url = "https://vault.jelles.net";
|
||||||
email = "mail@jelles.net";
|
email = config.var.email;
|
||||||
pinentry = pkgs.pinentry-gnome3;
|
pinentry = pkgs.pinentry-gnome3;
|
||||||
};
|
};
|
||||||
};
|
};
|
||||||
|
|||||||
@@ -5,4 +5,27 @@
|
|||||||
./shell
|
./shell
|
||||||
./git.nix
|
./git.nix
|
||||||
];
|
];
|
||||||
|
|
||||||
|
home.sessionVariables = {
|
||||||
|
CARGO_HOME = "${config.xdg.dataHome}/cargo";
|
||||||
|
RUSTUP_HOME = "${config.xdg.dataHome}/rustup";
|
||||||
|
NUGET_PACKAGES = "${config.xdg.dataHome}/nuget";
|
||||||
|
W3M_DIR = "${config.xdg.dataHome}/w3m";
|
||||||
|
};
|
||||||
|
|
||||||
|
xdg.userDirs = {
|
||||||
|
enable = true;
|
||||||
|
createDirectories = true;
|
||||||
|
|
||||||
|
download = "${config.home.homeDirectory}/download";
|
||||||
|
|
||||||
|
music = "${config.home.homeDirectory}/media/music";
|
||||||
|
pictures = "${config.home.homeDirectory}/media/images";
|
||||||
|
videos = "${config.home.homeDirectory}/media/videos";
|
||||||
|
|
||||||
|
desktop = "${config.xdg.dataHome}/desktop";
|
||||||
|
documents = "${config.xdg.dataHome}/documents";
|
||||||
|
publicShare = "${config.xdg.dataHome}/public";
|
||||||
|
templates = "${config.xdg.dataHome}/templates";
|
||||||
|
};
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -23,7 +23,6 @@
|
|||||||
./kitty.nix
|
./kitty.nix
|
||||||
./lazygit.nix
|
./lazygit.nix
|
||||||
./nh.nix
|
./nh.nix
|
||||||
./rclone.nix
|
|
||||||
./spicetify.nix
|
./spicetify.nix
|
||||||
./ssh.nix
|
./ssh.nix
|
||||||
./thunar.nix
|
./thunar.nix
|
||||||
@@ -81,6 +80,7 @@
|
|||||||
pfetch
|
pfetch
|
||||||
btop
|
btop
|
||||||
fastfetch
|
fastfetch
|
||||||
|
gimp
|
||||||
|
|
||||||
# Just cool
|
# Just cool
|
||||||
peaclock
|
peaclock
|
||||||
@@ -88,10 +88,9 @@
|
|||||||
pipes
|
pipes
|
||||||
cmatrix
|
cmatrix
|
||||||
|
|
||||||
# Backup
|
|
||||||
vscode
|
|
||||||
|
|
||||||
libreoffice-qt6-fresh
|
libreoffice-qt6-fresh
|
||||||
|
|
||||||
|
trash-cli
|
||||||
];
|
];
|
||||||
};
|
};
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -1,8 +1,6 @@
|
|||||||
# Git configuration
|
# Git configuration
|
||||||
{config, ...}: let
|
{ config, ... }:
|
||||||
username = config.var.git.username;
|
{
|
||||||
email = config.var.git.email;
|
|
||||||
in {
|
|
||||||
programs.git = {
|
programs.git = {
|
||||||
enable = true;
|
enable = true;
|
||||||
ignores = [
|
ignores = [
|
||||||
@@ -18,8 +16,8 @@ in {
|
|||||||
"result-*"
|
"result-*"
|
||||||
];
|
];
|
||||||
settings = {
|
settings = {
|
||||||
user.name = username;
|
user.name = config.var.username;
|
||||||
user.email = email;
|
user.email = config.var.email;
|
||||||
init.defaultBranch = "main";
|
init.defaultBranch = "main";
|
||||||
pull.rebase = "false";
|
pull.rebase = "false";
|
||||||
push.autoSetupRemote = true;
|
push.autoSetupRemote = true;
|
||||||
@@ -44,10 +42,8 @@ in {
|
|||||||
st = "status";
|
st = "status";
|
||||||
br = "branch";
|
br = "branch";
|
||||||
df = "!git hist | peco | awk '{print $2}' | xargs -I {} git diff {}^ {}";
|
df = "!git hist | peco | awk '{print $2}' | xargs -I {} git diff {}^ {}";
|
||||||
hist = ''
|
hist = ''log --pretty=format:"%Cgreen%h %Creset%cd %Cblue[%cn] %Creset%s%C(yellow)%d%C(reset)" --graph --date=relative --decorate --all'';
|
||||||
log --pretty=format:"%Cgreen%h %Creset%cd %Cblue[%cn] %Creset%s%C(yellow)%d%C(reset)" --graph --date=relative --decorate --all'';
|
llog = ''log --graph --name-status --pretty=format:"%C(red)%h %C(reset)(%cd) %C(green)%an %Creset%s %C(yellow)%d%Creset" --date=relative'';
|
||||||
llog = ''
|
|
||||||
log --graph --name-status --pretty=format:"%C(red)%h %C(reset)(%cd) %C(green)%an %Creset%s %C(yellow)%d%Creset" --date=relative'';
|
|
||||||
edit-unmerged = "!f() { git ls-files --unmerged | cut -f2 | sort -u ; }; hx `f`";
|
edit-unmerged = "!f() { git ls-files --unmerged | cut -f2 | sort -u ; }; hx `f`";
|
||||||
};
|
};
|
||||||
};
|
};
|
||||||
|
|||||||
@@ -2,7 +2,8 @@
|
|||||||
config,
|
config,
|
||||||
pkgs,
|
pkgs,
|
||||||
...
|
...
|
||||||
}: {
|
}:
|
||||||
|
{
|
||||||
programs.gpg = {
|
programs.gpg = {
|
||||||
enable = true;
|
enable = true;
|
||||||
homedir = "${config.xdg.dataHome}/gnupg";
|
homedir = "${config.xdg.dataHome}/gnupg";
|
||||||
@@ -15,6 +16,9 @@
|
|||||||
pinentry = {
|
pinentry = {
|
||||||
package = pkgs.pinentry-gnome3;
|
package = pkgs.pinentry-gnome3;
|
||||||
};
|
};
|
||||||
sshKeys = ["CD848796822630B280FC6DFA55F24A20040F22B5"];
|
sshKeys = [
|
||||||
|
"CD848796822630B280FC6DFA55F24A20040F22B5"
|
||||||
|
"B8FBDFBD7F42C444C17E086E0EE2E34FB43A7187"
|
||||||
|
];
|
||||||
};
|
};
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -144,24 +144,14 @@ in
|
|||||||
|
|
||||||
windowrule = [
|
windowrule = [
|
||||||
"match:title hyprpanel-settings, float on"
|
"match:title hyprpanel-settings, float on"
|
||||||
"match:class xdg-desktop-portal-gtk, float on, center on, size monitor_w/2 monitor_h/2"
|
"match:class xdg-desktop-portal-gtk, float on, center on, size (monitor_w * 0.5) (monitor_h * 0.5)"
|
||||||
# Bitwarden extension
|
# Match on bitwarden chrome extension id
|
||||||
|
"match:class .*nngceckbapebfimnlniiiahkandclblb.*, float on, center on, size (monitor_w * 0.5) (monitor_h * 0.5)"
|
||||||
# idle inhibit while watching videos
|
"match:class imv, float on, center on, max_size (monitor_w * 0.8) (monitor_h * 0.8)"
|
||||||
#"idleinhibit focus, class:^(mpv|.+exe|celluloid)$"
|
|
||||||
#"idleinhibit focus, class:^(zen)$, title:^(.*YouTube.*)$"
|
|
||||||
#"idleinhibit fullscreen, class:^(zen)$"
|
|
||||||
|
|
||||||
#"dimaround, class:^(gcr-prompter)$"
|
|
||||||
#"dimaround, class:^(xdg-desktop-portal-gtk)$"
|
|
||||||
#"dimaround, class:^(polkit-gnome-authentication-agent-1)$"
|
|
||||||
#"dimaround, class:^(zen)$, title:^(File Upload)$"
|
|
||||||
];
|
];
|
||||||
|
|
||||||
layerrule = [
|
layerrule = [
|
||||||
"match:namespace vicinae, no_anim on, blur on, ignore_alpha 0"
|
"match:namespace vicinae, no_anim on, blur on, ignore_alpha 0"
|
||||||
#"no_anim, launcher"
|
|
||||||
#"no_anim, ^ags-.*"
|
|
||||||
];
|
];
|
||||||
|
|
||||||
input = {
|
input = {
|
||||||
|
|||||||
@@ -1,6 +1,6 @@
|
|||||||
# Hyprpanel is the bar on top of the screen
|
# Hyprpanel is the bar on top of the screen
|
||||||
# Display information like workspaces, battery, wifi, ...
|
# Display information like workspaces, battery, wifi, ...
|
||||||
{ config, ... }:
|
{ config, lib, ... }:
|
||||||
let
|
let
|
||||||
transparentButtons = config.theme.bar.transparentButtons;
|
transparentButtons = config.theme.bar.transparentButtons;
|
||||||
|
|
||||||
@@ -46,11 +46,11 @@ in
|
|||||||
middle = [
|
middle = [
|
||||||
"media"
|
"media"
|
||||||
];
|
];
|
||||||
right = [
|
right = lib.flatten [
|
||||||
"systray"
|
"systray"
|
||||||
"volume"
|
"volume"
|
||||||
"bluetooth"
|
"bluetooth"
|
||||||
"battery"
|
(lib.optional config.var.has_battery "battery")
|
||||||
"network"
|
"network"
|
||||||
"clock"
|
"clock"
|
||||||
"notifications"
|
"notifications"
|
||||||
|
|||||||
@@ -12,9 +12,9 @@
|
|||||||
identity = true;
|
identity = true;
|
||||||
}
|
}
|
||||||
{
|
{
|
||||||
time = "23:00";
|
time = "00:00";
|
||||||
temperature = config.var.hyprsunset.temperature;
|
temperature = config.var.hyprsunset.temperature;
|
||||||
gamma = 0.8;
|
gamma = 1.0;
|
||||||
}
|
}
|
||||||
];
|
];
|
||||||
};
|
};
|
||||||
|
|||||||
@@ -1,4 +1,5 @@
|
|||||||
# Kitty is a fast, featureful, GPU based terminal emulator
|
# Kitty is a fast, featureful, GPU based terminal emulator
|
||||||
|
{ config, lib, ... }:
|
||||||
{
|
{
|
||||||
programs.kitty = {
|
programs.kitty = {
|
||||||
enable = true;
|
enable = true;
|
||||||
@@ -20,5 +21,52 @@
|
|||||||
allow_remote_control = "yes";
|
allow_remote_control = "yes";
|
||||||
listen_on = "unix:/tmp/mykitty";
|
listen_on = "unix:/tmp/mykitty";
|
||||||
};
|
};
|
||||||
|
|
||||||
|
# Override stylix generated colorscheme by officially provided kitty colorscheme
|
||||||
|
extraConfig = lib.mkAfter ''
|
||||||
|
## name: Kanagawa
|
||||||
|
## license: MIT
|
||||||
|
## author: Tommaso Laurenzi
|
||||||
|
## upstream: https://github.com/rebelot/kanagawa.nvim/
|
||||||
|
|
||||||
|
background #1F1F28
|
||||||
|
foreground #DCD7BA
|
||||||
|
selection_background #2D4F67
|
||||||
|
selection_foreground #C8C093
|
||||||
|
url_color #72A7BC
|
||||||
|
cursor #C8C093
|
||||||
|
|
||||||
|
# Tabs
|
||||||
|
active_tab_background #1F1F28
|
||||||
|
active_tab_foreground #C8C093
|
||||||
|
inactive_tab_background #1F1F28
|
||||||
|
inactive_tab_foreground #727169
|
||||||
|
#tab_bar_background #15161E
|
||||||
|
|
||||||
|
# normal
|
||||||
|
color0 #16161D
|
||||||
|
color1 #C34043
|
||||||
|
color2 #76946A
|
||||||
|
color3 #C0A36E
|
||||||
|
color4 #7E9CD8
|
||||||
|
color5 #957FB8
|
||||||
|
color6 #6A9589
|
||||||
|
color7 #C8C093
|
||||||
|
|
||||||
|
# bright
|
||||||
|
color8 #727169
|
||||||
|
color9 #E82424
|
||||||
|
color10 #98BB6C
|
||||||
|
color11 #E6C384
|
||||||
|
color12 #7FB4CA
|
||||||
|
color13 #938AA9
|
||||||
|
color14 #7AA89F
|
||||||
|
color15 #DCD7BA
|
||||||
|
|
||||||
|
# extended colors
|
||||||
|
color16 #FFA066
|
||||||
|
color17 #FF5D62
|
||||||
|
'';
|
||||||
|
|
||||||
};
|
};
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -1,6 +1,6 @@
|
|||||||
{config, ...}: {
|
{config, ...}: {
|
||||||
programs.nh = {
|
programs.nh = {
|
||||||
enable = true;
|
enable = true;
|
||||||
flake = "/home/kiri/.config/nixos"; # Assuming this is the flake root
|
flake = config.var.configDirectory; # Assuming this is the flake root
|
||||||
};
|
};
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -1,7 +1,19 @@
|
|||||||
{ inputs, config, ... }:
|
{
|
||||||
|
inputs,
|
||||||
|
lib,
|
||||||
|
config,
|
||||||
|
...
|
||||||
|
}:
|
||||||
let
|
let
|
||||||
inherit (inputs.nixCats) utils;
|
inherit (inputs.nixCats) utils;
|
||||||
luaPath = ./.;
|
luaPath = ./.;
|
||||||
|
|
||||||
|
themeConfig =
|
||||||
|
config.theme.neovim or {
|
||||||
|
plugin = null;
|
||||||
|
setup = "";
|
||||||
|
};
|
||||||
|
|
||||||
categoryDefinitions =
|
categoryDefinitions =
|
||||||
{ pkgs, ... }:
|
{ pkgs, ... }:
|
||||||
{
|
{
|
||||||
@@ -33,6 +45,7 @@ let
|
|||||||
typescript
|
typescript
|
||||||
typescript-language-server
|
typescript-language-server
|
||||||
|
|
||||||
|
rustc
|
||||||
rust-analyzer
|
rust-analyzer
|
||||||
rustfmt
|
rustfmt
|
||||||
|
|
||||||
@@ -43,15 +56,24 @@ let
|
|||||||
isort
|
isort
|
||||||
|
|
||||||
astro-language-server
|
astro-language-server
|
||||||
|
|
||||||
|
tinymist
|
||||||
|
typstyle
|
||||||
|
|
||||||
|
ltex-ls-plus
|
||||||
|
|
||||||
|
harper
|
||||||
];
|
];
|
||||||
};
|
};
|
||||||
|
|
||||||
startupPlugins = {
|
startupPlugins = {
|
||||||
general = with pkgs.vimPlugins; [
|
general =
|
||||||
|
with pkgs.vimPlugins;
|
||||||
|
[
|
||||||
lz-n
|
lz-n
|
||||||
plenary-nvim
|
plenary-nvim
|
||||||
catppuccin-nvim
|
]
|
||||||
];
|
++ (lib.optional (themeConfig.plugin != null) themeConfig.plugin);
|
||||||
};
|
};
|
||||||
|
|
||||||
optionalPlugins = {
|
optionalPlugins = {
|
||||||
@@ -86,7 +108,13 @@ let
|
|||||||
render-markdown-nvim
|
render-markdown-nvim
|
||||||
|
|
||||||
colorful-menu-nvim
|
colorful-menu-nvim
|
||||||
|
|
||||||
|
lualine-nvim
|
||||||
|
bufferline-nvim
|
||||||
|
|
||||||
|
zen-mode-nvim
|
||||||
];
|
];
|
||||||
|
|
||||||
};
|
};
|
||||||
|
|
||||||
sharedLibraries = {
|
sharedLibraries = {
|
||||||
@@ -129,9 +157,16 @@ let
|
|||||||
extra = {
|
extra = {
|
||||||
nixdExtras = {
|
nixdExtras = {
|
||||||
nixpkgs = ''import ${pkgs.path} {}'';
|
nixpkgs = ''import ${pkgs.path} {}'';
|
||||||
nixos_options = ''(builtins.getFlake "path:///home/kiri/.config/nixos").nixosConfigurations.${toString config.var.hostname}.options'';
|
nixos_options = ''(builtins.getFlake "path://${config.var.configDirectory}").nixosConfigurations.${toString config.var.hostname}.options'';
|
||||||
home_manager_options = ''(builtins.getFlake "path:///home/kiri/.config/nixos").nixosConfigurations.${toString config.var.hostname}.options.home-manager.users.type.getSubOptions []'';
|
home_manager_options = ''(builtins.getFlake "path://${config.var.configDirectory}").nixosConfigurations.${toString config.var.hostname}.options.home-manager.users.type.getSubOptions []'';
|
||||||
};
|
};
|
||||||
|
|
||||||
|
themeSetup = themeConfig.setup;
|
||||||
|
|
||||||
|
# Pass only base00-base0F to neovim
|
||||||
|
stylixColors = lib.filterAttrs (
|
||||||
|
k: v: builtins.match "base0[0-9A-F]" k != null
|
||||||
|
) config.lib.stylix.colors.withHashtag;
|
||||||
};
|
};
|
||||||
};
|
};
|
||||||
|
|
||||||
|
|||||||
@@ -171,13 +171,25 @@ require("lz.n").load({
|
|||||||
require("luasnip.loaders.from_vscode").lazy_load()
|
require("luasnip.loaders.from_vscode").lazy_load()
|
||||||
end,
|
end,
|
||||||
},
|
},
|
||||||
|
{
|
||||||
|
-- lazydev makes your lsp way better in your config without needing extra lsp configuration.
|
||||||
|
"lazydev.nvim",
|
||||||
|
cmd = "LazyDev",
|
||||||
|
ft = "lua",
|
||||||
|
after = function()
|
||||||
|
require("lazydev").setup({
|
||||||
|
library = {
|
||||||
|
{ words = { "nixCats" }, path = (nixCats.nixCatsPath or "") .. "/lua" },
|
||||||
|
},
|
||||||
|
})
|
||||||
|
end,
|
||||||
|
},
|
||||||
{
|
{
|
||||||
"blink.cmp",
|
"blink.cmp",
|
||||||
before = function()
|
before = function()
|
||||||
-- Trigger lazydev so it's ready for blink source
|
-- Trigger lazydev so it's ready for blink source
|
||||||
require("lz.n").trigger_load({ "lazydev.nvim", "luasnip" })
|
require("lz.n").trigger_load({ "lazydev.nvim", "luasnip" })
|
||||||
end,
|
end,
|
||||||
event = "VimEnter",
|
|
||||||
after = function()
|
after = function()
|
||||||
require("blink.cmp").setup({
|
require("blink.cmp").setup({
|
||||||
keymap = {
|
keymap = {
|
||||||
@@ -205,12 +217,8 @@ require("lz.n").load({
|
|||||||
documentation = {
|
documentation = {
|
||||||
auto_show = true,
|
auto_show = true,
|
||||||
auto_show_delay_ms = 500,
|
auto_show_delay_ms = 500,
|
||||||
window = {
|
|
||||||
border = "rounded",
|
|
||||||
},
|
|
||||||
},
|
},
|
||||||
menu = {
|
menu = {
|
||||||
border = "rounded",
|
|
||||||
draw = {
|
draw = {
|
||||||
columns = { { "kind_icon" }, { "label", gap = 1 } },
|
columns = { { "kind_icon" }, { "label", gap = 1 } },
|
||||||
components = {
|
components = {
|
||||||
@@ -254,7 +262,6 @@ require("lz.n").load({
|
|||||||
|
|
||||||
-- Shows a signature help window while you type arguments for a function
|
-- Shows a signature help window while you type arguments for a function
|
||||||
signature = {
|
signature = {
|
||||||
window = { border = "rounded" },
|
|
||||||
enabled = true,
|
enabled = true,
|
||||||
},
|
},
|
||||||
})
|
})
|
||||||
|
|||||||
@@ -167,4 +167,47 @@ require("lz.n").load({
|
|||||||
})
|
})
|
||||||
end,
|
end,
|
||||||
},
|
},
|
||||||
|
{
|
||||||
|
"mini.nvim",
|
||||||
|
after = function()
|
||||||
|
-- Better Around/Inside textobjects
|
||||||
|
require("mini.ai").setup({ n_lines = 500 })
|
||||||
|
|
||||||
|
-- Add/delete/replace surroundings (brackets, quotes, etc.)
|
||||||
|
require("mini.surround").setup()
|
||||||
|
|
||||||
|
local files = require("mini.files")
|
||||||
|
files.setup()
|
||||||
|
vim.keymap.set("n", "<leader>e", function()
|
||||||
|
if not files.close() then
|
||||||
|
files.open(vim.api.nvim_buf_get_name(0))
|
||||||
|
end
|
||||||
|
end, { desc = "File [E]xplorer" })
|
||||||
|
|
||||||
|
local icons = require("mini.icons")
|
||||||
|
icons.setup()
|
||||||
|
icons.mock_nvim_web_devicons()
|
||||||
|
|
||||||
|
local hipatterns = require("mini.hipatterns")
|
||||||
|
hipatterns.setup({
|
||||||
|
highlighters = {
|
||||||
|
-- Highlight hex color strings (#rrggbb) using that color
|
||||||
|
hex_color = hipatterns.gen_highlighter.hex_color(),
|
||||||
|
},
|
||||||
|
})
|
||||||
|
|
||||||
|
local indentscope = require("mini.indentscope")
|
||||||
|
indentscope.setup({
|
||||||
|
symbol = "│",
|
||||||
|
-- draw = { animation = indentscope.gen_animation.linear({}) },
|
||||||
|
})
|
||||||
|
|
||||||
|
vim.api.nvim_create_autocmd("FileType", {
|
||||||
|
pattern = { "help", "alpha", "dashboard", "neo-tree", "Trouble", "lazy", "mason" },
|
||||||
|
callback = function()
|
||||||
|
vim.b.miniindentscope_disable = true
|
||||||
|
end,
|
||||||
|
})
|
||||||
|
end,
|
||||||
|
},
|
||||||
})
|
})
|
||||||
|
|||||||
@@ -1,18 +1,4 @@
|
|||||||
require("lz.n").load({
|
require("lz.n").load({
|
||||||
{
|
|
||||||
{
|
|
||||||
-- lazydev makes your lsp way better in your config without needing extra lsp configuration.
|
|
||||||
"lazydev.nvim",
|
|
||||||
cmd = "LazyDev",
|
|
||||||
ft = "lua",
|
|
||||||
after = function()
|
|
||||||
require("lazydev").setup({
|
|
||||||
library = {
|
|
||||||
{ words = { "nixCats" }, path = (nixCats.nixCatsPath or "") .. "/lua" },
|
|
||||||
},
|
|
||||||
})
|
|
||||||
end,
|
|
||||||
},
|
|
||||||
{
|
{
|
||||||
"nvim-lspconfig",
|
"nvim-lspconfig",
|
||||||
event = { "BufReadPre", "BufNewFile" },
|
event = { "BufReadPre", "BufNewFile" },
|
||||||
@@ -78,8 +64,7 @@ require("lz.n").load({
|
|||||||
-- 1. Setup Diagnostics (Visuals)
|
-- 1. Setup Diagnostics (Visuals)
|
||||||
vim.diagnostic.config({
|
vim.diagnostic.config({
|
||||||
severity_sort = true,
|
severity_sort = true,
|
||||||
float = { border = "rounded", source = "if_many" },
|
-- underline = { severity = vim.diagnostic.severity.ERROR },
|
||||||
underline = { severity = vim.diagnostic.severity.ERROR },
|
|
||||||
signs = {
|
signs = {
|
||||||
text = {
|
text = {
|
||||||
[vim.diagnostic.severity.ERROR] = " ",
|
[vim.diagnostic.severity.ERROR] = " ",
|
||||||
@@ -162,7 +147,26 @@ require("lz.n").load({
|
|||||||
vim.lsp.enable("basedpyright")
|
vim.lsp.enable("basedpyright")
|
||||||
|
|
||||||
vim.lsp.enable("astro")
|
vim.lsp.enable("astro")
|
||||||
|
|
||||||
|
vim.lsp.config("tinymist", {
|
||||||
|
settings = {
|
||||||
|
tinymist = {
|
||||||
|
formatterMode = "typstyle",
|
||||||
|
},
|
||||||
|
},
|
||||||
|
})
|
||||||
|
vim.lsp.enable("tinymist")
|
||||||
|
|
||||||
|
vim.lsp.config("ltex_plus", {
|
||||||
|
settings = {
|
||||||
|
ltex = {
|
||||||
|
language = "nl",
|
||||||
|
},
|
||||||
|
},
|
||||||
|
})
|
||||||
|
vim.lsp.enable("ltex_plus")
|
||||||
|
|
||||||
|
vim.lsp.enable("harper_ls")
|
||||||
end,
|
end,
|
||||||
},
|
},
|
||||||
},
|
|
||||||
})
|
})
|
||||||
|
|||||||
@@ -1,49 +1,73 @@
|
|||||||
require("lz.n").load({
|
require("lz.n").load({
|
||||||
|
-- {
|
||||||
|
-- "catppuccin-nvim",
|
||||||
|
-- event = "VimEnter",
|
||||||
|
-- after = function()
|
||||||
|
-- require("catppuccin").setup({
|
||||||
|
-- flavour = "mocha",
|
||||||
|
-- term_colors = true,
|
||||||
|
-- dim_inactive = {
|
||||||
|
-- enabled = true,
|
||||||
|
-- shade = "dark",
|
||||||
|
-- percentage = 0.15,
|
||||||
|
-- },
|
||||||
|
-- integrations = {
|
||||||
|
-- gitsigns = true,
|
||||||
|
-- telescope = true,
|
||||||
|
-- treesitter = true,
|
||||||
|
-- treesitter_context = true,
|
||||||
|
-- markdown = true,
|
||||||
|
-- which_key = true,
|
||||||
|
-- blink_cmp = {
|
||||||
|
-- style = "bordered",
|
||||||
|
-- },
|
||||||
|
-- },
|
||||||
|
--
|
||||||
|
-- native_lsp = {
|
||||||
|
-- enabled = true,
|
||||||
|
-- virtual_text = {
|
||||||
|
-- errors = { "italic" },
|
||||||
|
-- hints = { "italic" },
|
||||||
|
-- warnings = { "italic" },
|
||||||
|
-- information = { "italic" },
|
||||||
|
-- },
|
||||||
|
-- underlines = {
|
||||||
|
-- errors = { "underline" },
|
||||||
|
-- hints = { "underline" },
|
||||||
|
-- warnings = { "underline" },
|
||||||
|
-- information = { "underline" },
|
||||||
|
-- },
|
||||||
|
-- inlay_hints = {
|
||||||
|
-- background = true,
|
||||||
|
-- },
|
||||||
|
-- },
|
||||||
|
-- })
|
||||||
|
--
|
||||||
|
-- vim.cmd.colorscheme("catppuccin")
|
||||||
|
-- end,
|
||||||
|
-- },
|
||||||
{
|
{
|
||||||
"catppuccin-nvim",
|
"theme-loader",
|
||||||
event = "VimEnter",
|
event = "VimEnter",
|
||||||
after = function()
|
load = function()
|
||||||
require("catppuccin").setup({
|
local theme_code = nixCats.extra("themeSetup")
|
||||||
flavour = "mocha",
|
|
||||||
term_colors = true,
|
|
||||||
dim_inactive = {
|
|
||||||
enabled = true,
|
|
||||||
shade = "dark",
|
|
||||||
percentage = 0.15,
|
|
||||||
},
|
|
||||||
integrations = {
|
|
||||||
gitsigns = true,
|
|
||||||
telescope = true,
|
|
||||||
treesitter = true,
|
|
||||||
treesitter_context = true,
|
|
||||||
markdown = true,
|
|
||||||
which_key = true,
|
|
||||||
blink_cmp = {
|
|
||||||
style = "bordered",
|
|
||||||
},
|
|
||||||
},
|
|
||||||
|
|
||||||
native_lsp = {
|
if theme_code and theme_code ~= "" then
|
||||||
enabled = true,
|
local func, err = loadstring(theme_code)
|
||||||
virtual_text = {
|
if func then
|
||||||
errors = { "italic" },
|
func()
|
||||||
hints = { "italic" },
|
else
|
||||||
warnings = { "italic" },
|
print("Error loading theme code: " .. err)
|
||||||
information = { "italic" },
|
end
|
||||||
},
|
else
|
||||||
underlines = {
|
local colors = nixCats.extra("stylixColors")
|
||||||
errors = { "underline" },
|
if colors then
|
||||||
hints = { "underline" },
|
require("lz.n").trigger_load("mini.nvim")
|
||||||
warnings = { "underline" },
|
require("mini.base16").setup({
|
||||||
information = { "underline" },
|
palette = colors,
|
||||||
},
|
|
||||||
inlay_hints = {
|
|
||||||
background = true,
|
|
||||||
},
|
|
||||||
},
|
|
||||||
})
|
})
|
||||||
|
end
|
||||||
vim.cmd.colorscheme("catppuccin")
|
end
|
||||||
end,
|
end,
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
@@ -85,9 +109,6 @@ require("lz.n").load({
|
|||||||
require("which-key").setup({
|
require("which-key").setup({
|
||||||
preset = "modern",
|
preset = "modern",
|
||||||
delay = 200,
|
delay = 200,
|
||||||
win = {
|
|
||||||
border = "rounded",
|
|
||||||
},
|
|
||||||
icons = {
|
icons = {
|
||||||
-- set icon mappings to true if you have a Nerd Font
|
-- set icon mappings to true if you have a Nerd Font
|
||||||
mappings = true,
|
mappings = true,
|
||||||
@@ -106,52 +127,83 @@ require("lz.n").load({
|
|||||||
end,
|
end,
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"mini.nvim",
|
"lualine.nvim",
|
||||||
|
event = "VimEnter",
|
||||||
after = function()
|
after = function()
|
||||||
-- Better Around/Inside textobjects
|
require("lualine").setup({
|
||||||
require("mini.ai").setup({ n_lines = 500 })
|
options = {
|
||||||
|
icons_enabled = true,
|
||||||
|
globalstatus = true,
|
||||||
|
component_separators = "",
|
||||||
|
section_separators = "",
|
||||||
|
},
|
||||||
|
sections = {
|
||||||
|
lualine_a = { "mode" },
|
||||||
|
lualine_b = { "branch", "diagnostics" },
|
||||||
|
lualine_c = { "filename" },
|
||||||
|
|
||||||
-- Add/delete/replace surroundings (brackets, quotes, etc.)
|
lualine_x = { "lsp_status" },
|
||||||
require("mini.surround").setup()
|
lualine_y = { "progress" },
|
||||||
|
lualine_z = { "location" },
|
||||||
-- Simple and easy statusline.
|
|
||||||
local statusline = require("mini.statusline")
|
|
||||||
statusline.setup({ use_icons = true })
|
|
||||||
statusline.section_location = function()
|
|
||||||
return "%2l:%-2v"
|
|
||||||
end
|
|
||||||
|
|
||||||
local files = require("mini.files")
|
|
||||||
files.setup()
|
|
||||||
vim.keymap.set("n", "<leader>e", function()
|
|
||||||
if not files.close() then
|
|
||||||
files.open(vim.api.nvim_buf_get_name(0))
|
|
||||||
end
|
|
||||||
end, { desc = "File [E]xplorer" })
|
|
||||||
|
|
||||||
local icons = require("mini.icons")
|
|
||||||
icons.setup()
|
|
||||||
icons.mock_nvim_web_devicons()
|
|
||||||
|
|
||||||
local hipatterns = require("mini.hipatterns")
|
|
||||||
hipatterns.setup({
|
|
||||||
highlighters = {
|
|
||||||
-- Highlight hex color strings (#rrggbb) using that color
|
|
||||||
hex_color = hipatterns.gen_highlighter.hex_color(),
|
|
||||||
},
|
},
|
||||||
})
|
})
|
||||||
|
|
||||||
local indentscope = require("mini.indentscope")
|
|
||||||
indentscope.setup({
|
|
||||||
symbol = "│",
|
|
||||||
-- draw = { animation = indentscope.gen_animation.linear({}) },
|
|
||||||
})
|
|
||||||
|
|
||||||
vim.api.nvim_create_autocmd("FileType", {
|
|
||||||
pattern = { "help", "alpha", "dashboard", "neo-tree", "Trouble", "lazy", "mason" },
|
|
||||||
callback = function()
|
|
||||||
vim.b.miniindentscope_disable = true
|
|
||||||
end,
|
end,
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"bufferline.nvim",
|
||||||
|
enabled = false,
|
||||||
|
event = "VimEnter",
|
||||||
|
after = function()
|
||||||
|
require("bufferline").setup({
|
||||||
|
options = {
|
||||||
|
mode = "buffers",
|
||||||
|
numbers = "none",
|
||||||
|
|
||||||
|
separator_style = "thick",
|
||||||
|
|
||||||
|
-- Integrations
|
||||||
|
diagnostics = "nvim_lsp",
|
||||||
|
diagnostics_indicator = function(count, level, diagnostics_dict, context)
|
||||||
|
local icon = level:match("error") and " " or " "
|
||||||
|
return " " .. icon .. count
|
||||||
|
end,
|
||||||
|
|
||||||
|
-- Visuals
|
||||||
|
show_buffer_close_icons = false,
|
||||||
|
show_close_icon = false,
|
||||||
|
color_icons = true,
|
||||||
|
show_tab_indicators = true,
|
||||||
|
},
|
||||||
|
|
||||||
|
highlights = {
|
||||||
|
fill = {
|
||||||
|
bg = "NONE", -- Makes the empty space transparent/blended
|
||||||
|
},
|
||||||
|
background = {
|
||||||
|
bg = "NONE", -- Makes inactive buffers transparent/blended
|
||||||
|
},
|
||||||
|
-- Optional: Fix separators if they look "cut off"
|
||||||
|
separator = {
|
||||||
|
fg = { attribute = "bg", highlight = "Normal" },
|
||||||
|
bg = "NONE",
|
||||||
|
},
|
||||||
|
separator_visible = {
|
||||||
|
fg = { attribute = "bg", highlight = "Normal" },
|
||||||
|
bg = "NONE",
|
||||||
|
},
|
||||||
|
},
|
||||||
|
})
|
||||||
|
end,
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"zen-mode.nvim",
|
||||||
|
after = function()
|
||||||
|
require("zen-mode").setup({
|
||||||
|
window = {
|
||||||
|
options = {
|
||||||
|
linebreak = true,
|
||||||
|
},
|
||||||
|
},
|
||||||
})
|
})
|
||||||
end,
|
end,
|
||||||
},
|
},
|
||||||
|
|||||||
@@ -1,31 +1,70 @@
|
|||||||
|
{
|
||||||
|
config,
|
||||||
|
pkgs,
|
||||||
|
...
|
||||||
|
}:
|
||||||
{
|
{
|
||||||
programs.rclone = {
|
programs.rclone = {
|
||||||
enable = true;
|
enable = true;
|
||||||
remotes = {
|
|
||||||
gdrive = {
|
|
||||||
config = {
|
|
||||||
type = "drive";
|
|
||||||
scope = "drive";
|
|
||||||
|
|
||||||
root_folder_id = "";
|
# Give rclone access to the ssh agent
|
||||||
|
package = pkgs.writeShellScriptBin "rclone" ''
|
||||||
|
export GNUPGHOME="${config.xdg.dataHome}/gnupg"
|
||||||
|
export SSH_AUTH_SOCK=$(${pkgs.gnupg}/bin/gpgconf --list-dirs agent-ssh-socket)
|
||||||
|
exec ${pkgs.rclone}/bin/rclone "$@"
|
||||||
|
'';
|
||||||
|
|
||||||
|
remotes = {
|
||||||
|
# gdrive = {
|
||||||
|
# config = {
|
||||||
|
# type = "drive";
|
||||||
|
# scope = "drive";
|
||||||
|
#
|
||||||
|
# root_folder_id = "";
|
||||||
|
# };
|
||||||
|
#
|
||||||
|
# secrets = {
|
||||||
|
# token = "${config.xdg.configHome}/rclone/gdrive_token";
|
||||||
|
#
|
||||||
|
# client_id = "${config.xdg.configHome}/rclone/gdrive_client_id";
|
||||||
|
# client_secret = "${config.xdg.configHome}/rclone/gdrive_client_secret"; # TODO: sops?
|
||||||
|
# };
|
||||||
|
#
|
||||||
|
# mounts = {
|
||||||
|
# "/" = {
|
||||||
|
# enable = true;
|
||||||
|
# mountPoint = "${config.home.homeDirectory}/gdrive";
|
||||||
|
#
|
||||||
|
# options = {
|
||||||
|
# dir-cache-time = "5m";
|
||||||
|
# poll-interval = "10s";
|
||||||
|
# };
|
||||||
|
# };
|
||||||
|
# };
|
||||||
|
# };
|
||||||
|
|
||||||
|
orion = {
|
||||||
|
config = {
|
||||||
|
type = "sftp";
|
||||||
|
user = config.var.username;
|
||||||
};
|
};
|
||||||
|
|
||||||
secrets = {
|
secrets = {
|
||||||
token = "/home/kiri/.config/rclone/gdrive_token";
|
host = config.sops.secrets.orion_ip.path;
|
||||||
|
|
||||||
client_id = "/home/kiri/.config/rclone/gdrive_client_id";
|
|
||||||
client_secret = "/home/kiri/.config/rclone/gdrive_client_secret"; #TODO: sops?
|
|
||||||
};
|
};
|
||||||
|
|
||||||
mounts = {
|
mounts = {
|
||||||
"/" = {
|
"/var/lib/filebrowser/files" = {
|
||||||
enable = true;
|
enable = true;
|
||||||
mountPoint = "/home/kiri/gdrive";
|
|
||||||
|
mountPoint = "${config.home.homeDirectory}/orion";
|
||||||
|
|
||||||
options = {
|
options = {
|
||||||
dir-cache-time = "5000h";
|
dir-cache-time = "5m";
|
||||||
poll-interval = "10s";
|
poll-interval = "10s";
|
||||||
vfs-cache-mode = "full";
|
# Network optimizations
|
||||||
|
"buffer-size" = "32M";
|
||||||
|
"vfs-read-chunk-size" = "32M";
|
||||||
};
|
};
|
||||||
};
|
};
|
||||||
};
|
};
|
||||||
|
|||||||
@@ -21,6 +21,9 @@ in
|
|||||||
|
|
||||||
programs.zsh = {
|
programs.zsh = {
|
||||||
enable = true;
|
enable = true;
|
||||||
|
|
||||||
|
dotDir = "${config.xdg.configHome}/zsh";
|
||||||
|
|
||||||
enableCompletion = true;
|
enableCompletion = true;
|
||||||
autosuggestion.enable = true;
|
autosuggestion.enable = true;
|
||||||
syntaxHighlighting = {
|
syntaxHighlighting = {
|
||||||
@@ -40,6 +43,7 @@ in
|
|||||||
ignoreDups = true;
|
ignoreDups = true;
|
||||||
save = 10000;
|
save = 10000;
|
||||||
size = 10000;
|
size = 10000;
|
||||||
|
path = "${config.xdg.dataHome}/zsh_history";
|
||||||
};
|
};
|
||||||
|
|
||||||
profileExtra = lib.optionalString (config.home.sessionPath != [ ]) ''
|
profileExtra = lib.optionalString (config.home.sessionPath != [ ]) ''
|
||||||
|
|||||||
@@ -2,6 +2,17 @@
|
|||||||
{
|
{
|
||||||
programs.ssh = {
|
programs.ssh = {
|
||||||
enable = true;
|
enable = true;
|
||||||
|
enableDefaultConfig = false;
|
||||||
|
|
||||||
|
matchBlocks = {
|
||||||
|
"github-work" = {
|
||||||
|
hostname = "github.com";
|
||||||
|
user = "git";
|
||||||
|
identityFile = "/home/kiri/.ssh/github-work.pub";
|
||||||
|
identitiesOnly = true;
|
||||||
|
};
|
||||||
|
};
|
||||||
|
|
||||||
includes = [
|
includes = [
|
||||||
config.sops.secrets.ssh_config_orion.path
|
config.sops.secrets.ssh_config_orion.path
|
||||||
];
|
];
|
||||||
|
|||||||
@@ -2,7 +2,7 @@
|
|||||||
{
|
{
|
||||||
programs.thunderbird = {
|
programs.thunderbird = {
|
||||||
enable = true;
|
enable = true;
|
||||||
profiles.kiri = {
|
profiles.${config.var.username} = {
|
||||||
isDefault = true;
|
isDefault = true;
|
||||||
withExternalGnupg = true;
|
withExternalGnupg = true;
|
||||||
settings = {
|
settings = {
|
||||||
|
|||||||
@@ -1,12 +1,14 @@
|
|||||||
{ config, pkgs, ... }:
|
|
||||||
{
|
{
|
||||||
home.packages = [ pkgs.todoman ];
|
programs.todoman = {
|
||||||
|
enable = true;
|
||||||
xdg.configFile."todoman/config.py".text = ''
|
glob = "*/*";
|
||||||
path = "${config.xdg.dataHome}/calendars/*/*"
|
extraConfig = ''
|
||||||
date_format = "%d-%m-%Y"
|
date_format = "%Y-%m-%d"
|
||||||
time_format = "%H:%M"
|
time_format = "%H:%M"
|
||||||
default_list = "personal"
|
default_list = "personal"
|
||||||
default_due = 48
|
default_due = 0
|
||||||
|
default_command = "list --sort priority,due"
|
||||||
|
humanize = True
|
||||||
'';
|
'';
|
||||||
|
};
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -1,4 +1,9 @@
|
|||||||
{ inputs, pkgs, ... }:
|
{
|
||||||
|
inputs,
|
||||||
|
pkgs,
|
||||||
|
config,
|
||||||
|
...
|
||||||
|
}:
|
||||||
{
|
{
|
||||||
services.caddy = {
|
services.caddy = {
|
||||||
enable = true;
|
enable = true;
|
||||||
@@ -10,7 +15,8 @@
|
|||||||
root * ${inputs.zentire-website.packages.${pkgs.stdenv.hostPlatform.system}.default}
|
root * ${inputs.zentire-website.packages.${pkgs.stdenv.hostPlatform.system}.default}
|
||||||
file_server
|
file_server
|
||||||
'';
|
'';
|
||||||
email = "mail@jelles.net";
|
|
||||||
|
email = config.var.email;
|
||||||
};
|
};
|
||||||
|
|
||||||
networking.firewall = {
|
networking.firewall = {
|
||||||
|
|||||||
@@ -1,3 +1,7 @@
|
|||||||
|
{ config, ... }:
|
||||||
|
let
|
||||||
|
username = config.var.username;
|
||||||
|
in
|
||||||
{
|
{
|
||||||
services = {
|
services = {
|
||||||
copyparty = {
|
copyparty = {
|
||||||
@@ -7,6 +11,39 @@
|
|||||||
e2dsa = true;
|
e2dsa = true;
|
||||||
no-cfg = true;
|
no-cfg = true;
|
||||||
};
|
};
|
||||||
|
|
||||||
|
accounts = {
|
||||||
|
"${username}" = {
|
||||||
|
passwordFile = "/run/keys/copyparty-kiri-pass";
|
||||||
|
};
|
||||||
|
};
|
||||||
|
|
||||||
|
groups = {
|
||||||
|
"admin" = [ "${username}" ];
|
||||||
|
};
|
||||||
|
|
||||||
|
volumes = {
|
||||||
|
"/public" = {
|
||||||
|
path = "/var/lib/copyparty/public";
|
||||||
|
|
||||||
|
access = {
|
||||||
|
r = "*";
|
||||||
|
rwmd = "@admin";
|
||||||
|
};
|
||||||
|
|
||||||
|
flags = {
|
||||||
|
fk = 4;
|
||||||
|
scan = 60;
|
||||||
|
};
|
||||||
|
};
|
||||||
|
|
||||||
|
"/" = {
|
||||||
|
path = "/var/lib/copyparty/private";
|
||||||
|
access = {
|
||||||
|
rwmd = "@admin";
|
||||||
|
};
|
||||||
|
};
|
||||||
|
};
|
||||||
};
|
};
|
||||||
|
|
||||||
caddy.virtualHosts."files.jelles.net".extraConfig = "reverse_proxy :3923";
|
caddy.virtualHosts."files.jelles.net".extraConfig = "reverse_proxy :3923";
|
||||||
|
|||||||
@@ -7,6 +7,8 @@
|
|||||||
./fonts.nix
|
./fonts.nix
|
||||||
./sddm.nix
|
./sddm.nix
|
||||||
./hyprland.nix
|
./hyprland.nix
|
||||||
|
./printing.nix
|
||||||
./systemd-boot.nix
|
./systemd-boot.nix
|
||||||
|
./syncthing.nix
|
||||||
];
|
];
|
||||||
}
|
}
|
||||||
|
|||||||
128
modules/nixos/filebrowser.nix
Normal file
128
modules/nixos/filebrowser.nix
Normal file
@@ -0,0 +1,128 @@
|
|||||||
|
{
|
||||||
|
config,
|
||||||
|
pkgs,
|
||||||
|
lib,
|
||||||
|
...
|
||||||
|
}:
|
||||||
|
let
|
||||||
|
storageRoot = "/var/lib/filebrowser/files";
|
||||||
|
publishDirName = "_publish";
|
||||||
|
|
||||||
|
processorScript = pkgs.writeShellScriptBin "process-docs" ''
|
||||||
|
SRC_ROOT="${storageRoot}"
|
||||||
|
OUT_ROOT="${storageRoot}/${publishDirName}"
|
||||||
|
|
||||||
|
# Function to compile a single file
|
||||||
|
compile_file() {
|
||||||
|
local file="$1"
|
||||||
|
# Remove SRC_ROOT prefix to get relative path
|
||||||
|
local rel_path="''${file#$SRC_ROOT/}"
|
||||||
|
# Construct target path (swap extension to .pdf)
|
||||||
|
local target="$OUT_ROOT/''${rel_path%.*}.pdf"
|
||||||
|
local target_dir
|
||||||
|
target_dir=$(${pkgs.coreutils}/bin/dirname "$target")
|
||||||
|
|
||||||
|
echo "Processing: $rel_path"
|
||||||
|
${pkgs.coreutils}/bin/mkdir -p "$target_dir"
|
||||||
|
|
||||||
|
echo "Debug: Checking font visibility..."
|
||||||
|
typst fonts
|
||||||
|
|
||||||
|
if [[ "$file" == *.md ]]; then
|
||||||
|
pandoc "$file" -o "$target" --pdf-engine=typst -V mainfont="Libertinus Serif"
|
||||||
|
elif [[ "$file" == *.typ ]]; then
|
||||||
|
typst compile "$file" "$target"
|
||||||
|
fi
|
||||||
|
|
||||||
|
# Ensure filebrowser can read the new file
|
||||||
|
${pkgs.coreutils}/bin/chown filebrowser:filebrowser "$target"
|
||||||
|
}
|
||||||
|
|
||||||
|
export -f compile_file
|
||||||
|
export SRC_ROOT OUT_ROOT
|
||||||
|
|
||||||
|
# 1. Initial Scan: Find all .md/.typ files not inside the export dir
|
||||||
|
# and update them if the source is newer than the target
|
||||||
|
${pkgs.findutils}/bin/find "$SRC_ROOT" -type f \( -name "*.md" -o -name "*.typ" \) \
|
||||||
|
-not -path "$SRC_ROOT/${publishDirName}/*" | while read -r file; do
|
||||||
|
rel="''${file#$SRC_ROOT/}"
|
||||||
|
tgt="$OUT_ROOT/''${rel%.*}.pdf"
|
||||||
|
|
||||||
|
# Only compile if target doesn't exist or source is newer
|
||||||
|
if [ ! -f "$tgt" ] || [ "$file" -nt "$tgt" ]; then
|
||||||
|
compile_file "$file"
|
||||||
|
fi
|
||||||
|
done
|
||||||
|
|
||||||
|
# 2. Watcher Mode
|
||||||
|
echo "Starting watcher on $SRC_ROOT..."
|
||||||
|
# --exclude matches the export dir to prevent infinite loops
|
||||||
|
${pkgs.inotify-tools}/bin/inotifywait -m -r -e close_write,moved_to \
|
||||||
|
--exclude "${publishDirName}" \
|
||||||
|
--format '%w%f' "$SRC_ROOT" | while read -r file; do
|
||||||
|
if [[ "$file" == *.md ]] || [[ "$file" == *.typ ]]; then
|
||||||
|
compile_file "$file"
|
||||||
|
fi
|
||||||
|
done
|
||||||
|
'';
|
||||||
|
|
||||||
|
in
|
||||||
|
{
|
||||||
|
|
||||||
|
imports = [
|
||||||
|
./fonts.nix
|
||||||
|
];
|
||||||
|
|
||||||
|
services.filebrowser = {
|
||||||
|
enable = true;
|
||||||
|
|
||||||
|
settings = {
|
||||||
|
root = storageRoot;
|
||||||
|
port = 9876;
|
||||||
|
branding.name = "Jelle's Files";
|
||||||
|
};
|
||||||
|
};
|
||||||
|
|
||||||
|
services.caddy.virtualHosts."files.jelles.net".extraConfig = ''
|
||||||
|
reverse_proxy :${toString config.services.filebrowser.settings.port}
|
||||||
|
'';
|
||||||
|
|
||||||
|
# Auto compile pdfs
|
||||||
|
systemd.services.pdf-watcher = {
|
||||||
|
description = "Auto-compile MD and Typst to PDF";
|
||||||
|
after = [ "filebrowser.service" ];
|
||||||
|
wantedBy = [ "multi-user.target" ];
|
||||||
|
|
||||||
|
serviceConfig = {
|
||||||
|
User = "filebrowser";
|
||||||
|
Group = "filebrowser";
|
||||||
|
ExecStart = "${processorScript}/bin/process-docs";
|
||||||
|
|
||||||
|
WorkingDirectory = storageRoot;
|
||||||
|
Environment = [
|
||||||
|
"HOME=/var/lib/filebrowser"
|
||||||
|
"XDG_CACHE_HOME=/var/lib/filebrowser/.cache"
|
||||||
|
# 3"TYPST_FONT_PATHS=${lib.makeSearchPath "share/fonts" fontPackages}"
|
||||||
|
];
|
||||||
|
|
||||||
|
Restart = "always";
|
||||||
|
};
|
||||||
|
|
||||||
|
path = with pkgs; [
|
||||||
|
typst
|
||||||
|
pandoc
|
||||||
|
];
|
||||||
|
};
|
||||||
|
|
||||||
|
# Allow my user to access the filebrowser directory
|
||||||
|
users.users."${config.var.username}".extraGroups = [ "filebrowser" ];
|
||||||
|
|
||||||
|
systemd.services.filebrowser.serviceConfig = {
|
||||||
|
UMask = lib.mkForce "0007";
|
||||||
|
};
|
||||||
|
|
||||||
|
systemd.tmpfiles.rules = [
|
||||||
|
"Z /var/lib/filebrowser 0750 filebrowser filebrowser -" # Explicitly secure the data dir root
|
||||||
|
"Z /var/lib/filebrowser/files 2770 filebrowser filebrowser -" # Sticky group on files
|
||||||
|
];
|
||||||
|
}
|
||||||
@@ -20,6 +20,12 @@
|
|||||||
nerd-fonts.meslo-lg
|
nerd-fonts.meslo-lg
|
||||||
openmoji-color
|
openmoji-color
|
||||||
twemoji-color-font
|
twemoji-color-font
|
||||||
|
|
||||||
|
fira-sans
|
||||||
|
merriweather
|
||||||
|
|
||||||
|
lexend
|
||||||
|
literata
|
||||||
];
|
];
|
||||||
|
|
||||||
enableDefaultPackages = false;
|
enableDefaultPackages = false;
|
||||||
|
|||||||
165
modules/nixos/homepage.nix
Normal file
165
modules/nixos/homepage.nix
Normal file
@@ -0,0 +1,165 @@
|
|||||||
|
{ config, pkgs, ... }:
|
||||||
|
let
|
||||||
|
# Define standard colors/icons for consistency
|
||||||
|
domain = "jelles.net";
|
||||||
|
in
|
||||||
|
{
|
||||||
|
# Enable the Homepage Dashboard service
|
||||||
|
services.homepage-dashboard = {
|
||||||
|
enable = true;
|
||||||
|
listenPort = 8082; # Different from Glance (8101)
|
||||||
|
allowedHosts = "dashboard.${domain}";
|
||||||
|
|
||||||
|
# 1. Service Discovery & API Secrets
|
||||||
|
# For live stats (widgets), Homepage needs API keys.
|
||||||
|
# You can reference sops secrets here if you map them to a file readable by the homepage user.
|
||||||
|
# For now, I have set them to placeholders or disabled the API widgets where secrets are required.
|
||||||
|
|
||||||
|
services = [
|
||||||
|
{
|
||||||
|
"Personal" = [
|
||||||
|
{
|
||||||
|
"Home Assistant" = {
|
||||||
|
href = "https://home.${domain}";
|
||||||
|
description = "Smart Home Control";
|
||||||
|
icon = "home-assistant.png";
|
||||||
|
# To enable live stats (lights on, etc), un-comment and add a Long Lived Access Token:
|
||||||
|
# widget = {
|
||||||
|
# type = "homeassistant";
|
||||||
|
# url = "http://127.0.0.1:8123";
|
||||||
|
# key = "YOUR_LONG_LIVED_TOKEN";
|
||||||
|
# };
|
||||||
|
};
|
||||||
|
}
|
||||||
|
{
|
||||||
|
"Actual Budget" = {
|
||||||
|
href = "https://finance.${domain}";
|
||||||
|
description = "Finance Tracking";
|
||||||
|
icon = "actual-budget.png";
|
||||||
|
};
|
||||||
|
}
|
||||||
|
{
|
||||||
|
"Vaultwarden" = {
|
||||||
|
href = "https://vault.${domain}";
|
||||||
|
description = "Password Manager";
|
||||||
|
icon = "bitwarden.png";
|
||||||
|
# Widget to show status
|
||||||
|
widget = {
|
||||||
|
type = "vaultwarden";
|
||||||
|
url = "https://vault.${domain}";
|
||||||
|
};
|
||||||
|
};
|
||||||
|
}
|
||||||
|
{
|
||||||
|
"Radicale" = {
|
||||||
|
href = "https://radicale.${domain}";
|
||||||
|
description = "Calendar & Contacts";
|
||||||
|
icon = "radicale.png";
|
||||||
|
};
|
||||||
|
}
|
||||||
|
];
|
||||||
|
}
|
||||||
|
{
|
||||||
|
"Code & Files" = [
|
||||||
|
{
|
||||||
|
"Gitea" = {
|
||||||
|
href = "https://git.${domain}";
|
||||||
|
description = "Git Server";
|
||||||
|
icon = "gitea.png";
|
||||||
|
};
|
||||||
|
}
|
||||||
|
{
|
||||||
|
"FileBrowser" = {
|
||||||
|
href = "https://files.${domain}";
|
||||||
|
description = "Web File Manager";
|
||||||
|
icon = "filebrowser.png";
|
||||||
|
};
|
||||||
|
}
|
||||||
|
];
|
||||||
|
}
|
||||||
|
{
|
||||||
|
"Websites" = [
|
||||||
|
{
|
||||||
|
"Community" = {
|
||||||
|
href = "https://community.${domain}";
|
||||||
|
icon = "globe.png";
|
||||||
|
description = "Community Site";
|
||||||
|
};
|
||||||
|
}
|
||||||
|
{
|
||||||
|
"Zentire" = {
|
||||||
|
href = "https://zentire.${domain}";
|
||||||
|
icon = "globe.png";
|
||||||
|
description = "Zentire Site";
|
||||||
|
};
|
||||||
|
}
|
||||||
|
];
|
||||||
|
}
|
||||||
|
];
|
||||||
|
|
||||||
|
# 2. Widgets (Calendar, Search, Resources)
|
||||||
|
widgets = [
|
||||||
|
{
|
||||||
|
search = {
|
||||||
|
provider = "google";
|
||||||
|
target = "_blank";
|
||||||
|
};
|
||||||
|
}
|
||||||
|
{
|
||||||
|
# Shows system stats. Requires 'glances' or similar installed,
|
||||||
|
# but Homepage can also just show simple resources if running locally.
|
||||||
|
resources = {
|
||||||
|
cpu = true;
|
||||||
|
memory = true;
|
||||||
|
disk = "/";
|
||||||
|
};
|
||||||
|
}
|
||||||
|
{
|
||||||
|
# Calendar Widget linked to Radicale
|
||||||
|
# You need the "Private Export URL" for your calendar from Radicale.
|
||||||
|
calendar = {
|
||||||
|
showTime = true;
|
||||||
|
maxEvents = 10;
|
||||||
|
integrations = [
|
||||||
|
{
|
||||||
|
type = "ical";
|
||||||
|
url = "https://radicale.${domain}/kiri/personal.ics"; # Verify this path in your Radicale
|
||||||
|
name = "Personal";
|
||||||
|
color = "blue";
|
||||||
|
# If your Radicale is private, you might need to pass auth in the URL
|
||||||
|
# e.g. https://user:pass@radicale.jelles.net/...
|
||||||
|
}
|
||||||
|
];
|
||||||
|
};
|
||||||
|
}
|
||||||
|
];
|
||||||
|
|
||||||
|
settings = {
|
||||||
|
title = "Orion Dashboard";
|
||||||
|
background = {
|
||||||
|
# Using the wallpaper from your config if accessible, or a hex color
|
||||||
|
image = "https://raw.githubusercontent.com/anotherhadi/awesome-wallpapers/refs/heads/main/app/static/wallpapers/leef_dark_purple_minimalist.png";
|
||||||
|
opacity = 50;
|
||||||
|
};
|
||||||
|
layout = {
|
||||||
|
"Personal" = {
|
||||||
|
style = "row";
|
||||||
|
columns = 4;
|
||||||
|
};
|
||||||
|
"Code & Files" = {
|
||||||
|
style = "row";
|
||||||
|
columns = 2;
|
||||||
|
};
|
||||||
|
"Websites" = {
|
||||||
|
style = "row";
|
||||||
|
columns = 2;
|
||||||
|
};
|
||||||
|
};
|
||||||
|
};
|
||||||
|
};
|
||||||
|
|
||||||
|
# Expose Homepage via Caddy
|
||||||
|
services.caddy.virtualHosts."dashboard.${domain}".extraConfig = ''
|
||||||
|
reverse_proxy :8082
|
||||||
|
'';
|
||||||
|
}
|
||||||
17
modules/nixos/printing.nix
Normal file
17
modules/nixos/printing.nix
Normal file
@@ -0,0 +1,17 @@
|
|||||||
|
{ pkgs, ... }:
|
||||||
|
{
|
||||||
|
services.printing = {
|
||||||
|
enable = true;
|
||||||
|
drivers = with pkgs; [
|
||||||
|
cups-filters
|
||||||
|
cups-browsed
|
||||||
|
cnijfilter2
|
||||||
|
];
|
||||||
|
};
|
||||||
|
|
||||||
|
services.avahi = {
|
||||||
|
enable = true;
|
||||||
|
nssmdns4 = true;
|
||||||
|
openFirewall = true;
|
||||||
|
};
|
||||||
|
}
|
||||||
73
modules/nixos/syncthing.nix
Normal file
73
modules/nixos/syncthing.nix
Normal file
@@ -0,0 +1,73 @@
|
|||||||
|
{
|
||||||
|
config,
|
||||||
|
lib,
|
||||||
|
...
|
||||||
|
}:
|
||||||
|
let
|
||||||
|
devices = {
|
||||||
|
"altair" = {
|
||||||
|
id = "HDHWROJ-ZLNQKCL-PN6WGHA-IGJHIRI-3UHDYUU-LUJHYK4-UMKWLAZ-VFISJQF";
|
||||||
|
};
|
||||||
|
"orion" = {
|
||||||
|
id = "7ESQ3BX-FEW7656-ZPT3CKF-FLXON26-HXRNTDW-THSJBNF-LFWCHFB-ASP4WAG";
|
||||||
|
};
|
||||||
|
"polaris" = {
|
||||||
|
id = "6YBO3OK-3QVMKWL-ZOS4ZTF-G53CY6K-WYZJNFG-DTYCUA4-WJF2LRC-PJT3NAL";
|
||||||
|
};
|
||||||
|
};
|
||||||
|
|
||||||
|
username = config.var.username;
|
||||||
|
hostname = config.var.hostname;
|
||||||
|
isOrion = hostname == "orion";
|
||||||
|
|
||||||
|
# On desktops, sync to home directory. On server, sync to filebrowser storage.
|
||||||
|
syncPath = if isOrion then "/var/lib/filebrowser/files" else "/home/${username}/sync";
|
||||||
|
group = if isOrion then "filebrowser" else "users";
|
||||||
|
in
|
||||||
|
{
|
||||||
|
# 1. Firewall rules for synchronization
|
||||||
|
networking.firewall = {
|
||||||
|
allowedTCPPorts = [ 22000 ];
|
||||||
|
allowedUDPPorts = [
|
||||||
|
22000
|
||||||
|
21027
|
||||||
|
];
|
||||||
|
};
|
||||||
|
|
||||||
|
# 3. Syncthing Service Configuration
|
||||||
|
services.syncthing = {
|
||||||
|
enable = true;
|
||||||
|
|
||||||
|
user = username;
|
||||||
|
group = group;
|
||||||
|
|
||||||
|
overrideDevices = true; # Overrides any devices added via Web UI
|
||||||
|
overrideFolders = true; # Overrides any folders added via Web UI
|
||||||
|
|
||||||
|
settings = {
|
||||||
|
devices = devices;
|
||||||
|
|
||||||
|
folders = {
|
||||||
|
"sync" = {
|
||||||
|
path = syncPath;
|
||||||
|
devices = builtins.attrNames devices; # Share with all defined devices
|
||||||
|
# Ensure new files are readable by the group (chmod 770 approx)
|
||||||
|
ignorePerms = true;
|
||||||
|
};
|
||||||
|
};
|
||||||
|
|
||||||
|
gui = {
|
||||||
|
# access the GUI on localhost:8384
|
||||||
|
theme = "black";
|
||||||
|
};
|
||||||
|
};
|
||||||
|
};
|
||||||
|
|
||||||
|
# 4. Permission Hardening for Orion
|
||||||
|
# Force syncthing to write files with group-write permissions (007 umask = 770 perms)
|
||||||
|
systemd.services.syncthing.serviceConfig.UMask = lib.mkIf isOrion "0007";
|
||||||
|
|
||||||
|
systemd.tmpfiles.rules = [
|
||||||
|
"d /var/lib/syncthing 0700 ${username} ${group} -"
|
||||||
|
];
|
||||||
|
}
|
||||||
@@ -26,6 +26,13 @@
|
|||||||
transparentButtons = false;
|
transparentButtons = false;
|
||||||
floating = true;
|
floating = true;
|
||||||
};
|
};
|
||||||
|
|
||||||
|
neovim = {
|
||||||
|
plugin = pkgs.vimPlugins.catppuccin-nvim;
|
||||||
|
setup = ''
|
||||||
|
vim.cmd.colorscheme("catppuccin");
|
||||||
|
'';
|
||||||
|
};
|
||||||
};
|
};
|
||||||
description = "Theme configuration options";
|
description = "Theme configuration options";
|
||||||
};
|
};
|
||||||
@@ -36,22 +43,22 @@
|
|||||||
# Mocha
|
# Mocha
|
||||||
# See https://tinted-theming.github.io/tinted-gallery/ for more schemes
|
# See https://tinted-theming.github.io/tinted-gallery/ for more schemes
|
||||||
base16Scheme = {
|
base16Scheme = {
|
||||||
base00 = "0F0F15"; # Default Background
|
base00 = "#1e1e2e";
|
||||||
base01 = "15151A"; # Lighter Background (Used for status bars, line number and folding marks)
|
base01 = "#181825";
|
||||||
base02 = "313244"; # Selection Background
|
base02 = "#313244";
|
||||||
base03 = "45475a"; # Comments, Invisibles, Line Highlighting
|
base03 = "#45475a";
|
||||||
base04 = "585b70"; # Dark Foreground (Used for status bars)
|
base04 = "#585b70";
|
||||||
base05 = "cdd6f4"; # Default Foreground, Caret, Delimiters, Operators
|
base05 = "#cdd6f4";
|
||||||
base06 = "f5e0dc"; # Light Foreground (Not often used)
|
base06 = "#f5e0dc";
|
||||||
base07 = "b4befe"; # Light Background (Not often used)
|
base07 = "#b4befe";
|
||||||
base08 = "f38ba8"; # Variables, XML Tags, Markup Link Text, Markup Lists, Diff Deleted
|
base08 = "#f38ba8";
|
||||||
base09 = "fab387"; # Integers, Boolean, Constants, XML Attributes, Markup Link Url
|
base09 = "#fab387";
|
||||||
base0A = "f9e2af"; # Classes, Markup Bold, Search Text Background
|
base0A = "#f9e2af";
|
||||||
base0B = "a6e3a1"; # Strings, Inherited Class, Markup Code, Diff Inserted
|
base0B = "#a6e3a1";
|
||||||
base0C = "94e2d5"; # Support, Regular Expressions, Escape Characters, Markup Quotes
|
base0C = "#94e2d5";
|
||||||
base0D = "89b4fa"; # Functions, Methods, Attribute IDs, Headings, Accent color
|
base0D = "#89b4fa";
|
||||||
base0E = "cba6f7"; # Keywords, Storage, Selector, Markup Italic, Diff Changed
|
base0E = "#cba6f7";
|
||||||
base0F = "f2cdcd"; # Deprecated, Opening/Closing Embedded Language Tags, e.g. <?php ?>
|
base0F = "#f2cdcd";
|
||||||
};
|
};
|
||||||
|
|
||||||
cursor = {
|
cursor = {
|
||||||
@@ -65,11 +72,14 @@
|
|||||||
package = pkgs.nerd-fonts.jetbrains-mono;
|
package = pkgs.nerd-fonts.jetbrains-mono;
|
||||||
name = "JetBrains Mono Nerd Font";
|
name = "JetBrains Mono Nerd Font";
|
||||||
};
|
};
|
||||||
|
|
||||||
sansSerif = {
|
sansSerif = {
|
||||||
package = pkgs.source-sans-pro;
|
package = pkgs.source-sans-pro;
|
||||||
name = "Source Sans Pro";
|
name = "Source Sans Pro";
|
||||||
};
|
};
|
||||||
|
|
||||||
serif = config.stylix.fonts.sansSerif;
|
serif = config.stylix.fonts.sansSerif;
|
||||||
|
|
||||||
emoji = {
|
emoji = {
|
||||||
package = pkgs.noto-fonts-color-emoji;
|
package = pkgs.noto-fonts-color-emoji;
|
||||||
name = "Noto Color Emoji";
|
name = "Noto Color Emoji";
|
||||||
@@ -83,9 +93,19 @@
|
|||||||
};
|
};
|
||||||
|
|
||||||
polarity = "dark";
|
polarity = "dark";
|
||||||
|
# image = pkgs.fetchurl {
|
||||||
|
# url = "https://raw.githubusercontent.com/anotherhadi/awesome-wallpapers/refs/heads/main/app/static/wallpapers/leef_dark_purple_minimalist.png";
|
||||||
|
# sha256 = "sha256-q6ufFdC/tMSb+mllw7XhilkAObemXXyps2SBlnMt7mY=";
|
||||||
|
# };
|
||||||
|
|
||||||
|
# image = pkgs.fetchurl {
|
||||||
|
# url = "https://raw.githubusercontent.com/anotherhadi/awesome-wallpapers/refs/heads/main/app/static/wallpapers/alone-cloud_dark.png";
|
||||||
|
# sha256 = "sha256-L4Esjo6LEwhBEN29WX445F+54rlnvOtAMKsQz8Qpyuc=";
|
||||||
|
# };
|
||||||
|
|
||||||
image = pkgs.fetchurl {
|
image = pkgs.fetchurl {
|
||||||
url = "https://raw.githubusercontent.com/anotherhadi/awesome-wallpapers/refs/heads/main/app/static/wallpapers/leef_dark_purple_minimalist.png";
|
url = "https://raw.githubusercontent.com/anotherhadi/awesome-wallpapers/refs/heads/main/app/static/wallpapers/the-cloud-is-hidding-the-moon_dark.png";
|
||||||
sha256 = "sha256-q6ufFdC/tMSb+mllw7XhilkAObemXXyps2SBlnMt7mY=";
|
sha256 = "sha256-EEH2cHsVromD+X5VFF3YObNuSSRbDnpfqEN6fjCztbc=";
|
||||||
};
|
};
|
||||||
};
|
};
|
||||||
}
|
}
|
||||||
|
|||||||
114
modules/themes/gruvbox.nix
Normal file
114
modules/themes/gruvbox.nix
Normal file
@@ -0,0 +1,114 @@
|
|||||||
|
{
|
||||||
|
lib,
|
||||||
|
pkgs,
|
||||||
|
config,
|
||||||
|
...
|
||||||
|
}:
|
||||||
|
{
|
||||||
|
options.theme = lib.mkOption {
|
||||||
|
type = lib.types.attrs;
|
||||||
|
default = {
|
||||||
|
rounding = 17;
|
||||||
|
gaps-in = 5;
|
||||||
|
gaps-out = 10;
|
||||||
|
active-opacity = 1;
|
||||||
|
inactive-opacity = 1;
|
||||||
|
blur = true;
|
||||||
|
border-size = 3;
|
||||||
|
animation-speed = "fast"; # "fast" | "medium" | "slow"
|
||||||
|
fetch = "none"; # "nerdfetch" | "neofetch" | "pfetch" | "none"
|
||||||
|
textColorOnWallpaper = config.lib.stylix.colors.base01; # Color of the text displayed on the wallpaper (Lockscreen, display manager, ...)
|
||||||
|
|
||||||
|
bar = {
|
||||||
|
# Hyprpanel
|
||||||
|
position = "top"; # "top" | "bottom"
|
||||||
|
transparent = true;
|
||||||
|
transparentButtons = false;
|
||||||
|
floating = true;
|
||||||
|
};
|
||||||
|
|
||||||
|
neovim = {
|
||||||
|
plugin = pkgs.vimPlugins.tokyonight-nvim;
|
||||||
|
setup = ''
|
||||||
|
require("tokyonight").setup({
|
||||||
|
style = "night"
|
||||||
|
})
|
||||||
|
vim.cmd.colorscheme("tokyonight")
|
||||||
|
'';
|
||||||
|
};
|
||||||
|
};
|
||||||
|
description = "Theme configuration options";
|
||||||
|
};
|
||||||
|
|
||||||
|
config.stylix = {
|
||||||
|
enable = true;
|
||||||
|
|
||||||
|
# Tokyo Night Dark
|
||||||
|
# See https://tinted-theming.github.io/tinted-gallery/ for more schemes
|
||||||
|
base16Scheme = {
|
||||||
|
base00 = "#1A1B26";
|
||||||
|
base01 = "#16161E";
|
||||||
|
base02 = "#2F3549";
|
||||||
|
base03 = "#444B6A";
|
||||||
|
base04 = "#787C99";
|
||||||
|
base05 = "#A9B1D6";
|
||||||
|
base06 = "#CBCCD1";
|
||||||
|
base07 = "#D5D6DB";
|
||||||
|
base08 = "#C0CAF5";
|
||||||
|
base09 = "#A9B1D6";
|
||||||
|
base0A = "#0DB9D7";
|
||||||
|
base0B = "#9ECE6A";
|
||||||
|
base0C = "#B4F9F8";
|
||||||
|
base0D = "#2AC3DE";
|
||||||
|
base0E = "#BB9AF7";
|
||||||
|
base0F = "#F7768E";
|
||||||
|
};
|
||||||
|
|
||||||
|
cursor = {
|
||||||
|
name = "phinger-cursors-light";
|
||||||
|
package = pkgs.phinger-cursors;
|
||||||
|
size = 28;
|
||||||
|
};
|
||||||
|
|
||||||
|
fonts = {
|
||||||
|
monospace = {
|
||||||
|
package = pkgs.nerd-fonts.jetbrains-mono;
|
||||||
|
name = "JetBrains Mono Nerd Font";
|
||||||
|
};
|
||||||
|
|
||||||
|
sansSerif = {
|
||||||
|
package = pkgs.source-sans-pro;
|
||||||
|
name = "Source Sans Pro";
|
||||||
|
};
|
||||||
|
|
||||||
|
serif = config.stylix.fonts.sansSerif;
|
||||||
|
|
||||||
|
emoji = {
|
||||||
|
package = pkgs.noto-fonts-color-emoji;
|
||||||
|
name = "Noto Color Emoji";
|
||||||
|
};
|
||||||
|
sizes = {
|
||||||
|
applications = 13;
|
||||||
|
desktop = 13;
|
||||||
|
popups = 15;
|
||||||
|
terminal = 11.5;
|
||||||
|
};
|
||||||
|
};
|
||||||
|
|
||||||
|
polarity = "dark";
|
||||||
|
image = pkgs.fetchurl {
|
||||||
|
url = "https://raw.githubusercontent.com/anotherhadi/awesome-wallpapers/refs/heads/main/app/static/wallpapers/leef_dark_purple_minimalist.png";
|
||||||
|
sha256 = "sha256-q6ufFdC/tMSb+mllw7XhilkAObemXXyps2SBlnMt7mY=";
|
||||||
|
};
|
||||||
|
|
||||||
|
# image = pkgs.fetchurl {
|
||||||
|
# url = "https://raw.githubusercontent.com/anotherhadi/awesome-wallpapers/refs/heads/main/app/static/wallpapers/alone-cloud_dark.png";
|
||||||
|
# sha256 = "sha256-L4Esjo6LEwhBEN29WX445F+54rlnvOtAMKsQz8Qpyuc=";
|
||||||
|
# };
|
||||||
|
|
||||||
|
# image = pkgs.fetchurl {
|
||||||
|
# url = "https://raw.githubusercontent.com/anotherhadi/awesome-wallpapers/refs/heads/main/app/static/wallpapers/the-cloud-is-hidding-the-moon_dark.png";
|
||||||
|
# sha256 = "sha256-EEH2cHsVromD+X5VFF3YObNuSSRbDnpfqEN6fjCztbc=";
|
||||||
|
# };
|
||||||
|
};
|
||||||
|
}
|
||||||
162
modules/themes/kanagawa-dragon.nix
Normal file
162
modules/themes/kanagawa-dragon.nix
Normal file
@@ -0,0 +1,162 @@
|
|||||||
|
{
|
||||||
|
lib,
|
||||||
|
pkgs,
|
||||||
|
config,
|
||||||
|
...
|
||||||
|
}:
|
||||||
|
{
|
||||||
|
options.theme = lib.mkOption {
|
||||||
|
type = lib.types.attrs;
|
||||||
|
default = {
|
||||||
|
rounding = 17;
|
||||||
|
gaps-in = 5;
|
||||||
|
gaps-out = 10;
|
||||||
|
active-opacity = 1;
|
||||||
|
inactive-opacity = 1;
|
||||||
|
blur = true;
|
||||||
|
border-size = 3;
|
||||||
|
animation-speed = "fast"; # "fast" | "medium" | "slow"
|
||||||
|
fetch = "none"; # "nerdfetch" | "neofetch" | "pfetch" | "none"
|
||||||
|
textColorOnWallpaper = config.lib.stylix.colors.base01; # Color of the text displayed on the wallpaper (Lockscreen, display manager, ...)
|
||||||
|
|
||||||
|
bar = {
|
||||||
|
# Hyprpanel
|
||||||
|
position = "top"; # "top" | "bottom"
|
||||||
|
transparent = true;
|
||||||
|
transparentButtons = false;
|
||||||
|
floating = true;
|
||||||
|
};
|
||||||
|
|
||||||
|
neovim = {
|
||||||
|
plugin = pkgs.vimPlugins.kanagawa-nvim;
|
||||||
|
setup = ''
|
||||||
|
require("kanagawa").setup({
|
||||||
|
|
||||||
|
colors = {
|
||||||
|
theme = {
|
||||||
|
all = {
|
||||||
|
ui = {
|
||||||
|
bg_gutter = "none"
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
},
|
||||||
|
|
||||||
|
overrides = function(colors)
|
||||||
|
local theme = colors.theme
|
||||||
|
|
||||||
|
local makeDiagnosticColor = function(color)
|
||||||
|
local c = require("kanagawa.lib.color")
|
||||||
|
return { fg = color, bg = c(color):blend(theme.ui.bg, 0.95):to_hex() }
|
||||||
|
end
|
||||||
|
|
||||||
|
return {
|
||||||
|
NormalFloat = { bg = "none" },
|
||||||
|
FloatBorder = { bg = "none" },
|
||||||
|
FloatTitle = { bg = "none" },
|
||||||
|
|
||||||
|
-- Save an hlgroup with dark background and dimmed foreground
|
||||||
|
-- so that you can use it where your still want darker windows.
|
||||||
|
-- E.g.: autocmd TermOpen * setlocal winhighlight=Normal:NormalDark
|
||||||
|
NormalDark = { fg = theme.ui.fg_dim, bg = theme.ui.bg_m3 },
|
||||||
|
|
||||||
|
TelescopeTitle = { fg = theme.ui.special, bold = true },
|
||||||
|
TelescopePromptNormal = { bg = theme.ui.bg_p1 },
|
||||||
|
TelescopePromptBorder = { fg = theme.ui.bg_p1, bg = theme.ui.bg_p1 },
|
||||||
|
TelescopeResultsNormal = { fg = theme.ui.fg_dim, bg = theme.ui.bg_m1 },
|
||||||
|
TelescopeResultsBorder = { fg = theme.ui.bg_m1, bg = theme.ui.bg_m1 },
|
||||||
|
TelescopePreviewNormal = { bg = theme.ui.bg_dim },
|
||||||
|
TelescopePreviewBorder = { bg = theme.ui.bg_dim, fg = theme.ui.bg_dim },
|
||||||
|
|
||||||
|
Pmenu = { fg = theme.ui.shade0, bg = theme.ui.bg_p1 }, -- add `blend = vim.o.pumblend` to enable transparency
|
||||||
|
PmenuSel = { fg = "NONE", bg = theme.ui.bg_p2 },
|
||||||
|
PmenuSbar = { bg = theme.ui.bg_m1 },
|
||||||
|
PmenuThumb = { bg = theme.ui.bg_p2 },
|
||||||
|
|
||||||
|
DiagnosticVirtualTextHint = makeDiagnosticColor(theme.diag.hint),
|
||||||
|
DiagnosticVirtualTextInfo = makeDiagnosticColor(theme.diag.info),
|
||||||
|
DiagnosticVirtualTextWarn = makeDiagnosticColor(theme.diag.warning),
|
||||||
|
DiagnosticVirtualTextError = makeDiagnosticColor(theme.diag.error),
|
||||||
|
}
|
||||||
|
end,
|
||||||
|
})
|
||||||
|
|
||||||
|
vim.cmd.colorscheme("kanagawa-dragon")
|
||||||
|
'';
|
||||||
|
};
|
||||||
|
};
|
||||||
|
description = "Theme configuration options";
|
||||||
|
};
|
||||||
|
|
||||||
|
config.stylix = {
|
||||||
|
enable = true;
|
||||||
|
|
||||||
|
# Tokyo Night Dark
|
||||||
|
# See https://tinted-theming.github.io/tinted-gallery/ for more schemes
|
||||||
|
base16Scheme = {
|
||||||
|
base00 = "#181616";
|
||||||
|
base01 = "#0d0c0c";
|
||||||
|
base02 = "#2d4f67";
|
||||||
|
base03 = "#a6a69c";
|
||||||
|
base04 = "#7fb4ca";
|
||||||
|
base05 = "#c5c9c5";
|
||||||
|
base06 = "#938aa9";
|
||||||
|
base07 = "#c5c9c5";
|
||||||
|
base08 = "#c4746e";
|
||||||
|
base09 = "#e46876";
|
||||||
|
base0A = "#c4b28a";
|
||||||
|
base0B = "#8a9a7b";
|
||||||
|
base0C = "#8ea4a2";
|
||||||
|
base0D = "#8ba4b0";
|
||||||
|
base0E = "#a292a3";
|
||||||
|
base0F = "#7aa89f";
|
||||||
|
};
|
||||||
|
|
||||||
|
cursor = {
|
||||||
|
name = "phinger-cursors-light";
|
||||||
|
package = pkgs.phinger-cursors;
|
||||||
|
size = 28;
|
||||||
|
};
|
||||||
|
|
||||||
|
fonts = {
|
||||||
|
monospace = {
|
||||||
|
package = pkgs.nerd-fonts.jetbrains-mono;
|
||||||
|
name = "JetBrains Mono Nerd Font";
|
||||||
|
};
|
||||||
|
|
||||||
|
sansSerif = {
|
||||||
|
package = pkgs.source-sans-pro;
|
||||||
|
name = "Source Sans Pro";
|
||||||
|
};
|
||||||
|
|
||||||
|
serif = config.stylix.fonts.sansSerif;
|
||||||
|
|
||||||
|
emoji = {
|
||||||
|
package = pkgs.noto-fonts-color-emoji;
|
||||||
|
name = "Noto Color Emoji";
|
||||||
|
};
|
||||||
|
sizes = {
|
||||||
|
applications = 13;
|
||||||
|
desktop = 13;
|
||||||
|
popups = 15;
|
||||||
|
terminal = 11.5;
|
||||||
|
};
|
||||||
|
};
|
||||||
|
|
||||||
|
polarity = "dark";
|
||||||
|
image = pkgs.fetchurl {
|
||||||
|
url = "https://raw.githubusercontent.com/anotherhadi/awesome-wallpapers/refs/heads/main/app/static/wallpapers/leef_dark_purple_minimalist.png";
|
||||||
|
sha256 = "sha256-q6ufFdC/tMSb+mllw7XhilkAObemXXyps2SBlnMt7mY=";
|
||||||
|
};
|
||||||
|
|
||||||
|
# image = pkgs.fetchurl {
|
||||||
|
# url = "https://raw.githubusercontent.com/anotherhadi/awesome-wallpapers/refs/heads/main/app/static/wallpapers/alone-cloud_dark.png";
|
||||||
|
# sha256 = "sha256-L4Esjo6LEwhBEN29WX445F+54rlnvOtAMKsQz8Qpyuc=";
|
||||||
|
# };
|
||||||
|
|
||||||
|
# image = pkgs.fetchurl {
|
||||||
|
# url = "https://raw.githubusercontent.com/anotherhadi/awesome-wallpapers/refs/heads/main/app/static/wallpapers/the-cloud-is-hidding-the-moon_dark.png";
|
||||||
|
# sha256 = "sha256-EEH2cHsVromD+X5VFF3YObNuSSRbDnpfqEN6fjCztbc=";
|
||||||
|
# };
|
||||||
|
};
|
||||||
|
}
|
||||||
138
modules/themes/kanagawa-wave.nix
Normal file
138
modules/themes/kanagawa-wave.nix
Normal file
@@ -0,0 +1,138 @@
|
|||||||
|
{
|
||||||
|
lib,
|
||||||
|
pkgs,
|
||||||
|
config,
|
||||||
|
...
|
||||||
|
}:
|
||||||
|
{
|
||||||
|
options.theme = lib.mkOption {
|
||||||
|
type = lib.types.attrs;
|
||||||
|
default = {
|
||||||
|
rounding = 17;
|
||||||
|
gaps-in = 5;
|
||||||
|
gaps-out = 10;
|
||||||
|
active-opacity = 1;
|
||||||
|
inactive-opacity = 1;
|
||||||
|
blur = true;
|
||||||
|
border-size = 3;
|
||||||
|
animation-speed = "fast"; # "fast" | "medium" | "slow"
|
||||||
|
fetch = "none"; # "nerdfetch" | "neofetch" | "pfetch" | "none"
|
||||||
|
textColorOnWallpaper = config.lib.stylix.colors.base01; # Color of the text displayed on the wallpaper (Lockscreen, display manager, ...)
|
||||||
|
|
||||||
|
bar = {
|
||||||
|
# Hyprpanel
|
||||||
|
position = "top"; # "top" | "bottom"
|
||||||
|
transparent = true;
|
||||||
|
transparentButtons = false;
|
||||||
|
floating = true;
|
||||||
|
};
|
||||||
|
|
||||||
|
neovim = {
|
||||||
|
plugin = pkgs.vimPlugins.kanagawa-nvim;
|
||||||
|
setup = ''
|
||||||
|
require("kanagawa").setup({
|
||||||
|
colors = {
|
||||||
|
theme = {
|
||||||
|
all = {
|
||||||
|
ui = {
|
||||||
|
bg_gutter = "none"
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
},
|
||||||
|
|
||||||
|
overrides = function(colors)
|
||||||
|
local theme = colors.theme
|
||||||
|
|
||||||
|
local makeDiagnosticColor = function(color)
|
||||||
|
local c = require("kanagawa.lib.color")
|
||||||
|
return { fg = color, bg = c(color):blend(theme.ui.bg, 0.95):to_hex() }
|
||||||
|
end
|
||||||
|
|
||||||
|
return {
|
||||||
|
TelescopeTitle = { fg = theme.ui.special, bold = true },
|
||||||
|
TelescopePromptNormal = { bg = theme.ui.bg_p1 },
|
||||||
|
TelescopePromptBorder = { fg = theme.ui.bg_p1, bg = theme.ui.bg_p1 },
|
||||||
|
TelescopeResultsNormal = { fg = theme.ui.fg_dim, bg = theme.ui.bg_m1 },
|
||||||
|
TelescopeResultsBorder = { fg = theme.ui.bg_m1, bg = theme.ui.bg_m1 },
|
||||||
|
TelescopePreviewNormal = { bg = theme.ui.bg_dim },
|
||||||
|
TelescopePreviewBorder = { bg = theme.ui.bg_dim, fg = theme.ui.bg_dim },
|
||||||
|
|
||||||
|
Pmenu = { fg = theme.ui.shade0, bg = theme.ui.bg_p1 }, -- add `blend = vim.o.pumblend` to enable transparency
|
||||||
|
PmenuSel = { fg = "NONE", bg = theme.ui.bg_p2 },
|
||||||
|
PmenuSbar = { bg = theme.ui.bg_m1 },
|
||||||
|
PmenuThumb = { bg = theme.ui.bg_p2 },
|
||||||
|
|
||||||
|
DiagnosticVirtualTextHint = makeDiagnosticColor(theme.diag.hint),
|
||||||
|
DiagnosticVirtualTextInfo = makeDiagnosticColor(theme.diag.info),
|
||||||
|
DiagnosticVirtualTextWarn = makeDiagnosticColor(theme.diag.warning),
|
||||||
|
DiagnosticVirtualTextError = makeDiagnosticColor(theme.diag.error),
|
||||||
|
}
|
||||||
|
end,
|
||||||
|
})
|
||||||
|
|
||||||
|
vim.cmd.colorscheme("kanagawa-wave")
|
||||||
|
'';
|
||||||
|
};
|
||||||
|
};
|
||||||
|
description = "Theme configuration options";
|
||||||
|
};
|
||||||
|
|
||||||
|
config.stylix = {
|
||||||
|
enable = true;
|
||||||
|
|
||||||
|
# See https =//tinted-theming.github.io/tinted-gallery/ for more schemes
|
||||||
|
base16Scheme = {
|
||||||
|
base00 = "#1F1F28";
|
||||||
|
base01 = "#16161D";
|
||||||
|
base02 = "#223249";
|
||||||
|
base03 = "#54546D";
|
||||||
|
base04 = "#727169";
|
||||||
|
base05 = "#DCD7BA";
|
||||||
|
base06 = "#C8C093";
|
||||||
|
base07 = "#717C7C";
|
||||||
|
base08 = "#C34043";
|
||||||
|
base09 = "#FFA066";
|
||||||
|
base0A = "#C0A36E";
|
||||||
|
base0B = "#76946A";
|
||||||
|
base0C = "#6A9589";
|
||||||
|
base0D = "#7E9CD8";
|
||||||
|
base0E = "#957FB8";
|
||||||
|
base0F = "#D27E99";
|
||||||
|
};
|
||||||
|
|
||||||
|
cursor = {
|
||||||
|
name = "phinger-cursors-light";
|
||||||
|
package = pkgs.phinger-cursors;
|
||||||
|
size = 28;
|
||||||
|
};
|
||||||
|
|
||||||
|
fonts = {
|
||||||
|
monospace = {
|
||||||
|
package = pkgs.nerd-fonts.jetbrains-mono;
|
||||||
|
name = "JetBrains Mono Nerd Font";
|
||||||
|
};
|
||||||
|
|
||||||
|
sansSerif = {
|
||||||
|
package = pkgs.source-sans-pro;
|
||||||
|
name = "Source Sans Pro";
|
||||||
|
};
|
||||||
|
|
||||||
|
serif = config.stylix.fonts.sansSerif;
|
||||||
|
|
||||||
|
emoji = {
|
||||||
|
package = pkgs.noto-fonts-color-emoji;
|
||||||
|
name = "Noto Color Emoji";
|
||||||
|
};
|
||||||
|
sizes = {
|
||||||
|
applications = 13;
|
||||||
|
desktop = 13;
|
||||||
|
popups = 15;
|
||||||
|
terminal = 11.5;
|
||||||
|
};
|
||||||
|
};
|
||||||
|
|
||||||
|
polarity = "dark";
|
||||||
|
image = ./wallpapers/green_leaves_minimalist.png;
|
||||||
|
};
|
||||||
|
}
|
||||||
104
modules/themes/tokyo-city.nix
Normal file
104
modules/themes/tokyo-city.nix
Normal file
@@ -0,0 +1,104 @@
|
|||||||
|
{
|
||||||
|
lib,
|
||||||
|
pkgs,
|
||||||
|
config,
|
||||||
|
...
|
||||||
|
}:
|
||||||
|
{
|
||||||
|
options.theme = lib.mkOption {
|
||||||
|
type = lib.types.attrs;
|
||||||
|
default = {
|
||||||
|
rounding = 17;
|
||||||
|
gaps-in = 5;
|
||||||
|
gaps-out = 10;
|
||||||
|
active-opacity = 1;
|
||||||
|
inactive-opacity = 1;
|
||||||
|
blur = true;
|
||||||
|
border-size = 3;
|
||||||
|
animation-speed = "fast"; # "fast" | "medium" | "slow"
|
||||||
|
fetch = "none"; # "nerdfetch" | "neofetch" | "pfetch" | "none"
|
||||||
|
textColorOnWallpaper = config.lib.stylix.colors.base01; # Color of the text displayed on the wallpaper (Lockscreen, display manager, ...)
|
||||||
|
|
||||||
|
bar = {
|
||||||
|
# Hyprpanel
|
||||||
|
position = "top"; # "top" | "bottom"
|
||||||
|
transparent = true;
|
||||||
|
transparentButtons = false;
|
||||||
|
floating = true;
|
||||||
|
};
|
||||||
|
};
|
||||||
|
description = "Theme configuration options";
|
||||||
|
};
|
||||||
|
|
||||||
|
config.stylix = {
|
||||||
|
enable = true;
|
||||||
|
|
||||||
|
# Tokyo Night Dark
|
||||||
|
# See https://tinted-theming.github.io/tinted-gallery/ for more schemes
|
||||||
|
base16Scheme = {
|
||||||
|
base00 = "#171D23";
|
||||||
|
base01 = "#1D252C";
|
||||||
|
base02 = "#28323A";
|
||||||
|
base03 = "#526270";
|
||||||
|
base04 = "#B7C5D3";
|
||||||
|
base05 = "#D8E2EC";
|
||||||
|
base06 = "#F6F6F8";
|
||||||
|
base07 = "#FBFBFD";
|
||||||
|
base08 = "#F7768E";
|
||||||
|
base09 = "#FF9E64";
|
||||||
|
base0A = "#B7C5D3";
|
||||||
|
base0B = "#9ECE6A";
|
||||||
|
base0C = "#89DDFF";
|
||||||
|
base0D = "#7AA2F7";
|
||||||
|
base0E = "#BB9AF7";
|
||||||
|
base0F = "#BB9AF7";
|
||||||
|
};
|
||||||
|
|
||||||
|
cursor = {
|
||||||
|
name = "phinger-cursors-light";
|
||||||
|
package = pkgs.phinger-cursors;
|
||||||
|
size = 28;
|
||||||
|
};
|
||||||
|
|
||||||
|
fonts = {
|
||||||
|
monospace = {
|
||||||
|
package = pkgs.nerd-fonts.jetbrains-mono;
|
||||||
|
name = "JetBrains Mono Nerd Font";
|
||||||
|
};
|
||||||
|
|
||||||
|
sansSerif = {
|
||||||
|
package = pkgs.source-sans-pro;
|
||||||
|
name = "Source Sans Pro";
|
||||||
|
};
|
||||||
|
|
||||||
|
serif = config.stylix.fonts.sansSerif;
|
||||||
|
|
||||||
|
emoji = {
|
||||||
|
package = pkgs.noto-fonts-color-emoji;
|
||||||
|
name = "Noto Color Emoji";
|
||||||
|
};
|
||||||
|
sizes = {
|
||||||
|
applications = 13;
|
||||||
|
desktop = 13;
|
||||||
|
popups = 15;
|
||||||
|
terminal = 11.5;
|
||||||
|
};
|
||||||
|
};
|
||||||
|
|
||||||
|
polarity = "dark";
|
||||||
|
image = pkgs.fetchurl {
|
||||||
|
url = "https://raw.githubusercontent.com/anotherhadi/awesome-wallpapers/refs/heads/main/app/static/wallpapers/leef_dark_purple_minimalist.png";
|
||||||
|
sha256 = "sha256-q6ufFdC/tMSb+mllw7XhilkAObemXXyps2SBlnMt7mY=";
|
||||||
|
};
|
||||||
|
|
||||||
|
# image = pkgs.fetchurl {
|
||||||
|
# url = "https://raw.githubusercontent.com/anotherhadi/awesome-wallpapers/refs/heads/main/app/static/wallpapers/alone-cloud_dark.png";
|
||||||
|
# sha256 = "sha256-L4Esjo6LEwhBEN29WX445F+54rlnvOtAMKsQz8Qpyuc=";
|
||||||
|
# };
|
||||||
|
|
||||||
|
# image = pkgs.fetchurl {
|
||||||
|
# url = "https://raw.githubusercontent.com/anotherhadi/awesome-wallpapers/refs/heads/main/app/static/wallpapers/the-cloud-is-hidding-the-moon_dark.png";
|
||||||
|
# sha256 = "sha256-EEH2cHsVromD+X5VFF3YObNuSSRbDnpfqEN6fjCztbc=";
|
||||||
|
# };
|
||||||
|
};
|
||||||
|
}
|
||||||
114
modules/themes/tokyo-night.nix
Normal file
114
modules/themes/tokyo-night.nix
Normal file
@@ -0,0 +1,114 @@
|
|||||||
|
{
|
||||||
|
lib,
|
||||||
|
pkgs,
|
||||||
|
config,
|
||||||
|
...
|
||||||
|
}:
|
||||||
|
{
|
||||||
|
options.theme = lib.mkOption {
|
||||||
|
type = lib.types.attrs;
|
||||||
|
default = {
|
||||||
|
rounding = 17;
|
||||||
|
gaps-in = 5;
|
||||||
|
gaps-out = 10;
|
||||||
|
active-opacity = 1;
|
||||||
|
inactive-opacity = 1;
|
||||||
|
blur = true;
|
||||||
|
border-size = 3;
|
||||||
|
animation-speed = "fast"; # "fast" | "medium" | "slow"
|
||||||
|
fetch = "none"; # "nerdfetch" | "neofetch" | "pfetch" | "none"
|
||||||
|
textColorOnWallpaper = config.lib.stylix.colors.base01; # Color of the text displayed on the wallpaper (Lockscreen, display manager, ...)
|
||||||
|
|
||||||
|
bar = {
|
||||||
|
# Hyprpanel
|
||||||
|
position = "top"; # "top" | "bottom"
|
||||||
|
transparent = true;
|
||||||
|
transparentButtons = false;
|
||||||
|
floating = true;
|
||||||
|
};
|
||||||
|
|
||||||
|
neovim = {
|
||||||
|
plugin = pkgs.vimPlugins.tokyonight-nvim;
|
||||||
|
setup = ''
|
||||||
|
require("tokyonight").setup({
|
||||||
|
style = "night"
|
||||||
|
})
|
||||||
|
vim.cmd.colorscheme("tokyonight")
|
||||||
|
'';
|
||||||
|
};
|
||||||
|
};
|
||||||
|
description = "Theme configuration options";
|
||||||
|
};
|
||||||
|
|
||||||
|
config.stylix = {
|
||||||
|
enable = true;
|
||||||
|
|
||||||
|
# Tokyo Night Dark
|
||||||
|
# See https://tinted-theming.github.io/tinted-gallery/ for more schemes
|
||||||
|
base16Scheme = {
|
||||||
|
base00 = "#1A1B26";
|
||||||
|
base01 = "#16161E";
|
||||||
|
base02 = "#2F3549";
|
||||||
|
base03 = "#444B6A";
|
||||||
|
base04 = "#787C99";
|
||||||
|
base05 = "#A9B1D6";
|
||||||
|
base06 = "#CBCCD1";
|
||||||
|
base07 = "#D5D6DB";
|
||||||
|
base08 = "#C0CAF5";
|
||||||
|
base09 = "#A9B1D6";
|
||||||
|
base0A = "#0DB9D7";
|
||||||
|
base0B = "#9ECE6A";
|
||||||
|
base0C = "#B4F9F8";
|
||||||
|
base0D = "#2AC3DE";
|
||||||
|
base0E = "#BB9AF7";
|
||||||
|
base0F = "#F7768E";
|
||||||
|
};
|
||||||
|
|
||||||
|
cursor = {
|
||||||
|
name = "phinger-cursors-light";
|
||||||
|
package = pkgs.phinger-cursors;
|
||||||
|
size = 28;
|
||||||
|
};
|
||||||
|
|
||||||
|
fonts = {
|
||||||
|
monospace = {
|
||||||
|
package = pkgs.nerd-fonts.jetbrains-mono;
|
||||||
|
name = "JetBrains Mono Nerd Font";
|
||||||
|
};
|
||||||
|
|
||||||
|
sansSerif = {
|
||||||
|
package = pkgs.source-sans-pro;
|
||||||
|
name = "Source Sans Pro";
|
||||||
|
};
|
||||||
|
|
||||||
|
serif = config.stylix.fonts.sansSerif;
|
||||||
|
|
||||||
|
emoji = {
|
||||||
|
package = pkgs.noto-fonts-color-emoji;
|
||||||
|
name = "Noto Color Emoji";
|
||||||
|
};
|
||||||
|
sizes = {
|
||||||
|
applications = 13;
|
||||||
|
desktop = 13;
|
||||||
|
popups = 15;
|
||||||
|
terminal = 11.5;
|
||||||
|
};
|
||||||
|
};
|
||||||
|
|
||||||
|
polarity = "dark";
|
||||||
|
image = pkgs.fetchurl {
|
||||||
|
url = "https://raw.githubusercontent.com/anotherhadi/awesome-wallpapers/refs/heads/main/app/static/wallpapers/leef_dark_purple_minimalist.png";
|
||||||
|
sha256 = "sha256-q6ufFdC/tMSb+mllw7XhilkAObemXXyps2SBlnMt7mY=";
|
||||||
|
};
|
||||||
|
|
||||||
|
# image = pkgs.fetchurl {
|
||||||
|
# url = "https://raw.githubusercontent.com/anotherhadi/awesome-wallpapers/refs/heads/main/app/static/wallpapers/alone-cloud_dark.png";
|
||||||
|
# sha256 = "sha256-L4Esjo6LEwhBEN29WX445F+54rlnvOtAMKsQz8Qpyuc=";
|
||||||
|
# };
|
||||||
|
|
||||||
|
# image = pkgs.fetchurl {
|
||||||
|
# url = "https://raw.githubusercontent.com/anotherhadi/awesome-wallpapers/refs/heads/main/app/static/wallpapers/the-cloud-is-hidding-the-moon_dark.png";
|
||||||
|
# sha256 = "sha256-EEH2cHsVromD+X5VFF3YObNuSSRbDnpfqEN6fjCztbc=";
|
||||||
|
# };
|
||||||
|
};
|
||||||
|
}
|
||||||
BIN
modules/themes/wallpapers/green_leaves_minimalist.png
Normal file
BIN
modules/themes/wallpapers/green_leaves_minimalist.png
Normal file
Binary file not shown.
|
After Width: | Height: | Size: 1.3 MiB |
@@ -1,7 +1,7 @@
|
|||||||
{ config, lib, ... }:
|
{ config, lib, ... }:
|
||||||
{
|
{
|
||||||
imports = [
|
imports = [
|
||||||
./themes/catppuccin.nix
|
./themes/kanagawa-wave.nix
|
||||||
];
|
];
|
||||||
|
|
||||||
config.var = {
|
config.var = {
|
||||||
@@ -17,10 +17,7 @@
|
|||||||
numericLocale = "en_IE.UTF-8";
|
numericLocale = "en_IE.UTF-8";
|
||||||
otherLocale = "nl_NL.UTF-8";
|
otherLocale = "nl_NL.UTF-8";
|
||||||
|
|
||||||
git = {
|
|
||||||
username = "kiri";
|
|
||||||
email = "mail@jelles.net";
|
email = "mail@jelles.net";
|
||||||
};
|
|
||||||
|
|
||||||
preferred = {
|
preferred = {
|
||||||
editor = "nvim";
|
editor = "nvim";
|
||||||
|
|||||||
@@ -13,6 +13,7 @@
|
|||||||
secrets = {
|
secrets = {
|
||||||
radicale_pass = { };
|
radicale_pass = { };
|
||||||
university_calendar_url = { };
|
university_calendar_url = { };
|
||||||
|
orion_ip = { };
|
||||||
ssh_config_orion = {
|
ssh_config_orion = {
|
||||||
mode = "0600";
|
mode = "0600";
|
||||||
};
|
};
|
||||||
|
|||||||
@@ -1,6 +1,7 @@
|
|||||||
radicale_pass: ENC[AES256_GCM,data:zdUxtJKNPC8SzajhFKo=,iv:H55GWMiQLJvZx6rAufkk807lZflg0sepxoq6z0XJ/q4=,tag:MoDOuF37PeF7QEpUxBntEg==,type:str]
|
radicale_pass: ENC[AES256_GCM,data:zdUxtJKNPC8SzajhFKo=,iv:H55GWMiQLJvZx6rAufkk807lZflg0sepxoq6z0XJ/q4=,tag:MoDOuF37PeF7QEpUxBntEg==,type:str]
|
||||||
university_calendar_url: ENC[AES256_GCM,data:y5UtZVC0KJPUz//6S0QsrNeFGQshc88zieQgmlur75VFw9y5CJpnZRpdhLnYva00z5HBkxYQelLqS/I5GrXexWtC7Y7d1dCcQ+IZ0K7GGJ5NrYtjNXfMhzNSlhqjvl5lBGb+S565kel3VsCTyo/YRxdbBN6FA/oQNsx8/AvTgtsPeFkQRDGlGkybFRfWHWuTIDLL,iv:rZK9utRrm/KAkVRUjC3VR09MvDZjpoLx7BgaidzQo3o=,tag:tGWGoQCsS3zZh818OKixPw==,type:str]
|
university_calendar_url: ENC[AES256_GCM,data:y5UtZVC0KJPUz//6S0QsrNeFGQshc88zieQgmlur75VFw9y5CJpnZRpdhLnYva00z5HBkxYQelLqS/I5GrXexWtC7Y7d1dCcQ+IZ0K7GGJ5NrYtjNXfMhzNSlhqjvl5lBGb+S565kel3VsCTyo/YRxdbBN6FA/oQNsx8/AvTgtsPeFkQRDGlGkybFRfWHWuTIDLL,iv:rZK9utRrm/KAkVRUjC3VR09MvDZjpoLx7BgaidzQo3o=,tag:tGWGoQCsS3zZh818OKixPw==,type:str]
|
||||||
ssh_config_orion: ENC[AES256_GCM,data:P2jH5BDIzeHSIwTBcZwTOXKes727xK0Xoj9W64GmEszEPZw8vA==,iv:hSY9mFdC82pBbOjMFuzoR2eufhjY2MGERJ4ODmcogbA=,tag:ejF535LrQwwH66nQG3qLGw==,type:str]
|
ssh_config_orion: ENC[AES256_GCM,data:P2jH5BDIzeHSIwTBcZwTOXKes727xK0Xoj9W64GmEszEPZw8vA==,iv:hSY9mFdC82pBbOjMFuzoR2eufhjY2MGERJ4ODmcogbA=,tag:ejF535LrQwwH66nQG3qLGw==,type:str]
|
||||||
|
orion_ip: ENC[AES256_GCM,data:RCK6EKOEDaTu1uR2d/8=,iv:5JhIkVQEELB6MoPh49xq+0CrbPjI/6+qfqUHRqCza5s=,tag:+00T4+pWOWRj7R1ft39HAw==,type:str]
|
||||||
sops:
|
sops:
|
||||||
age:
|
age:
|
||||||
- recipient: age122w85pqj508ukv0rd388mahecgfckmpgnsgz0zcyec37ljae2epsdnvxpl
|
- recipient: age122w85pqj508ukv0rd388mahecgfckmpgnsgz0zcyec37ljae2epsdnvxpl
|
||||||
@@ -21,7 +22,7 @@ sops:
|
|||||||
ODdTa0VlYjg0ajJuUWhiRVUrR1VSTHMK6NVeKyMTomvZoqAtJN1SshIZdd2fHFBy
|
ODdTa0VlYjg0ajJuUWhiRVUrR1VSTHMK6NVeKyMTomvZoqAtJN1SshIZdd2fHFBy
|
||||||
Waghxmi6x/93lf54E1ZiXZQ+LDCjqqmMY8jgoF00XCo0WeURlHXpaw==
|
Waghxmi6x/93lf54E1ZiXZQ+LDCjqqmMY8jgoF00XCo0WeURlHXpaw==
|
||||||
-----END AGE ENCRYPTED FILE-----
|
-----END AGE ENCRYPTED FILE-----
|
||||||
lastmodified: "2025-11-29T18:05:48Z"
|
lastmodified: "2025-12-01T16:01:07Z"
|
||||||
mac: ENC[AES256_GCM,data:j0pHRA3c5lRdyLjqxlP2MTzIYb3WYAy7p+FttOjTQpXcyT5dFykXuu8rv+MQTmWdvHLQKC4iuZ7HTSO9qx8SbAuxHBWpoycpy3cZpmFp5T5crCl65AVQ/yRZKD9gRxkhnVW7aAK1kC3Mq07PamznvX/b7eEJ8h3tvmymuw6z/vY=,iv:W430t2YAXVcJztbO+fNdlOyjjy6+cH5r5YwuM2QdIdc=,tag:dDRJSslL9/Hac465A/TstA==,type:str]
|
mac: ENC[AES256_GCM,data:LAXl/FJafDOEOYrukqfzGMIXZzihX2zHMIQaR735MHWsTr3DSkCUqZ5IPEn9EmUSDkO8SaS0QdhRk0h7IhzS4MOsAAMdEtAEec4k0f9sMCLRWbV/G4tYxESPeuQNwdwS0iPsBsMQgvH93u7ttR59zyzQE1izal5nMwK3yQmNV5s=,iv:R3bnPXQY38Zf9BJuEP+inbRIVvAmLvEyGrlWzl3N9YI=,tag:eetYNetPvKXiJnR7AA3dwA==,type:str]
|
||||||
unencrypted_suffix: _unencrypted
|
unencrypted_suffix: _unencrypted
|
||||||
version: 3.11.0
|
version: 3.11.0
|
||||||
|
|||||||
Reference in New Issue
Block a user