Compare commits

...

33 commits

Author SHA1 Message Date
d4e605532e
disable discord 2026-03-02 13:46:28 -05:00
96e262ef81
switch icon theme to adwaita 2026-03-02 13:46:10 -05:00
7c9ef445dd
disable hyprland for now 2026-03-01 19:48:40 -05:00
68e5125b9e
wip: add hyprland 2026-02-28 12:41:55 -05:00
e857d17534
drop later: calibre is currently broken 2026-02-28 11:54:05 -05:00
94166f255b
update niri, rename openmw, remove cat-discord, refactor flake inputs 2026-02-28 11:53:58 -05:00
6044d8370c
remove aerothemeplasma 2026-02-27 16:43:55 -05:00
7a2db9a1cb
update kernels 2026-02-27 14:24:56 -05:00
4339d177da
remove discord font override, pnevma -> banana-blueberry 2026-02-27 14:22:42 -05:00
f124c6892f
update niri 2026-02-27 14:22:41 -05:00
9f688628f6
add obs 2026-02-27 14:22:41 -05:00
561a19ef0a
unfloat firefox picture-in-picture 2026-02-27 14:22:41 -05:00
c6db5a4a3a
reduce dependence on noctalia ipc 2026-02-27 14:22:41 -05:00
57fd2c8f9b
add mute and toggle opacity keys to niri 2026-02-27 14:22:41 -05:00
b3ee605039
edit noctalia systemd service 2026-02-27 14:22:41 -05:00
35dca7d3de
move macbook display to its home/hosts 2026-02-27 14:22:40 -05:00
c31b332c07
changes to niri & firefox 2026-02-27 14:22:40 -05:00
3cc8ec1f0a
peach -> hopscotch theme 2026-02-27 14:22:40 -05:00
2d884aeb88
change niri and noctalia opacities 2026-02-27 14:22:40 -05:00
6c4170a4e4
fix VM 2026-02-27 14:22:40 -05:00
2a5e1db40d
colorize wallpaper 2026-02-27 14:22:40 -05:00
b6ce69246a
switch from awww to wbg, fight over? 2026-02-27 14:22:40 -05:00
57cb143c3a
reformat niri 2026-02-27 14:22:39 -05:00
31cf5145c5
wallpaper updates in prep to switch to wbg 2026-02-27 14:22:39 -05:00
1f70f24fe0
refactor session vars 2026-02-27 14:22:39 -05:00
3a3087a226
add niri blur 2026-02-27 14:22:35 -05:00
151f574d25
make systemd services more robust 2026-02-27 14:22:02 -05:00
c7015f7244
peach: frappe -> mocha 2026-02-27 14:22:02 -05:00
bb439c58d5
switch from mpvpaper to awww, refactor wallpaper 2026-02-27 14:22:02 -05:00
517866ad2d
fix: wallpaper aspect ratio 2026-02-27 14:22:02 -05:00
c6ffebfdb7
add torrenting config 2026-02-27 14:22:02 -05:00
c7f6ce0672
move searxng to port 5364 2026-02-27 14:22:02 -05:00
e73494dfb4
switch from wpaperd to mpvpaper 2026-02-27 14:22:01 -05:00
24 changed files with 1327 additions and 644 deletions

633
flake.lock generated
View file

@ -1,37 +1,16 @@
{
"nodes": {
"aerothemeplasma-nix": {
"inputs": {
"flake-parts": "flake-parts",
"nixpkgs": [
"nixpkgs"
]
},
"locked": {
"lastModified": 1771215876,
"narHash": "sha256-aei7McII5+y4tROXfmOVyLbPO62sWttNkOKUlCSEIcg=",
"owner": "nyakase",
"repo": "aerothemeplasma-nix",
"rev": "b922785202501754c4503232aa5f172aeaef8b00",
"type": "github"
},
"original": {
"owner": "nyakase",
"repo": "aerothemeplasma-nix",
"type": "github"
}
},
"apple-silicon": {
"inputs": {
"flake-compat": "flake-compat",
"nixpkgs": "nixpkgs"
},
"locked": {
"lastModified": 1771054135,
"narHash": "sha256-0RYmnOk40U4ZGbW/+3rHlNndrsuHCz9h+xequKWgwHQ=",
"lastModified": 1771511514,
"narHash": "sha256-qhtonMK07BCVC/wZ+pZ9/MKhcTric7YUaCpW6pOg8IM=",
"owner": "nix-community",
"repo": "nixos-apple-silicon",
"rev": "357186cca0f4c7801ff16970e4b6a05e74fd88e0",
"rev": "2b92d495204be0b10845c66361444dbc8441c68d",
"type": "github"
},
"original": {
@ -40,6 +19,39 @@
"type": "github"
}
},
"aquamarine": {
"inputs": {
"hyprutils": [
"hyprland",
"hyprutils"
],
"hyprwayland-scanner": [
"hyprland",
"hyprwayland-scanner"
],
"nixpkgs": [
"hyprland",
"nixpkgs"
],
"systems": [
"hyprland",
"systems"
]
},
"locked": {
"lastModified": 1771610171,
"narHash": "sha256-+DeInuhbm6a6PpHDNUS7pozDouq2+8xSDefoNaZLW0E=",
"owner": "hyprwm",
"repo": "aquamarine",
"rev": "7f9eb087703ec4acc6b288d02fa9ea3db803cd3d",
"type": "github"
},
"original": {
"owner": "hyprwm",
"repo": "aquamarine",
"type": "github"
}
},
"base16": {
"inputs": {
"fromYaml": "fromYaml"
@ -77,11 +89,11 @@
"cachyos-kernel": {
"flake": false,
"locked": {
"lastModified": 1771263855,
"narHash": "sha256-akyds1g8cb742d2OrnQ4YciscpynsQ0+0YD2a8aZdvo=",
"lastModified": 1771517207,
"narHash": "sha256-+zDtnmXNyMd3hMepErdPDZzqYS0PiZA0Anbbx9Pvs4g=",
"owner": "CachyOS",
"repo": "linux-cachyos",
"rev": "5ece16c7b4a7d1261da68153cafc318a60b78ce8",
"rev": "39737576a25091a3c4ca00729b769a1f92ec98d5",
"type": "github"
},
"original": {
@ -93,11 +105,11 @@
"cachyos-kernel-patches": {
"flake": false,
"locked": {
"lastModified": 1771246613,
"narHash": "sha256-GftqKiyIgMcSgVkbNqXQq7oNnoL1+EB9V71XG4lPBRs=",
"lastModified": 1771516433,
"narHash": "sha256-SuockPZgd2bfjWGmdT8AUBTnBZWvxdA+b8Ss98lNC6c=",
"owner": "CachyOS",
"repo": "kernel-patches",
"rev": "cb320a13e3c92f32ada27acb1fba8a828a22ae60",
"rev": "505aef2086e584ba683a5ac1cb8ed8252fea2cfd",
"type": "github"
},
"original": {
@ -106,22 +118,6 @@
"type": "github"
}
},
"catppuccin-discord": {
"flake": false,
"locked": {
"lastModified": 1769446491,
"narHash": "sha256-7v1Hu6QofOyFOGnHeqHFK0JsxUxdJ9uTjI7nM7mdTsg=",
"owner": "catppuccin",
"repo": "discord",
"rev": "f235754322320211a8646d963466fac402e5c297",
"type": "github"
},
"original": {
"owner": "catppuccin",
"repo": "discord",
"type": "github"
}
},
"flake-compat": {
"locked": {
"lastModified": 1761640442,
@ -153,27 +149,25 @@
"type": "github"
}
},
"flake-parts": {
"inputs": {
"nixpkgs-lib": "nixpkgs-lib"
},
"flake-compat_3": {
"flake": false,
"locked": {
"lastModified": 1768135262,
"narHash": "sha256-PVvu7OqHBGWN16zSi6tEmPwwHQ4rLPU9Plvs8/1TUBY=",
"owner": "hercules-ci",
"repo": "flake-parts",
"rev": "80daad04eddbbf5a4d883996a73f3f542fa437ac",
"lastModified": 1767039857,
"narHash": "sha256-vNpUSpF5Nuw8xvDLj2KCwwksIbjua2LZCqhV1LNRDns=",
"owner": "NixOS",
"repo": "flake-compat",
"rev": "5edf11c44bc78a0d334f6334cdaf7d60d732daab",
"type": "github"
},
"original": {
"owner": "hercules-ci",
"repo": "flake-parts",
"owner": "NixOS",
"repo": "flake-compat",
"type": "github"
}
},
"flake-parts_2": {
"flake-parts": {
"inputs": {
"nixpkgs-lib": "nixpkgs-lib_2"
"nixpkgs-lib": "nixpkgs-lib"
},
"locked": {
"lastModified": 1769996383,
@ -189,7 +183,7 @@
"type": "github"
}
},
"flake-parts_3": {
"flake-parts_2": {
"inputs": {
"nixpkgs-lib": [
"nixvim",
@ -210,7 +204,7 @@
"type": "github"
}
},
"flake-parts_4": {
"flake-parts_3": {
"inputs": {
"nixpkgs-lib": [
"nur",
@ -247,6 +241,28 @@
"type": "github"
}
},
"gitignore": {
"inputs": {
"nixpkgs": [
"hyprland",
"pre-commit-hooks",
"nixpkgs"
]
},
"locked": {
"lastModified": 1709087332,
"narHash": "sha256-HG2cCnktfHsKV0s4XW83gU3F57gaTljL9KNSuG6bnQs=",
"owner": "hercules-ci",
"repo": "gitignore.nix",
"rev": "637db329424fd7e46cf4185293b9cc8c88c95394",
"type": "github"
},
"original": {
"owner": "hercules-ci",
"repo": "gitignore.nix",
"type": "github"
}
},
"home-manager": {
"inputs": {
"nixpkgs": [
@ -267,12 +283,335 @@
"type": "github"
}
},
"hyprcursor": {
"inputs": {
"hyprlang": [
"hyprland",
"hyprlang"
],
"nixpkgs": [
"hyprland",
"nixpkgs"
],
"systems": [
"hyprland",
"systems"
]
},
"locked": {
"lastModified": 1753964049,
"narHash": "sha256-lIqabfBY7z/OANxHoPeIrDJrFyYy9jAM4GQLzZ2feCM=",
"owner": "hyprwm",
"repo": "hyprcursor",
"rev": "44e91d467bdad8dcf8bbd2ac7cf49972540980a5",
"type": "github"
},
"original": {
"owner": "hyprwm",
"repo": "hyprcursor",
"type": "github"
}
},
"hyprgraphics": {
"inputs": {
"hyprutils": [
"hyprland",
"hyprutils"
],
"nixpkgs": [
"hyprland",
"nixpkgs"
],
"systems": [
"hyprland",
"systems"
]
},
"locked": {
"lastModified": 1770511807,
"narHash": "sha256-suKmSbSk34uPOJDTg/GbPrKEJutzK08vj0VoTvAFBCA=",
"owner": "hyprwm",
"repo": "hyprgraphics",
"rev": "7c75487edd43a71b61adb01cae8326d277aab683",
"type": "github"
},
"original": {
"owner": "hyprwm",
"repo": "hyprgraphics",
"type": "github"
}
},
"hyprland": {
"inputs": {
"aquamarine": "aquamarine",
"hyprcursor": "hyprcursor",
"hyprgraphics": "hyprgraphics",
"hyprland-guiutils": "hyprland-guiutils",
"hyprland-protocols": "hyprland-protocols",
"hyprlang": "hyprlang",
"hyprutils": "hyprutils",
"hyprwayland-scanner": "hyprwayland-scanner",
"hyprwire": "hyprwire",
"nixpkgs": [
"nixpkgs-unstable"
],
"pre-commit-hooks": "pre-commit-hooks",
"systems": "systems",
"xdph": "xdph"
},
"locked": {
"lastModified": 1772297734,
"narHash": "sha256-ASoB8+3t/DNKWv2LCEDjUP+tV2+Mi6Lzi5lryXGN2B0=",
"owner": "hyprwm",
"repo": "Hyprland",
"rev": "1c64ef06d9cb555fc562345c172c45e95c3b3077",
"type": "github"
},
"original": {
"owner": "hyprwm",
"repo": "Hyprland",
"type": "github"
}
},
"hyprland-guiutils": {
"inputs": {
"aquamarine": [
"hyprland",
"aquamarine"
],
"hyprgraphics": [
"hyprland",
"hyprgraphics"
],
"hyprlang": [
"hyprland",
"hyprlang"
],
"hyprtoolkit": "hyprtoolkit",
"hyprutils": [
"hyprland",
"hyprutils"
],
"hyprwayland-scanner": [
"hyprland",
"hyprwayland-scanner"
],
"nixpkgs": [
"hyprland",
"nixpkgs"
],
"systems": [
"hyprland",
"systems"
]
},
"locked": {
"lastModified": 1767023960,
"narHash": "sha256-R2HgtVS1G3KSIKAQ77aOZ+Q0HituOmPgXW9nBNkpp3Q=",
"owner": "hyprwm",
"repo": "hyprland-guiutils",
"rev": "c2e906261142f5dd1ee0bfc44abba23e2754c660",
"type": "github"
},
"original": {
"owner": "hyprwm",
"repo": "hyprland-guiutils",
"type": "github"
}
},
"hyprland-protocols": {
"inputs": {
"nixpkgs": [
"hyprland",
"nixpkgs"
],
"systems": [
"hyprland",
"systems"
]
},
"locked": {
"lastModified": 1765214753,
"narHash": "sha256-P9zdGXOzToJJgu5sVjv7oeOGPIIwrd9hAUAP3PsmBBs=",
"owner": "hyprwm",
"repo": "hyprland-protocols",
"rev": "3f3860b869014c00e8b9e0528c7b4ddc335c21ab",
"type": "github"
},
"original": {
"owner": "hyprwm",
"repo": "hyprland-protocols",
"type": "github"
}
},
"hyprlang": {
"inputs": {
"hyprutils": [
"hyprland",
"hyprutils"
],
"nixpkgs": [
"hyprland",
"nixpkgs"
],
"systems": [
"hyprland",
"systems"
]
},
"locked": {
"lastModified": 1771866172,
"narHash": "sha256-fYFoXhQLrm1rD8vSFKQBOEX4OGCuJdLt1amKfHd5GAw=",
"owner": "hyprwm",
"repo": "hyprlang",
"rev": "0b219224910e7642eb0ed49f0db5ec3d008e3e41",
"type": "github"
},
"original": {
"owner": "hyprwm",
"repo": "hyprlang",
"type": "github"
}
},
"hyprtoolkit": {
"inputs": {
"aquamarine": [
"hyprland",
"hyprland-guiutils",
"aquamarine"
],
"hyprgraphics": [
"hyprland",
"hyprland-guiutils",
"hyprgraphics"
],
"hyprlang": [
"hyprland",
"hyprland-guiutils",
"hyprlang"
],
"hyprutils": [
"hyprland",
"hyprland-guiutils",
"hyprutils"
],
"hyprwayland-scanner": [
"hyprland",
"hyprland-guiutils",
"hyprwayland-scanner"
],
"nixpkgs": [
"hyprland",
"hyprland-guiutils",
"nixpkgs"
],
"systems": [
"hyprland",
"hyprland-guiutils",
"systems"
]
},
"locked": {
"lastModified": 1764592794,
"narHash": "sha256-7CcO+wbTJ1L1NBQHierHzheQGPWwkIQug/w+fhTAVuU=",
"owner": "hyprwm",
"repo": "hyprtoolkit",
"rev": "5cfe0743f0e608e1462972303778d8a0859ee63e",
"type": "github"
},
"original": {
"owner": "hyprwm",
"repo": "hyprtoolkit",
"type": "github"
}
},
"hyprutils": {
"inputs": {
"nixpkgs": [
"hyprland",
"nixpkgs"
],
"systems": [
"hyprland",
"systems"
]
},
"locked": {
"lastModified": 1771271487,
"narHash": "sha256-41gEiUS0Pyw3L/ge1l8MXn61cK14VAhgWB/JV8s/oNI=",
"owner": "hyprwm",
"repo": "hyprutils",
"rev": "340a792e3b3d482c4ae5f66d27a9096bdee6d76d",
"type": "github"
},
"original": {
"owner": "hyprwm",
"repo": "hyprutils",
"type": "github"
}
},
"hyprwayland-scanner": {
"inputs": {
"nixpkgs": [
"hyprland",
"nixpkgs"
],
"systems": [
"hyprland",
"systems"
]
},
"locked": {
"lastModified": 1770501770,
"narHash": "sha256-NWRM6+YxTRv+bT9yvlhhJ2iLae1B1pNH3mAL5wi2rlQ=",
"owner": "hyprwm",
"repo": "hyprwayland-scanner",
"rev": "0bd8b6cde9ec27d48aad9e5b4deefb3746909d40",
"type": "github"
},
"original": {
"owner": "hyprwm",
"repo": "hyprwayland-scanner",
"type": "github"
}
},
"hyprwire": {
"inputs": {
"hyprutils": [
"hyprland",
"hyprutils"
],
"nixpkgs": [
"hyprland",
"nixpkgs"
],
"systems": [
"hyprland",
"systems"
]
},
"locked": {
"lastModified": 1771606233,
"narHash": "sha256-F3PLUqQ/TwgR70U+UeOqJnihJZ2EuunzojYC4g5xHr0=",
"owner": "hyprwm",
"repo": "hyprwire",
"rev": "06c7f1f8c4194786c8400653c4efc49dc14c0f3a",
"type": "github"
},
"original": {
"owner": "hyprwm",
"repo": "hyprwire",
"type": "github"
}
},
"niri": {
"inputs": {
"niri-stable": "niri-stable",
"niri-unstable": "niri-unstable",
"niri-unstable": [
"niri-blur"
],
"nixpkgs": [
"nixpkgs"
"nixpkgs-unstable"
],
"nixpkgs-stable": [
"nixpkgs-stable"
@ -281,19 +620,37 @@
"xwayland-satellite-unstable": "xwayland-satellite-unstable"
},
"locked": {
"lastModified": 1771514840,
"narHash": "sha256-t3WbZvwoDj/75YDX/nwkZuxanZLZaWr9meSfKswaN6g=",
"owner": "sodiboo",
"lastModified": 1771682768,
"narHash": "sha256-RJ9RVJSAktCgWiqLDCjYmx9KgMuLaszUrI28k92Pa2I=",
"owner": "sckova",
"repo": "niri-flake",
"rev": "4f69ab280e9bb34e2c0b67fdfa6f0978a170ef56",
"rev": "383bd9d32706b163807b05983418069b2e692310",
"type": "github"
},
"original": {
"owner": "sodiboo",
"owner": "sckova",
"ref": "feat/blur",
"repo": "niri-flake",
"type": "github"
}
},
"niri-blur": {
"flake": false,
"locked": {
"lastModified": 1771749270,
"narHash": "sha256-ZJCM1XOHIdud6Jfpl4jYQOzbOJId9wmXT+hNJ1IPBIY=",
"owner": "niri-wm",
"repo": "niri",
"rev": "734d86ec061d15d1980c5b940b2f4dc9aee80cf5",
"type": "github"
},
"original": {
"owner": "niri-wm",
"ref": "wip/branch",
"repo": "niri",
"type": "github"
}
},
"niri-stable": {
"flake": false,
"locked": {
@ -311,36 +668,20 @@
"type": "github"
}
},
"niri-unstable": {
"flake": false,
"locked": {
"lastModified": 1771305475,
"narHash": "sha256-lqweVTwHhYc+9T33cysp38gVwxaibGJHriOPZXWyhCY=",
"owner": "YaLTeR",
"repo": "niri",
"rev": "a2a52911757cb3b497db9407592f9b4c439571ea",
"type": "github"
},
"original": {
"owner": "YaLTeR",
"repo": "niri",
"type": "github"
}
},
"nix-cachyos-kernel": {
"inputs": {
"cachyos-kernel": "cachyos-kernel",
"cachyos-kernel-patches": "cachyos-kernel-patches",
"flake-compat": "flake-compat_2",
"flake-parts": "flake-parts_2",
"flake-compat": "flake-compat_3",
"flake-parts": "flake-parts",
"nixpkgs": "nixpkgs_2"
},
"locked": {
"lastModified": 1771353108,
"narHash": "sha256-5Xtei4UKrqRC6IYLgI1KEBaPN9Xfef5JeOexdqDWVeg=",
"lastModified": 1771525883,
"narHash": "sha256-XqDuaRbxLGno5HcWRE5lQrgMBeXXs6ncGq+R6eCvsq8=",
"owner": "xddxdd",
"repo": "nix-cachyos-kernel",
"rev": "98e777cdcc39e6bd0312a9d756507ef9cbd284cb",
"rev": "15fb6039dd248d478a8f3f7f6c067b206da2bf54",
"type": "github"
},
"original": {
@ -367,21 +708,6 @@
}
},
"nixpkgs-lib": {
"locked": {
"lastModified": 1765674936,
"narHash": "sha256-k00uTP4JNfmejrCLJOwdObYC9jHRrr/5M/a/8L2EIdo=",
"owner": "nix-community",
"repo": "nixpkgs.lib",
"rev": "2075416fcb47225d9b68ac469a5c4801a9c4dd85",
"type": "github"
},
"original": {
"owner": "nix-community",
"repo": "nixpkgs.lib",
"type": "github"
}
},
"nixpkgs-lib_2": {
"locked": {
"lastModified": 1769909678,
"narHash": "sha256-cBEymOf4/o3FD5AZnzC3J9hLbiZ+QDT/KDuyHXVJOpM=",
@ -430,11 +756,11 @@
},
"nixpkgs_2": {
"locked": {
"lastModified": 1771353015,
"narHash": "sha256-gvMwFEdFCM2zFxLVDaAbhV2N9zK0IW/RceBundHUdZs=",
"lastModified": 1771482645,
"narHash": "sha256-MpAKyXfJRDTgRU33Hja+G+3h9ywLAJJNRq4Pjbb4dQs=",
"owner": "NixOS",
"repo": "nixpkgs",
"rev": "931ef4db402cdab9dfe66fe4a2b01d50f6fe435d",
"rev": "724cf38d99ba81fbb4a347081db93e2e3a9bc2ae",
"type": "github"
},
"original": {
@ -446,11 +772,11 @@
},
"nixvim": {
"inputs": {
"flake-parts": "flake-parts_3",
"flake-parts": "flake-parts_2",
"nixpkgs": [
"nixpkgs"
],
"systems": "systems"
"systems": "systems_2"
},
"locked": {
"lastModified": 1769537308,
@ -488,7 +814,7 @@
},
"nur": {
"inputs": {
"flake-parts": "flake-parts_4",
"flake-parts": "flake-parts_3",
"nixpkgs": [
"nixpkgs"
]
@ -546,15 +872,38 @@
"type": "github"
}
},
"pre-commit-hooks": {
"inputs": {
"flake-compat": "flake-compat_2",
"gitignore": "gitignore",
"nixpkgs": [
"hyprland",
"nixpkgs"
]
},
"locked": {
"lastModified": 1771858127,
"narHash": "sha256-Gtre9YoYl3n25tJH2AoSdjuwcqij5CPxL3U3xysYD08=",
"owner": "cachix",
"repo": "git-hooks.nix",
"rev": "49bbbfc218bf3856dfa631cead3b052d78248b83",
"type": "github"
},
"original": {
"owner": "cachix",
"repo": "git-hooks.nix",
"type": "github"
}
},
"root": {
"inputs": {
"aerothemeplasma-nix": "aerothemeplasma-nix",
"apple-silicon": "apple-silicon",
"base16": "base16",
"base16-discord": "base16-discord",
"catppuccin-discord": "catppuccin-discord",
"home-manager": "home-manager",
"hyprland": "hyprland",
"niri": "niri",
"niri-blur": "niri-blur",
"nix-cachyos-kernel": "nix-cachyos-kernel",
"nixpkgs": [
"nixpkgs-unstable"
@ -575,7 +924,7 @@
"nixpkgs": [
"nixpkgs"
],
"systems": "systems_2"
"systems": "systems_3"
},
"locked": {
"lastModified": 1769316930,
@ -592,6 +941,21 @@
}
},
"systems": {
"locked": {
"lastModified": 1689347949,
"narHash": "sha256-12tWmuL2zgBgZkdoB6qXZsgJEH9LR3oUgpaQq2RbI80=",
"owner": "nix-systems",
"repo": "default-linux",
"rev": "31732fcf5e8fea42e59c2488ad31a0e651500f68",
"type": "github"
},
"original": {
"owner": "nix-systems",
"repo": "default-linux",
"type": "github"
}
},
"systems_2": {
"locked": {
"lastModified": 1681028828,
"narHash": "sha256-Vy1rq5AaRuLzOxct8nz4T6wlgyUR7zLU309k9mBC768=",
@ -606,7 +970,7 @@
"type": "github"
}
},
"systems_2": {
"systems_3": {
"locked": {
"lastModified": 1681028828,
"narHash": "sha256-Vy1rq5AaRuLzOxct8nz4T6wlgyUR7zLU309k9mBC768=",
@ -638,6 +1002,47 @@
"type": "github"
}
},
"xdph": {
"inputs": {
"hyprland-protocols": [
"hyprland",
"hyprland-protocols"
],
"hyprlang": [
"hyprland",
"hyprlang"
],
"hyprutils": [
"hyprland",
"hyprutils"
],
"hyprwayland-scanner": [
"hyprland",
"hyprwayland-scanner"
],
"nixpkgs": [
"hyprland",
"nixpkgs"
],
"systems": [
"hyprland",
"systems"
]
},
"locked": {
"lastModified": 1761431178,
"narHash": "sha256-xzjC1CV3+wpUQKNF+GnadnkeGUCJX+vgaWIZsnz9tzI=",
"owner": "hyprwm",
"repo": "xdg-desktop-portal-hyprland",
"rev": "4b8801228ff958d028f588f0c2b911dbf32297f9",
"type": "github"
},
"original": {
"owner": "hyprwm",
"repo": "xdg-desktop-portal-hyprland",
"type": "github"
}
},
"xwayland-satellite-stable": {
"flake": false,
"locked": {

View file

@ -8,14 +8,9 @@
# edit this to switch between stable and unstable
nixpkgs.follows = "nixpkgs-unstable";
nix-cachyos-kernel = {
url = "github:xddxdd/nix-cachyos-kernel/release";
# inputs.nixpkgs.follows = "nixpkgs";
};
base16 = {
url = "github:SenchoPens/base16.nix";
};
nix-cachyos-kernel.url = "github:xddxdd/nix-cachyos-kernel/release";
apple-silicon.url = "github:nix-community/nixos-apple-silicon";
base16.url = "github:SenchoPens/base16.nix";
tt-schemes = {
url = "github:tinted-theming/schemes/b9f335ad6a0b7d85b9c2eb932c3215f7429f7d11";
@ -38,23 +33,22 @@
inputs.home-manager.follows = "home-manager";
};
aerothemeplasma-nix = {
url = "github:nyakase/aerothemeplasma-nix";
inputs.nixpkgs.follows = "nixpkgs";
};
niri = {
url = "github:sodiboo/niri-flake";
inputs.nixpkgs.follows = "nixpkgs";
url = "github:sckova/niri-flake/feat/blur";
inputs.nixpkgs.follows = "nixpkgs-unstable";
inputs.nixpkgs-stable.follows = "nixpkgs-stable";
# inputs.niri-stable.follows = "niri-blur";
# inputs.niri-unstable.follows = "niri-blur";
inputs.niri-unstable.follows = "niri-blur";
};
# niri-blur = {
# url = "github:visualglitch91/niri/feat/blur";
# flake = false;
# };
niri-blur = {
url = "github:niri-wm/niri/wip/branch";
flake = false;
};
hyprland = {
url = "github:hyprwm/Hyprland";
inputs.nixpkgs.follows = "nixpkgs-unstable";
};
noctalia = {
url = "github:noctalia-dev/noctalia-shell";
@ -76,20 +70,10 @@
inputs.nixpkgs.follows = "nixpkgs";
};
apple-silicon = {
url = "github:nix-community/nixos-apple-silicon";
# inputs.nixpkgs.follows = "nixpkgs";
};
openmw = {
url = "gitlab:OpenMW/openmw";
flake = false;
};
catppuccin-discord = {
url = "github:catppuccin/discord";
flake = false;
};
};
outputs =
@ -97,20 +81,19 @@
nixpkgs,
nixpkgs-unstable,
nix-cachyos-kernel,
apple-silicon,
base16,
tt-schemes,
base16-discord,
home-manager,
plasma-manager,
aerothemeplasma-nix,
niri,
hyprland,
noctalia,
spicetify-nix,
nur,
nixvim,
apple-silicon,
openmw,
catppuccin-discord,
...
}:
let
@ -150,11 +133,11 @@
config = pkgConfig;
overlays = [
niri.overlays.niri
hyprland.overlays.default
noctalia.overlays.default
nur.overlays.default
(final: prev: {
openmw-git = openmw;
catppuccin-discord-git = catppuccin-discord;
base16-discord-git = base16-discord;
})
(import ./packages/overlay.nix)
@ -215,12 +198,12 @@
}
./system
./system/searxng
./system/torrenting
./system/widevine
./system/shell/fish.nix
./system/tailscale
./system/hosts/${hostname}
./hardware/${hostname}
aerothemeplasma-nix.nixosModules.aerothemeplasma-nix
niri.nixosModules.niri
home-manager.nixosModules.home-manager
noctalia.nixosModules.default
@ -249,7 +232,6 @@
scheme = "${tt-schemes}/base24/${config.colors.scheme}.yaml";
}
)
aerothemeplasma-nix.homeModules.aerothemeplasma-nix
plasma-manager.homeModules.plasma-manager
noctalia.homeModules.default
spicetify-nix.homeManagerModules.default
@ -306,14 +288,15 @@
{ nixpkgs.overlays = [ apple-silicon.overlays.apple-silicon-overlay ]; }
];
};
alien =
mkNixosSystem {
alien = mkNixosSystem {
hostname = "alien";
system = "x86_64-linux";
extraModules = [
{ nixpkgs.overlays = [ nix-cachyos-kernel.overlays.pinned ]; }
{
nixpkgs.overlays = [ nix-cachyos-kernel.overlays.pinned ];
}
];
};
}
// nixpkgs.lib.genAttrs supportedSystems (
system:
@ -322,7 +305,6 @@
inherit system;
}
);
};
homeConfigurations = {
peach = mkHomeConfig {

View file

@ -1,6 +1,6 @@
{
imports = [
./discord.nix
# ./discord.nix
./firefox.nix
./mpv.nix
# ./vscode.nix

View file

@ -4,12 +4,9 @@
...
}:
let
catppuccin-discord = "${pkgs.catppuccin-discord}/share/catppuccin-discord/catppuccin-mocha-*.theme.css";
mergedThemes = pkgs.runCommand "mergedConfig" { } ''
mkdir -p $out
cp -rvf ${pkgs.base16-discord-git}/base16.css $out/base16.css
cp -rvf ${catppuccin-discord} $out
'';
vesktopSettings = {
@ -50,11 +47,6 @@ in
home.file.".config/vesktop/settings/quickCss.css" = with config.scheme.withHashtag; {
text = ''
* {
font-family: "${config.userOptions.fontSans.name}" !important;
font-size: ${toString config.userOptions.fontSans.size}px;
}
:root {
--base00: ${base00};
--base01: ${base01};

View file

@ -76,7 +76,7 @@
url = "https://web.whatsapp.com/";
manifestUrl = "https://web.whatsapp.com/data/manifest.json";
desktopEntry = {
icon = "${pkgs.colloid-icon-theme}/share/icons/Colloid/apps/scalable/whatsapp.svg";
icon = "${pkgs.morewaita-icon-theme}/share/icons/MoreWaita/scalable/apps/whatsapp.svg";
categories = [
"Network"
"Chat"
@ -207,7 +207,7 @@
"browser.newtabpage.activity-stream.showSponsoredTopSites" = false;
"browser.newtabpage.activity-stream.showWeather" = false;
"browser.download.autoHideButton" = false;
"browser.startup.homepage" = "http://localhost:8080/";
"browser.startup.homepage" = "http://localhost:5364/";
# Disable Firefox's machine learning (AI) features
"browser.ml.enable" = false;
@ -306,8 +306,8 @@
};
search =
let
nixIcon = "${pkgs.colloid-icon-theme}/share/icons/Colloid/apps/scalable/nix-snowflake.svg";
searchIcon = "${pkgs.colloid-icon-theme}/share/icons/Colloid-Dark/places/symbolic/folder-saved-search-symbolic.svg";
nixIcon = "/run/current-system/sw/share/icons/hicolor/scalable/apps/nix-snowflake.svg";
searchIcon = "${pkgs.adwaita-icon-theme}/share/icons/Adwaita/scalable/places/folder-saved-search-symbolic.svg";
in
{
force = true;
@ -369,7 +369,7 @@
searxng = {
name = "SearXNG";
urls = [ { template = "http://localhost:8080/search?q={searchTerms}"; } ];
urls = [ { template = "http://localhost:5364/search?q={searchTerms}"; } ];
icon = searchIcon;
definedAliases = [ "@go" ];
};

View file

@ -14,7 +14,7 @@
visibility: hidden !important;
}
.browserContainer {
/*.browserContainer {
border-radius: 8px !important;
margin: 6px !important;
background-color: transparent !important;
@ -22,4 +22,4 @@
browser {
border-radius: 8px !important;
}
}*/

View file

@ -42,13 +42,14 @@
kde-rounded-corners
kdePackages.partitionmanager
pkgs.catppuccin-cursors.mochaPeach
adwaita-icon-theme
morewaita-icon-theme
# gui applications
input-leap
libreoffice-qt-fresh
# nur.repos.forkprince.helium-nightly
chromium
qbittorrent
nautilus
fractal
tuba
@ -58,7 +59,7 @@
strawberry
musescore
gimp
calibre
# calibre
# riff
dissent
loupe

View file

@ -1,15 +1,10 @@
{
config,
pkgs,
...
}:
{
home = {
packages = with pkgs; [ openmw ];
sessionVariables = {
SDL_VIDEO_DRIVER = "wayland";
};
};
home.packages = with pkgs; [ openmw-unstable ];
home.sessionVariables.SDL_VIDEO_DRIVER = "wayland";
programs.firefox.profiles.default.search.engines.uesp = {
name = "Unofficial Elder Scrolls Pages";

View file

@ -1,12 +1,11 @@
{
pkgs,
config,
lib,
...
}:
{
colors = {
scheme = "catppuccin-latte";
scheme = "kanagawa-dragon";
accent = "base09";
};
@ -19,17 +18,26 @@
moonlight-qt
];
# https://github.com/YaLTeR/niri/issues/2330#issuecomment-3256864777
programs.niri.settings.debug = {
render-drm-device = "/dev/dri/card2";
};
programs.noctalia-shell.settings.bar = {
programs = {
noctalia-shell.settings.bar = {
position = "top";
density = "spacious";
};
programs.plasma = lib.mkDefault {
niri.settings.outputs."eDP-1" = {
scale = 1.5;
mode = {
width = 3024;
height = 1964;
refresh = 120.000;
};
position = {
x = 272;
y = 1440;
};
};
plasma = lib.mkDefault {
input.touchpads = [
{
name = "Apple MTP multi-touch";
@ -48,4 +56,5 @@
org_kde_powerdevil.Sleep = [ ];
};
};
};
}

View file

@ -23,12 +23,6 @@
};
};
aerothemeplasma = {
enable = true;
plasma.enable = true;
fonts.enable = true;
};
programs.plasma = lib.mkDefault {
enable = true;
session = {

View file

@ -22,6 +22,31 @@
};
};
dconf.settings = {
"org/gnome/desktop/interface" = {
color-scheme = "prefer-dark";
clock-format = "12h";
clock-show-weekday = true;
};
"org/gnome/desktop/wm/preferences" = {
button-layout = ":";
action-double-click-titlebar = "'none'";
};
"org/gnome/desktop/media-handling" = {
automount = false;
automount-open = false;
autorun-never = true;
};
"org/gnome/settings-daemon/plugins/power" = {
sleep-inactive-ac-type = "nothing";
};
"org/gnome/mutter" = {
edge-tiling = true;
dynamic-workspaces = true;
experimental-features = [ "variable-refresh-rate" ];
};
};
home.pointerCursor = {
gtk.enable = true;
name = config.userOptions.cursor.name;
@ -31,6 +56,8 @@
home.sessionVariables = {
QT_QPA_PLATFORMTHEME = "qt6ct";
# this makes electron apps work per the wiki
NIXOS_OZONE_WL = "1";
};
gtk = {
@ -46,15 +73,10 @@
# else "Breeze";
# };
# iconTheme = {
# name = if config.userOptions.isDark then "Colloid-Dark" else "Colloid-Light";
# package = pkgs.colloid-icon-theme;
# };
colorScheme = "dark";
iconTheme = {
name = "Colloid-Dark";
package = pkgs.colloid-icon-theme;
name = "MoreWaita";
package = pkgs.morewaita-icon-theme;
};
cursorTheme = {

View file

@ -28,16 +28,14 @@
Description = "Mount Synology NAS with Rclone and Home Manager.";
After = [ "tailscaled.service" ];
Wants = [ "tailscaled.service" ];
StartLimitBurst = 5;
StartLimitIntervalSec = "1m";
};
Service = {
Type = "simple";
# ExecStartPre = "${pkgs.writeShellScript "synology-prep" ''
# if mountpoint -q %h/Synology; then
# /run/wrappers/bin/fusermount -uz %h/Synology
# fi
# ${pkgs.coreutils}/bin/mkdir -p %h/Synology
# ''}";
Restart = "on-failure";
RestartSec = "1m";
ExecStart = "${pkgs.writeShellScript "synology-mount" ''
#!/usr/bin/env bash
set -euo pipefail
@ -65,49 +63,4 @@
WantedBy = [ "default.target" ];
};
};
# systemd.user.services.synology-prefill = {
# Unit = {
# Description = "Prefill Synology NAS rclone cache";
# After = [ "synology-mount.service" ];
# Wants = [ "synology-mount.service" ];
# };
# Service = {
# Type = "simple";
# ExecStart = "${pkgs.writeShellScript "synology-prefill" ''
# #!/usr/bin/env bash
# set -euo pipefail
# ${pkgs.rclone}/bin/rclone rc vfs/refresh -v --fast-list recursive=true >/dev/null
# ''}";
# StandardOutput = "journal";
# StandardError = "journal";
# Restart = "on-failure";
# };
# Install = {
# WantedBy = [ "default.target" ];
# };
# };
# systemd.user.services.input-leap = {
# Unit = {
# Description = "Autostart Input Leap";
# After = [ "graphical-session.target" ];
# };
# Service = {
# Type = "oneshot";
# RemainAfterExit = true;
# PassEnvironment = "DISPLAY";
# ExecStart = "${pkgs.writeShellScript "input-leap-start" ''
# sleep 5
# ${pkgs.input-leap}/bin/input-leap
# ''}";
# };
# Install = {
# WantedBy = [ "graphical-session.target" ];
# };
# };
}

View file

@ -1,12 +1,11 @@
{
pkgs,
config,
lib,
...
}:
{
home.sessionVariables = {
EDITOR = "nvim";
};
home.sessionVariables.EDITOR = lib.mkForce "kitty nvim";
home.packages = with pkgs; [
kdePackages.qtdeclarative

View file

@ -1,6 +1,7 @@
{ pkgs, config, ... }:
{
imports = [
# ./hyprland.nix
./niri.nix
./noctalia.nix
./wallpaper.nix
@ -25,7 +26,7 @@
layer = "overlay";
font = with config.userOptions.fontMono; name + ":size=" + toString (size + 2);
launch-prefix = "${pkgs.niri}/bin/niri msg action spawn --";
icon-theme = "Colloid-Dark";
icon-theme = config.gtk.iconTheme.name;
};
border = {
width = 2;

299
home/tiling/hyprland.nix Normal file
View file

@ -0,0 +1,299 @@
{
config,
...
}:
{
wayland.windowManager.hyprland = with config.scheme; {
enable = true;
settings = {
# -----------------------------------------------------
# Environment Variables & Debug
# -----------------------------------------------------
env = [
"QT_QPA_PLATFORM,wayland"
"QT_QPA_PLATFORMTHEME,qt6ct"
"DISPLAY,:0"
"XCURSOR_THEME,${config.userOptions.cursor.name}"
"XCURSOR_SIZE,${toString config.userOptions.cursor.size}"
];
debug = {
disable_scale_checks = true;
};
# -----------------------------------------------------
# Monitors (Outputs)
# -----------------------------------------------------
monitor = [
"eDP-1, 3024x1964@120.000, 0x0, 1.5"
"HDMI-A-1, 3840x2160@144.000, 0x0, 1.5"
"DP-1, 3840x2160@143.999, 0x0, 1.5"
];
# -----------------------------------------------------
# Autostart
# -----------------------------------------------------
exec-once = [ ]; # systemd is based sorry
# -----------------------------------------------------
# Input
# -----------------------------------------------------
input = {
kb_layout = "us";
numlock_by_default = false;
repeat_delay = 600;
repeat_rate = 25;
follow_mouse = 1;
touchpad = {
natural_scroll = true;
tap-to-click = false;
drag_lock = false;
};
};
device = [
{
name = "epic-mouse-v1";
accel_profile = "adaptive";
natural_scroll = false;
}
];
# -----------------------------------------------------
# General & Layout
# -----------------------------------------------------
general = {
gaps_in = 2;
gaps_out = 4;
border_size = 2;
"col.active_border" = "rgba(${config.scheme.${config.colors.accent}}E6)";
"col.inactive_border" = "rgba(${base01}E6)";
layout = "dwindle";
};
scrolling = {
column_width = 0.5;
follow_focus = true;
explicit_column_widths = "0.333,0.5,0.667";
direction = "right";
};
# -----------------------------------------------------
# Decoration (0.54 Syntax)
# -----------------------------------------------------
decoration = {
rounding = 8;
active_opacity = 0.90;
inactive_opacity = 0.90;
fullscreen_opacity = 1.0;
blur = {
enabled = true;
size = 3;
passes = 2;
noise = 0.05;
contrast = 1.0;
};
# Shadows now live in their own dedicated block
shadow = {
enabled = true;
range = 10;
render_power = 3;
color = "rgba(${base11}BF)";
};
};
# -----------------------------------------------------
# Misc Settings
# -----------------------------------------------------
misc = {
disable_hyprland_logo = true;
disable_splash_rendering = true;
};
# -----------------------------------------------------
# Window Rules (0.54 Block Syntax)
# -----------------------------------------------------
windowrule = [
{
name = "games-openmw";
"match:class" = "^(openmw)$";
opacity = "1.0 1.0";
maximize = "on";
}
{
name = "games-minecraft";
"match:class" = "^(Minecraft)$";
opacity = "1.0 1.0";
maximize = "on";
}
{
name = "media-mpv";
"match:class" = "^(mpv)$";
opacity = "1.0 1.0";
}
{
name = "media-pip";
"match:class" = "^(firefox)$";
"match:title" = "^(Picture-in-Picture)$";
opacity = "1.0 1.0";
float = "on";
}
{
name = "terminal-fastfetch";
"match:class" = "^(kitty)$";
"match:title" = "^(fastfetch)$";
float = "on";
size = "960 480";
center = "on";
}
];
# -----------------------------------------------------
# Layer Rules (0.54 Block Syntax)
# -----------------------------------------------------
layerrule = [
{
name = "bar-blur";
"match:namespace" = "^(noctalia-bar-content-.*)$";
blur = "on";
ignore_alpha = "0";
}
{
name = "launcher-blur";
"match:namespace" = "^(launcher)$";
blur = "on";
ignore_alpha = "0";
}
];
# -----------------------------------------------------
# Keybindings
# -----------------------------------------------------
"$mod" = "SUPER";
bind = [
"$mod, T, exec, kitty"
"$mod SHIFT, T, exec, kitty --title fastfetch sh -c 'fastfetch; sleep 10'"
"$mod, Space, exec, fuzzel"
", XF86Search, exec, fuzzel"
"$mod, M, exec, wpctl set-mute @DEFAULT_AUDIO_SOURCE@ toggle"
", XF86AudioMute, exec, wpctl set-mute @DEFAULT_AUDIO_SINK@ toggle"
", XF86AudioMicMute, exec, wpctl set-mute @DEFAULT_AUDIO_SOURCE@ toggle"
", XF86AudioPrev, exec, playerctl previous"
", XF86AudioPlay, exec, playerctl play-pause"
", XF86AudioNext, exec, playerctl next"
"$mod, Q, killactive,"
"$mod SHIFT, E, exit,"
"CTRL ALT, Delete, exit,"
"$mod, V, togglefloating,"
"$mod SHIFT, F, fullscreen, 1"
"$mod CTRL SHIFT, F, fullscreen, 0"
"$mod, W, togglegroup,"
"$mod SHIFT, left, focusmonitor, l"
"$mod SHIFT, down, focusmonitor, d"
"$mod SHIFT, up, focusmonitor, u"
"$mod SHIFT, right, focusmonitor, r"
"$mod SHIFT, H, focusmonitor, l"
"$mod SHIFT, J, focusmonitor, d"
"$mod SHIFT, K, focusmonitor, u"
"$mod SHIFT, L, focusmonitor, r"
"$mod SHIFT CTRL, left, movewindow, mon:l"
"$mod SHIFT CTRL, down, movewindow, mon:d"
"$mod SHIFT CTRL, up, movewindow, mon:u"
"$mod SHIFT CTRL, right, movewindow, mon:r"
"$mod, Page_Down, workspace, e+1"
"$mod, Page_Up, workspace, e-1"
"$mod, U, workspace, e+1"
"$mod, I, workspace, e-1"
"$mod, mouse_down, workspace, e+1"
"$mod, mouse_up, workspace, e-1"
"$mod CTRL, Page_Down, movetoworkspace, e+1"
"$mod CTRL, Page_Up, movetoworkspace, e-1"
"$mod CTRL, U, movetoworkspace, e+1"
"$mod CTRL, I, movetoworkspace, e-1"
"$mod SHIFT, S, exec, grim -g \"$(slurp)\" ~/Pictures/Screenshots/$(date +'%%a %%b %%e %%Y @%%l:%%M %%p').png"
"CTRL SHIFT, S, exec, grim ~/Pictures/Screenshots/$(date +'%%a %%b %%e %%Y @%%l:%%M %%p').png"
"$mod SHIFT, P, dpms, off"
", XF86Sleep, dpms, off"
]
++ (builtins.concatLists (
builtins.attrValues (
builtins.mapAttrs
(key: dir: [
"$mod, ${key}, movefocus, ${dir}"
"$mod CTRL, ${key}, movewindow, ${dir}"
])
{
left = "l";
right = "r";
up = "u";
down = "d";
H = "l";
L = "r";
K = "u";
J = "d";
}
)
))
++ (builtins.concatLists (
builtins.genList (
x:
let
ws =
let
c = (x + 1) / 10;
in
builtins.toString (x + 1 - (c * 10));
in
[
"$mod, ${ws}, workspace, ${ws}"
"$mod CTRL, ${ws}, movetoworkspace, ${ws}"
]
) 9
));
binde = [
", XF86AudioRaiseVolume, exec, wpctl set-volume @DEFAULT_AUDIO_SINK@ 0.05+"
", XF86AudioLowerVolume, exec, wpctl set-volume @DEFAULT_AUDIO_SINK@ 0.05-"
"SHIFT, XF86AudioRaiseVolume, exec, wpctl set-volume @DEFAULT_AUDIO_SINK@ 0.01+"
"SHIFT, XF86AudioLowerVolume, exec, wpctl set-volume @DEFAULT_AUDIO_SINK@ 0.01-"
", MouseForward, exec, wpctl set-volume @DEFAULT_AUDIO_SINK@ 0.05+"
", MouseBack, exec, wpctl set-volume @DEFAULT_AUDIO_SINK@ 0.05-"
"SHIFT, MouseForward, exec, wpctl set-volume @DEFAULT_AUDIO_SINK@ 0.01+"
"SHIFT, MouseBack, exec, wpctl set-volume @DEFAULT_AUDIO_SINK@ 0.01-"
", XF86MonBrightnessUp, exec, noctalia-shell ipc call brightness increase"
", XF86MonBrightnessDown, exec, noctalia-shell ipc call brightness decrease"
"SHIFT, XF86MonBrightnessUp, exec, brightnessctl --class=backlight set +1%"
"SHIFT, XF86MonBrightnessDown, exec, brightnessctl --class=backlight set 1%-"
"$mod, equal, resizeactive, 40 0"
"$mod, minus, resizeactive, -40 0"
"$mod SHIFT, equal, resizeactive, 0 40"
"$mod SHIFT, minus, resizeactive, 0 -40"
];
bindm = [
"$mod, mouse:272, movewindow"
"$mod, mouse:273, resizewindow"
];
};
};
}

View file

@ -1,6 +1,5 @@
{
config,
pkgs,
...
}:
{
@ -17,7 +16,7 @@
XCURSOR_THEME = config.userOptions.cursor.name;
XCURSOR_SIZE = toString config.userOptions.cursor.size;
};
screenshot-path = "~/Pictures/Screenshots/Screenshot from %Y-%m-%d %H-%M-%S.png";
screenshot-path = "~/Pictures/Screenshots/%a %b %e %Y @%l:%M %p.png";
hotkey-overlay.skip-at-startup = true;
prefer-no-csd = true;
gestures.hot-corners.enable = false;
@ -29,7 +28,6 @@
input = {
focus-follows-mouse.enable = true;
focus-follows-mouse.max-scroll-amount = "0%";
warp-mouse-to-focus.enable = true;
mod-key = "Super";
keyboard = {
numlock = false;
@ -50,13 +48,6 @@
};
};
outputs = {
"eDP-1" = {
scale = 1.5;
position = {
x = 272;
y = 1440;
};
};
"HDMI-A-1" = {
mode = {
width = 3840;
@ -84,17 +75,13 @@
};
cursor = {
hide-when-typing = false;
# hide-after-inactive-ms = 10000;
size = config.userOptions.cursor.size;
theme = config.userOptions.cursor.name;
};
layout = {
gaps = 4;
# background-color = base10;
background-color = "transparent";
default-column-width = {
proportion = 0.5;
};
default-column-width.proportion = 0.5;
preset-column-widths = [
{ proportion = 4.0 / 12.0; }
{ proportion = 6.0 / 12.0; }
@ -103,16 +90,16 @@
border = {
enable = true;
width = 2;
active.color = config.scheme.withHashtag.${config.colors.accent};
inactive.color = base01;
urgent.color = base12;
active.color = config.scheme.withHashtag.${config.colors.accent} + "E6";
inactive.color = base01 + "E6";
urgent.color = base12 + "E6";
};
focus-ring = {
enable = false;
width = 2;
active.color = config.scheme.withHashtag.${config.colors.accent};
inactive.color = base01;
urgent.color = base12;
active.color = config.scheme.withHashtag.${config.colors.accent} + "E6";
inactive.color = base01 + "E6";
urgent.color = base12 + "E6";
};
shadow = {
enable = true;
@ -122,12 +109,6 @@
softness = 30;
color = base11 + "BF";
};
# blur = {
# enable = true;
# passes = 4;
# radius = 4;
# noise = 0.1;
# };
};
window-rules = [
{
@ -138,30 +119,34 @@
bottom-right = 8.0;
};
clip-to-geometry = true;
opacity = 1.0;
}
{
matches = [
{
app-id = "firefox$";
title = "^Picture-in-Picture$";
}
];
open-floating = true;
default-floating-position = {
x = 16;
y = 16;
relative-to = "bottom-left";
opacity = 0.90;
background-effect = {
xray = false;
blur = true;
noise = 0.05;
saturation = 1;
};
draw-border-with-background = false;
}
{
matches = [
{
app-id = "vesktop$";
}
{
app-id = "org.gnome.Nautilus$";
}
];
block-out-from = "screen-capture";
}
{
matches = [
{
is-active = false;
}
];
opacity = 0.90;
}
{
matches = [
{
@ -173,41 +158,108 @@
title = "Minecraft";
}
];
open-maximized = true;
open-maximized-to-edges = true;
open-focused = true;
opacity = 1.00;
}
{
matches = [
{
app-id = "mpv";
}
{
app-id = "firefox";
title = "Picture-in-Picture";
}
];
opacity = 1.0;
}
{
# Kitty Fastfetch window
matches = [
{
app-id = "kitty";
title = "^fastfetch$";
}
];
open-floating = true;
baba-is-float = true;
min-width = 960;
min-height = 480;
max-width = 960;
max-height = 480;
}
];
layer-rules = [
{
matches = [
{
namespace = "^wpaperd.*";
matches = [ { namespace = "noctalia-bar-content-.*$"; } ];
background-effect = {
xray = false;
blur = true;
noise = 0.05;
saturation = 1;
};
}
];
{
matches = [ { namespace = "^launcher$"; } ];
opacity = 0.90;
background-effect = {
xray = false;
blur = true;
noise = 0.05;
saturation = 1;
};
}
{
matches = [ { namespace = "^wallpaper$"; } ];
place-within-backdrop = true;
}
];
binds = {
"Mod+Shift+Slash".action.show-hotkey-overlay = { };
"Mod+D" = {
action.toggle-window-rule-opacity = { };
repeat = false;
};
"Mod+M" = {
action.spawn = [
"wpctl"
"set-mute"
"@DEFAULT_AUDIO_SOURCE@"
"toggle"
];
hotkey-overlay.title = "Toggle Microphone Mute";
repeat = false;
};
"Mod+T" = {
action.spawn = [ "kitty" ];
hotkey-overlay.title = "Open a Terminal: kitty";
};
"Mod+Shift+T" = {
action.spawn-sh = [ "kitty --title fastfetch sh -c 'fastfetch; sleep 10'" ];
hotkey-overlay.title = "Open a Terminal with Fastfetch";
};
"Mod+Space" = {
action.spawn = [ "fuzzel" ];
hotkey-overlay.title = "Run an Application: Noctalia app launcher";
hotkey-overlay.title = "Run an Application: Fuzzel";
};
"XF86AudioRaiseVolume" = {
action.spawn-sh = [
"noctalia-shell ipc call volume increase"
action.spawn = [
"wpctl"
"set-volume"
"@DEFAULT_AUDIO_SINK@"
"0.05+"
];
allow-when-locked = true;
};
"XF86AudioLowerVolume" = {
action.spawn-sh = [
"noctalia-shell ipc call volume decrease"
action.spawn = [
"wpctl"
"set-volume"
"@DEFAULT_AUDIO_SINK@"
"0.05-"
];
allow-when-locked = true;
};
@ -232,14 +284,20 @@
};
"MouseForward" = {
action.spawn-sh = [
"noctalia-shell ipc call volume increase"
action.spawn = [
"wpctl"
"set-volume"
"@DEFAULT_AUDIO_SINK@"
"0.05+"
];
allow-when-locked = true;
};
"MouseBack" = {
action.spawn-sh = [
"noctalia-shell ipc call volume decrease"
action.spawn = [
"wpctl"
"set-volume"
"@DEFAULT_AUDIO_SINK@"
"0.05-"
];
allow-when-locked = true;
};
@ -264,14 +322,20 @@
};
"XF86AudioMute" = {
action.spawn-sh = [
"noctalia-shell ipc call volume muteOutput"
action.spawn = [
"wpctl"
"set-mute"
"@DEFAULT_AUDIO_SINK@"
"toggle"
];
allow-when-locked = true;
};
"XF86AudioMicMute" = {
action.spawn-sh = [
"noctalia-shell ipc call volume muteInput"
action.spawn = [
"wpctl"
"set-mute"
"@DEFAULT_AUDIO_SOURCE@"
"toggle"
];
allow-when-locked = true;
};
@ -342,29 +406,13 @@
allow-when-locked = true;
};
"XF86Sleep" = {
action.power-off-monitors = { };
};
"XF86Sleep".action.power-off-monitors = { };
"XF86Search" = {
action.spawn = [
"noctalia-shell"
"ipc"
"call"
"launcher"
"toggle"
];
allow-when-locked = true;
};
"XF86Search".action.spawn = [ "fuzzel" ];
"XF86LaunchA" = {
action.spawn = [
"niri"
"msg"
"action"
"toggle-overview"
];
allow-when-locked = true;
action.toggle-overview = { };
repeat = false;
};
"Mod+O" = {
@ -492,18 +540,15 @@
"Mod+Ctrl+Shift+F".action.fullscreen-window = { };
"Mod+C".action.center-column = { };
"Mod+Ctrl+C".action.center-visible-columns = { };
"Mod+Minus".action.set-column-width = "-10%";
"Mod+Equal".action.set-column-width = "+10%";
"Mod+Shift+Minus".action.set-window-height = "-10%";
"Mod+Shift+Equal".action.set-window-height = "+10%";
"Mod+Ctrl+Minus".action.set-column-width = "-0.25%";
"Mod+Ctrl+Equal".action.set-column-width = "+0.25%";
"Mod+Ctrl+Shift+Minus".action.set-window-height = "-0.25%";
"Mod+Ctrl+Shift+Equal".action.set-window-height = "+0.25%";
@ -512,18 +557,9 @@
"Mod+W".action.toggle-column-tabbed-display = { };
"Print".action.screenshot = {
show-pointer = false;
};
"Mod+Shift+S".action.screenshot = {
show-pointer = false;
};
"Ctrl+Print".action.screenshot-screen = {
show-pointer = false;
};
"Alt+Print".action.screenshot-window = {
show-pointer = false;
};
"Mod+Shift+S".action.screenshot.show-pointer = false;
"Ctrl+Shift+S".action.screenshot-screen.show-pointer = false;
"Alt+Shift+S".action.screenshot-window.show-pointer = false;
"Mod+Escape" = {
action.toggle-keyboard-shortcuts-inhibit = { };

View file

@ -63,12 +63,12 @@
bar = {
autoHideDelay = 500;
autoShowDelay = 150;
backgroundOpacity = 1;
backgroundOpacity = 0.90;
monitors = [ ];
showCapsule = true;
barType = "simple";
capsuleColorKey = "none";
capsuleOpacity = 1;
capsuleOpacity = 0.90;
displayMode = "always_visible";
floating = false;
marginHorizontal = 5;
@ -79,7 +79,7 @@
outerCorners = false;
screenOverrides = [ ];
showOutline = false;
useSeparateOpacity = false;
useSeparateOpacity = true;
widgets = {
center = [ ];
left = [
@ -206,7 +206,7 @@
deviceNativePath = "__default__";
displayMode = "icon-hover";
hideIfIdle = false;
hideIfNotDetected = false;
hideIfNotDetected = true;
id = "Battery";
showNoctaliaPerformance = false;
showPowerProfiles = true;
@ -598,23 +598,19 @@
After = [ "niri.service" ];
PartOf = [ "niri.service" ];
Description = "Noctalia Shell - Wayland desktop shell";
Documentation = "https://docs.noctalia.dev/docs";
Documentation = "https://docs.noctalia.dev";
X-Restart-Triggers = [
"${config.xdg.configFile."noctalia/settings.json".source}"
"${config.xdg.configFile."noctalia/colors.json".source}"
];
};
Service = {
ExecStart = "${pkgs.noctalia-shell}/bin/noctalia-shell";
Restart = "on-failure";
Environment = [
"LOCALE_ARCHIVE=${pkgs.glibcLocales}/lib/locale"
"TZDIR=${pkgs.tzdata}/share/zoneinfo"
"NOCTALIA_SETTINGS_FALLBACK=%h/.config/noctalia/gui-settings.json"
"QT_QPA_PLATFORM=wayland"
"QT_QPA_PLATFORMTHEME=qt6ct"
];
Environment = [ "QT_QPA_PLATFORMTHEME=qt6ct" ];
};
Install = {
WantedBy = [ "niri.service" ];
};
Install.WantedBy = [ "niri.service" ];
};
}

View file

@ -4,78 +4,104 @@
...
}:
{
home.packages = with pkgs; [
wpaperd
];
home.file.".config/wpaperd/config.toml" = {
text = ''
[default]
mode = "center"
[any]
path = "/home/${config.userOptions.username}/.local/share/wallpaper/daily.jpg"
systemd.user.services.wbg-daemon = {
Unit.Description = "Wallpaper service using wbg (daemon)";
Service.ExecStart = ''
${pkgs.wbg}/bin/wbg -s \
%h/.local/share/wallpaper/daily-colored.jpg
'';
force = true;
};
systemd.user.services.wpaperd = {
Unit = {
Description = "Modern wallpaper daemon for Wayland";
PartOf = [ "niri.service" ];
Requires = [ "niri.service" ];
After = [ "niri.service" ];
};
Service = {
ExecStart = "${pkgs.wpaperd}/bin/wpaperd";
};
Install = {
WantedBy = [ "niri.service" ];
};
Install.WantedBy = [ "niri.service" ];
};
systemd.user.services.bing-wallpaper = {
Unit = {
Description = "Download and set Bing wallpaper of the day";
After = [ "network-online.target" ];
Wants = [ "network-online.target" ];
};
Service = {
Type = "oneshot";
ExecStart = pkgs.writeShellScript "bing-wallpaper" ''
OUT="''${XDG_DATA_HOME:-$HOME/.local/share}/wallpaper/daily.jpg"
Unit.Description = "Download and set Bing wallpaper of the day";
Unit.StartLimitBurst = 6;
Unit.StartLimitIntervalSec = "10m";
Service.Restart = "on-failure";
Service.RestartSec = "10s";
Service.Type = "oneshot";
Service.ExecStart = pkgs.lib.getExe (
pkgs.writeShellApplication {
name = "bing-wallpaper";
runtimeInputs = with pkgs; [
wget
jq
coreutils
libnotify
];
text = ''
OUT="$HOME/.local/share/wallpaper/daily.jpg"
API=$(wget -qO- "https://www.bing.com/HPImageArchive.aspx?format=js&idx=0&mkt=en-US&n=1")
BASE=$(echo "$API" | jq -r '.images[0].urlbase')
TITLE=$(echo "$API" | jq -r '.images[0].title')
API_RESP=$(${pkgs.wget}/bin/wget -qO- "https://www.bing.com/HPImageArchive.aspx?format=js&idx=0&mkt=en-US&n=1") || exit 1
mkdir -p "$HOME/.local/share/wallpaper"
wget -qO "$OUT" "https://www.bing.com''${BASE}_UHD.jpg"
URL_BASE=$(echo "$API_RESP" | ${pkgs.gnugrep}/bin/grep -oP 'urlbase":"[^"]*' | cut -d '"' -f 3)
TITLE=$(echo "$API_RESP" | ${pkgs.gnugrep}/bin/grep -oP 'title":"[^"]*' | cut -d '"' -f 3)
${pkgs.coreutils}/bin/mkdir -p "$(dirname "$OUT")"
${pkgs.wget}/bin/wget -qO "$OUT" "https://www.bing.com$URL_BASE\_UHD.jpg" || \
${pkgs.wget}/bin/wget -qO "$OUT" "https://www.bing.com$(echo "$API_RESP" | ${pkgs.gnugrep}/bin/grep -oP 'url":"[^"]*' | cut -d '"' -f 3)"
${pkgs.libnotify}/bin/notify-send \
-a "Bing Wallpaper Service" \
notify-send \
-a "Wallpaper of the day" \
-u low \
-i preferences-desktop-wallpaper \
"$TITLE"
'';
ExecStartPost = "${pkgs.systemd}/bin/systemctl --user restart wpaperd.service";
};
Install = {
WantedBy = [ "niri.service" ];
};
}
);
Service.ExecStartPost = "${pkgs.systemd}/bin/systemctl --user start gowall-convert.service";
Install.WantedBy = [ "niri.service" ];
};
systemd.user.timers.bing-wallpaper = {
Unit = {
Description = "Run bing wallpaper retrieval daily";
};
Timer = {
OnCalendar = "*-*-* 10:00:00 GMT";
Persistent = true;
};
Install = {
WantedBy = [ "timers.target" ];
Unit.Description = "Run bing wallpaper retrieval daily";
Timer.OnCalendar = "*-*-* 10:00:00 GMT";
Timer.Persistent = true;
Install.WantedBy = [ "timers.target" ];
};
systemd.user.services.gowall-convert = {
Unit.Description = "Convert a wallpaper to the system color scheme";
Unit.StartLimitBurst = 6;
Unit.StartLimitIntervalSec = "10m";
Service.Restart = "on-failure";
Service.RestartSec = "10s";
Service.Type = "oneshot";
Service.ExecStart = ''
${pkgs.gowall}/bin/gowall convert \
%h/.local/share/wallpaper/daily.jpg \
--output %h/.local/share/wallpaper/daily-colored.jpg \
-t nix
'';
Service.ExecStartPost = "${pkgs.systemd}/bin/systemctl --user restart wbg-daemon.service";
};
home.file.".config/gowall/config.yml".text = with config.scheme.withHashtag; ''
themes:
- name: "nix"
colors:
- "${base06}"
- "${base0F}"
- "${base17}"
- "${base0E}"
- "${base08}"
- "${base12}"
- "${base09}"
- "${base0A}"
- "${base0B}"
- "${base0C}"
- "${base15}"
- "${base16}"
- "${base0D}"
- "${base07}"
- "${base05}"
- "${base07}"
- "${base0D}"
- "${base0D}"
- "${base04}"
- "${base04}"
- "${base04}"
- "${base03}"
- "${base02}"
- "${base00}"
- "${base01}"
- "${base11}"
'';
}

View file

@ -1,56 +0,0 @@
{
lib,
stdenv,
fetchYarnDeps,
yarn,
nodejs,
fixup-yarn-lock,
nodePackages,
catppuccin-discord-git,
}:
stdenv.mkDerivation rec {
pname = "catppuccin-discord";
version = "unstable-${catppuccin-discord-git.rev}";
src = catppuccin-discord-git;
yarnOfflineCache = fetchYarnDeps {
yarnLock = "${src}/yarn.lock";
hash = "sha256-BhE3aKyA/LBErjWx+lbEVb/CIXhqHkXbV+9U2djIBhs=";
};
nativeBuildInputs = [
yarn
nodejs
fixup-yarn-lock
nodePackages.sass
];
postPatch = ''
substituteInPlace package.json \
--replace-fail "--no-charset --no-source-map" ""
'';
configurePhase = ''
export HOME=$TMPDIR
yarn config --offline set yarn-offline-mirror ${yarnOfflineCache}
fixup-yarn-lock yarn.lock
yarn install --offline --frozen-lockfile --ignore-scripts --ignore-platform
'';
buildPhase = ''
yarn --offline release
'';
installPhase = ''
mkdir -p $out/share/catppuccin-discord
cp -r dist/dist/* $out/share/catppuccin-discord/
'';
meta = {
description = "Soothing pastel theme for Discord";
homepage = "https://github.com/catppuccin/discord";
license = lib.licenses.mit;
platforms = lib.platforms.all;
};
}

View file

@ -1,11 +1,7 @@
final: prev: {
spotify-webapp = final.callPackage ./spotify-webapp { };
catppuccin-discord = final.callPackage ./catppuccin-discord {
inherit (final) catppuccin-discord-git;
};
openmw = prev.openmw.overrideAttrs (oldAttrs: {
openmw-unstable = prev.openmw.overrideAttrs (oldAttrs: {
pname = "openmw";
src = final.openmw-git;
version = "${final.openmw-git.rev}";

View file

@ -2,28 +2,16 @@
# your system. Help is available in the configuration.nix(5) man page
# and in the NixOS manual (accessible by running nixos-help).
{
config,
pkgs,
...
}:
{
environment.sessionVariables = {
# this makes electron apps work per the wiki
NIXOS_OZONE_WL = "1";
};
boot = {
plymouth = {
enable = true;
logo = "${pkgs.nixos-icons}/share/icons/hicolor/64x64/apps/nix-snowflake-white.png";
};
plymouth.enable = true;
plymouth.logo = "${pkgs.nixos-icons}/share/icons/hicolor/64x64/apps/nix-snowflake-white.png";
loader = {
timeout = 3;
# systemd-boot = {
# enable = true;
# consoleMode = lib.mkForce "auto";
# configurationLimit = 10;
# };
limine = {
enable = true;
maxGenerations = 10;
@ -40,7 +28,6 @@
};
};
};
# efi.canTouchEfiVariables = true;
};
kernelParams = [
"quiet"
@ -53,39 +40,24 @@
];
consoleLogLevel = 0;
initrd.verbose = false;
extraModulePackages = with config.boot.kernelPackages; [
v4l2loopback
];
extraModprobeConfig = ''
options v4l2loopback devices=1 video_nr=1 card_label="OBS Cam" exclusive_caps=1
'';
};
networking.networkmanager.enable = true;
hardware.bluetooth.enable = true;
time.timeZone = "America/New_York";
i18n.defaultLocale = "en_US.UTF-8";
i18n.extraLocaleSettings = {
LC_ADDRESS = "en_US.UTF-8";
LC_IDENTIFICATION = "en_US.UTF-8";
LC_MEASUREMENT = "en_US.UTF-8";
LC_MONETARY = "en_US.UTF-8";
LC_NAME = "en_US.UTF-8";
LC_NUMERIC = "en_US.UTF-8";
LC_PAPER = "en_US.UTF-8";
LC_TELEPHONE = "en_US.UTF-8";
LC_TIME = "en_US.UTF-8";
};
# Enable OpenGL
hardware.graphics = {
programs = {
gnupg.agent = {
enable = true;
enableSSHSupport = true;
pinentryPackage = pkgs.pinentry-curses;
};
programs.niri = {
enable = true;
package = pkgs.niri-unstable;
};
services.gnome.gnome-keyring.enable = true;
security.pam.services.niri.enableGnomeKeyring = true;
programs.dconf.enable = true;
programs.dconf.profiles.user = {
niri.enable = true;
niri.package = pkgs.niri-unstable;
dconf.enable = true;
dconf.profiles.user = {
databases = [
{
# breaks user-level indirect config of dconf
@ -117,26 +89,22 @@
}
];
};
aerothemeplasma = {
enable = true;
plasma.enable = true;
fonts.enable = false;
plymouth.enable = false;
sddm.enable = true;
# hyprland = {
# enable = true;
# package = pkgs.hyprland;
# portalPackage = pkgs.xdg-desktop-portal-hyprland;
# withUWSM = true;
# };
};
services = {
# displayManager = {
# gdm.enable = true;
# defaultSession = "niri";
# };
desktopManager.plasma6.enable = true;
displayManager = {
sddm.enable = true;
defaultSession = "aerothemeplasma";
sddm.wayland.enable = true;
defaultSession = "niri";
};
gnome.gnome-keyring.enable = true;
libinput.enable = true;
printing.enable = true;
pipewire = {
@ -147,33 +115,45 @@
};
udisks2.enable = true;
gvfs.enable = true;
upower.enable = true;
power-profiles-daemon.enable = true;
openssh.enable = true;
};
environment = {
systemPackages = with pkgs; [
environment.systemPackages = with pkgs; [
git
firefoxpwa
distrobox
(wrapOBS {
plugins = with pkgs.obs-studio-plugins; [
wlrobs
obs-backgroundremoval
obs-pipewire-audio-capture
];
})
];
};
programs.gnupg.agent = {
enable = true;
enableSSHSupport = true;
pinentryPackage = pkgs.pinentry-curses;
};
security.pam.services.niri.enableGnomeKeyring = config.services.gnome.gnome-keyring.enable;
security.polkit.enable = true;
networking.firewall.enable = false;
documentation.man = {
enable = true;
generateCaches = false;
networking.networkmanager.enable = true;
documentation.man.enable = true;
documentation.man.generateCaches = false;
hardware.graphics.enable = true;
hardware.bluetooth.enable = true;
time.timeZone = "America/New_York";
i18n.defaultLocale = "en_US.UTF-8";
i18n.extraLocaleSettings = {
LC_ADDRESS = "en_US.UTF-8";
LC_IDENTIFICATION = "en_US.UTF-8";
LC_MEASUREMENT = "en_US.UTF-8";
LC_MONETARY = "en_US.UTF-8";
LC_NAME = "en_US.UTF-8";
LC_NUMERIC = "en_US.UTF-8";
LC_PAPER = "en_US.UTF-8";
LC_TELEPHONE = "en_US.UTF-8";
LC_TIME = "en_US.UTF-8";
};
services.openssh.enable = true;
# This value determines the NixOS release from which the default
# settings for stateful data, like file locations and database versions
# on your system were taken. Its perfectly fine and recommended to leave

View file

@ -1,7 +1,7 @@
{ catppuccin, ... }:
{ ... }:
{
home-manager.users.sckova = {
imports = [ catppuccin.homeModules.catppuccin ];
imports = [ ];
};
services.spice-vdagentd.enable = true;

View file

@ -16,7 +16,7 @@
pkgs.runCommand "gen-key" { buildInputs = [ pkgs.openssl ]; } "openssl rand -hex 32 > $out"
)
);
port = 8080;
port = 5364;
bind_address = "127.0.0.1";
};

View file

@ -0,0 +1,53 @@
{
lib,
config,
pkgs,
...
}:
{
users.users.sckova.extraGroups = [ "qbittorrent" ];
services = {
qbittorrent = {
enable = true;
serverConfig = {
Preferences = {
Advanced.useSystemIconTheme = true;
General = {
CloseToTray = false;
CloseToTrayNotified = true;
ExitConfirm = false;
Locale = "en";
};
WebUI = {
Address = "*";
Enabled = true;
Port = 9697;
UseUPnP = false;
};
BitTorrent = {
SessionGlobalDLSpeedLimit = 0;
GlobalUPSpeedLimit = 0;
Port = 42578;
QueueingSystemEnabled = false;
SSL.Port = 63114;
StartPaused = false;
};
};
};
};
flaresolverr = {
enable = true;
port = 8191;
};
prowlarr = {
enable = true;
settings = {
server = {
urlbase = "localhost";
port = 9696;
bindaddress = "*";
};
};
};
};
}