Compare commits

..

20 Commits

Author SHA1 Message Date
jay
51eb7b3eeb Make hyprpanel configuration more generic, set hardware specific options for nixy. 2025-06-30 19:46:45 -04:00
jay
d442d383c3 Remove gpu api option from mpvpaper. 2025-06-30 19:46:45 -04:00
jay
f06e69d4f4 Set up lappy specific video wallpaper stuffs.
Compilation fix.
2025-06-30 19:46:45 -04:00
jay
b365f6ed53 Add wallpapers. 2025-06-30 19:08:15 -04:00
jay
81d78201a2 Force cava framerate for lappy to compile. 2025-06-30 15:11:23 -04:00
jay
b43acc0b61 Fix compilation error. 2025-06-30 15:07:23 -04:00
jay
0c3777d0fa Set lappy hyprpanel cava framerate to 120. 2025-06-30 15:06:11 -04:00
jay
e049f8f6c5 Remove netstat from common hyprpanel, add battery to lappy hyprpanel. 2025-06-30 15:03:01 -04:00
jay
58de73bf6b Add battery to hyprpanel when on lappy. 2025-06-30 14:55:21 -04:00
jay
f25bd93db4 Add xpadneo to get controller working? 2025-06-30 12:40:11 -04:00
jay
6ea4a8de6d Attempted bluetooth fix for Xbox controller. 2025-06-30 12:21:47 -04:00
jay
7e5fe99e5d Remove nm-tray, no longer needed. 2025-06-30 11:12:37 -04:00
jay
2f13ce81a2 Flake update. 2025-06-30 10:58:08 -04:00
jay
f5d11425e1 Add nm-tray to work around weird hyprpanel wifi issue. 2025-06-30 10:52:42 -04:00
jay
11fed23ef9 Set up hyprland resolution per device. 2025-06-30 02:56:42 -04:00
jay
15cb65e0c3 Set up specific monitor for lappy, we hope. 2025-06-30 02:39:02 -04:00
jay
fbdb145b3c Add home-manager module. 2025-06-30 02:05:04 -04:00
jay
0562b39ced Remove Xserver + xev. 2025-06-30 01:10:53 -04:00
jay
243f31bd2d Fix compilation error. 2025-06-30 00:49:53 -04:00
jay
c371ec16df Add stylix module import. 2025-06-30 00:48:46 -04:00
94 changed files with 777 additions and 2387 deletions

3
.gitmodules vendored
View File

@@ -1,3 +0,0 @@
[submodule "private"]
path = private
url = https://git.zerojay.com/jay/private.git

View File

@@ -1,2 +0,0 @@
creation_rules:
- age: age1kn9632x2upcckl5jr9h2xda9l9j6r23u3pzjdp4v7vdjs42fpq3qur2qf0

View File

@@ -1,66 +1 @@
This NixOS setup is based off of https://github.com/hgl/nixverse and using its features for handling multiple machines, splitting configurations depending on users/nodes/more.
Machines
+ lappy - Samsung Galaxy Book 5 Pro 360 - Intel Core Ultra 7 256V, Intel Arc Graphics, 16GB RAM, 4TB SSD
Currently being sold, no longer in use.
+ nixy - AMD 7800X3D, GeForce RTX 4070 Super, 64GB RAM, 1TB SSD, 4TB SSD on /home.
This machine is still on a previous NixOS setup and has not been moved over to this one yet, working on finishing off everything on lappy first.
* nixwork - Framework Laptop 16, AMD Ryzen 9 7940HS, 96GB RAM, 4TB SSD.
This machine has not been received yet.
+ arcade - Minisforum Neptune HX99G, AMD Ryzen 9 6900HX, AMD Radeon 6650M, 64GB RAM, 1TB SSD
This is used in my arcade machine and is still running Windows at the moment but will eventually be converted to NixOS as well.
+ ally - ASUS ROG Ally X, AMD Ryzen Z1 Extreme, 24GB RAM, 4TB SSD
This is my handheld gaming device and is still running Windows at the moment but will eventually be converted to NixOS as well.
To-Do List
[ ] Finish porting features from nixy's previous setup and get them working on lappy: impermanence.
[ ] Set up declarative Discord setup with nixcord and plugins.
[ ] Figure out how to set up sops-nix with user passwords properly.
[X] Fully setup private git repository for secrets.
[X] Integrate private git repository into nixverse setup.
[X] Switch nixy over to this nixverse setup.
[ ] Finish checking the apps I need on the arcade machine work under NixOS (attractmode, retroarch, teknoparrot, others).
[ ] Setup arcade machine on NixOS.
[ ] Setup ally machine on NixOS.
Installation
- Run latest NixOS installer from USB stick.
- git clone https://git.zerojay.com/jay/nixverse.git && cd nixverse
- git submodule update --init --recursive
- cd nodes/hosts/[systemname]
- sudo nix --experimental-features "nix-command flakes" run github:nix-community/disko/latest -- --mode destroy,format,mount ./disk-config.nix
- mount | grep /mnt
- sudo btrfs subvolume snapshot -r /mnt /mnt/root-blank
- sudo btrfs subvolume list /mnt
- sudo btrfs property get -ts /mnt/root-blank
- cd ~/nixverse
- sudo nixos-install --root /mnt --flake .#[systemname]
- sudo mkdir -p /mnt/persist/etc
- sudo mkdir -p /mnt/persist/var/lib
- sudo mkdir -p /mnt/persist/var/log
- sudo mkdir -p /mnt/persist/home
- sudo mkdir -p /mnt/persist/root
- sudo cp -a /mnt/etc/. /mnt/persist/etc/
- sudo cp -a /mnt/var/lib/. /mnt/persist/var/lib
- sudo cp -a /mnt/var/log/. /mnt/persist/var/log
- sudo cp -a /mnt/home/. /mnt/persist/home/
- sudo cp -a /mnt/root/. /mnt/persist/root/
- reboot
Post-Install - Secrets Setup
- mkdir -p ~/.config/sops/age
- age-keygen -o ~/.config/sops/age/keys.txt
- nixverse secrets edit
Maintenance - Clean Up BTRFS old_roots
- sudo mkdir /mnt
- sudo mount /dev/mapper/cryptroot -o subvolid=5 /mnt
- cd /mnt/old_roots
- sudo du -h -d 1
- sudo rm -rf [snapshot here]
- sudo umount /mnt
asdasd

461
flake.lock generated
View File

@@ -1,22 +1,46 @@
{
"nodes": {
"auto-cpufreq-stable-nixos": {
"ags": {
"inputs": {
"astal": "astal",
"nixpkgs": [
"hyprpanel-stable-nixos",
"nixpkgs"
]
},
"locked": {
"lastModified": 1752998173,
"narHash": "sha256-ZlYpBp2WOe03UrpjJGz5KTOL/pp7A452hJO/Vc8C4/0=",
"owner": "AdnanHodzic",
"repo": "auto-cpufreq",
"rev": "562278377ffa96f3c1af49c7b499df028ce8d8bd",
"lastModified": 1736090999,
"narHash": "sha256-B5CJuHqfJrzPa7tObK0H9669/EClSHpa/P7B9EuvElU=",
"owner": "aylur",
"repo": "ags",
"rev": "5527c3c07d92c11e04e7fd99d58429493dba7e3c",
"type": "github"
},
"original": {
"owner": "AdnanHodzic",
"repo": "auto-cpufreq",
"owner": "aylur",
"repo": "ags",
"type": "github"
}
},
"astal": {
"inputs": {
"nixpkgs": [
"hyprpanel-stable-nixos",
"ags",
"nixpkgs"
]
},
"locked": {
"lastModified": 1735172721,
"narHash": "sha256-rtEAwGsHSppnkR3Qg3eRJ6Xh/F84IY9CrBBLzYabalY=",
"owner": "aylur",
"repo": "astal",
"rev": "6c84b64efc736e039a8a10774a4a1bf772c37aa2",
"type": "github"
},
"original": {
"owner": "aylur",
"repo": "astal",
"type": "github"
}
},
@@ -96,11 +120,11 @@
]
},
"locked": {
"lastModified": 1749200714,
"narHash": "sha256-W8KiJIrVwmf43JOPbbTu5lzq+cmdtRqaNbOsZigjioY=",
"lastModified": 1734088167,
"narHash": "sha256-OIitVU+IstPbX/NWn2jLF+/sT9dVKcO2FKeRAzlyX6c=",
"owner": "nix-community",
"repo": "disko",
"rev": "17d08c65c241b1d65b3ddf79e3fac1ddc870b0f6",
"rev": "d32f2d1750d61a476a236526b725ec5a32e16342",
"type": "github"
},
"original": {
@@ -117,11 +141,11 @@
]
},
"locked": {
"lastModified": 1756733629,
"narHash": "sha256-dwWGlDhcO5SMIvMSTB4mjQ5Pvo2vtxvpIknhVnSz2I8=",
"lastModified": 1750903843,
"narHash": "sha256-Ng9+f0H5/dW+mq/XOKvB9uwvGbsuiiO6HrPdAcVglCs=",
"owner": "nix-community",
"repo": "disko",
"rev": "a5c4f2ab72e3d1ab43e3e65aa421c6f2bd2e12a1",
"rev": "83c4da299c1d7d300f8c6fd3a72ac46cb0d59aae",
"type": "github"
},
"original": {
@@ -146,16 +170,35 @@
"type": "github"
}
},
"flake-compat": {
"locked": {
"lastModified": 1747046372,
"narHash": "sha256-CIVLLkVgvHYbgI2UpXvIIBJ12HWgX+fjA8Xf8PUmqCY=",
"owner": "edolstra",
"repo": "flake-compat",
"rev": "9100a0f413b0c601e0533d1d94ffd501ce2e7885",
"type": "github"
},
"original": {
"owner": "edolstra",
"repo": "flake-compat",
"type": "github"
}
},
"flake-parts": {
"inputs": {
"nixpkgs-lib": "nixpkgs-lib"
"nixpkgs-lib": [
"nixverse",
"nixos-anywhere",
"nixpkgs"
]
},
"locked": {
"lastModified": 1754487366,
"narHash": "sha256-pHYj8gUBapuUzKV/kN/tR3Zvqc7o6gdFB9XKXIp1SQ8=",
"lastModified": 1733312601,
"narHash": "sha256-4pDvzqnegAfRkPwO3wmwBhVi/Sye1mzps0zHWYnP88c=",
"owner": "hercules-ci",
"repo": "flake-parts",
"rev": "af66ad14b28a127c5c0f3bbb298218fc63528a18",
"rev": "205b12d8b7cd4802fbcb8e8ef6a0f1408781a4f9",
"type": "github"
},
"original": {
@@ -165,28 +208,6 @@
}
},
"flake-parts_2": {
"inputs": {
"nixpkgs-lib": [
"nixverse",
"nixos-anywhere",
"nixpkgs"
]
},
"locked": {
"lastModified": 1748821116,
"narHash": "sha256-F82+gS044J1APL0n4hH50GYdPRv/5JWm34oCJYmVKdE=",
"owner": "hercules-ci",
"repo": "flake-parts",
"rev": "49f0870db23e8c1ca0b5259734a02cd9e1e371a1",
"type": "github"
},
"original": {
"owner": "hercules-ci",
"repo": "flake-parts",
"type": "github"
}
},
"flake-parts_3": {
"inputs": {
"nixpkgs-lib": [
"stylix-stable-nixos",
@@ -194,11 +215,11 @@
]
},
"locked": {
"lastModified": 1749398372,
"narHash": "sha256-tYBdgS56eXYaWVW3fsnPQ/nFlgWi/Z2Ymhyu21zVM98=",
"lastModified": 1743550720,
"narHash": "sha256-hIshGgKZCgWh6AYJpJmRgFdR3WUbkY04o82X05xqQiY=",
"owner": "hercules-ci",
"repo": "flake-parts",
"rev": "9305fe4e5c2a6fcf5ba6a3ff155720fbe4076569",
"rev": "c621e8422220273271f52058f618c94e405bb0f5",
"type": "github"
},
"original": {
@@ -207,24 +228,6 @@
"type": "github"
}
},
"flake-utils": {
"inputs": {
"systems": "systems"
},
"locked": {
"lastModified": 1731533236,
"narHash": "sha256-l0KFg5HjrsfsO/JpG+r7fRrqm12kzFHyUHqHCVpMMbI=",
"owner": "numtide",
"repo": "flake-utils",
"rev": "11707dc2f618dd54ca8739b309ec4fc024de578b",
"type": "github"
},
"original": {
"owner": "numtide",
"repo": "flake-utils",
"type": "github"
}
},
"fromYaml": {
"flake": false,
"locked": {
@@ -241,6 +244,54 @@
"type": "github"
}
},
"git-hooks": {
"inputs": {
"flake-compat": [
"stylix-stable-nixos",
"flake-compat"
],
"gitignore": "gitignore",
"nixpkgs": [
"stylix-stable-nixos",
"nixpkgs"
]
},
"locked": {
"lastModified": 1747372754,
"narHash": "sha256-2Y53NGIX2vxfie1rOW0Qb86vjRZ7ngizoo+bnXU9D9k=",
"owner": "cachix",
"repo": "git-hooks.nix",
"rev": "80479b6ec16fefd9c1db3ea13aeb038c60530f46",
"type": "github"
},
"original": {
"owner": "cachix",
"repo": "git-hooks.nix",
"type": "github"
}
},
"gitignore": {
"inputs": {
"nixpkgs": [
"stylix-stable-nixos",
"git-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"
}
},
"gnome-shell": {
"flake": false,
"locked": {
@@ -261,16 +312,16 @@
"home-manager": {
"inputs": {
"nixpkgs": [
"hyprpanel-stable-nixos",
"stylix-stable-nixos",
"nixpkgs"
]
},
"locked": {
"lastModified": 1750798083,
"narHash": "sha256-DTCCcp6WCFaYXWKFRA6fiI2zlvOLCf5Vwx8+/0R8Wc4=",
"lastModified": 1748737919,
"narHash": "sha256-5kvBbLYdp+n7Ftanjcs6Nv+UO6sBhelp6MIGJ9nWmjQ=",
"owner": "nix-community",
"repo": "home-manager",
"rev": "ff31a4677c1a8ae506aa7e003a3dba08cb203f82",
"rev": "5675a9686851d9626560052a032c4e14e533c1fa",
"type": "github"
},
"original": {
@@ -286,16 +337,16 @@
]
},
"locked": {
"lastModified": 1756679287,
"narHash": "sha256-Xd1vOeY9ccDf5VtVK12yM0FS6qqvfUop8UQlxEB+gTQ=",
"lastModified": 1750704637,
"narHash": "sha256-PHhDLtkEBkH+ee27YCsMziijpbypsRGDTuOuz6mG7iE=",
"owner": "nix-community",
"repo": "home-manager",
"rev": "07fc025fe10487dd80f2ec694f1cd790e752d0e8",
"rev": "873c5b2dc5c9387bf67e59a12abc4de12a4b8697",
"type": "github"
},
"original": {
"owner": "nix-community",
"ref": "release-25.05",
"ref": "873c5b2dc5c9387bf67e59a12abc4de12a4b8697",
"repo": "home-manager",
"type": "github"
}
@@ -308,11 +359,11 @@
]
},
"locked": {
"lastModified": 1752603129,
"narHash": "sha256-S+wmHhwNQ5Ru689L2Gu8n1OD6s9eU9n9mD827JNR+kw=",
"lastModified": 1743604125,
"narHash": "sha256-ZD61DNbsBt1mQbinAaaEqKaJk2RFo9R/j+eYWeGMx7A=",
"owner": "nix-community",
"repo": "home-manager",
"rev": "e8c19a3cec2814c754f031ab3ae7316b64da085b",
"rev": "180fd43eea296e62ae68e079fcf56aba268b9a1a",
"type": "github"
},
"original": {
@@ -323,36 +374,21 @@
},
"hyprpanel-stable-nixos": {
"inputs": {
"flake-utils": "flake-utils",
"home-manager": "home-manager",
"ags": "ags",
"nixpkgs": "nixpkgs"
},
"locked": {
"lastModified": 1755569534,
"narHash": "sha256-ukXfV1cAsxoar0IVEO2/s3qnVEZpZf0wvqE3PIESobw=",
"lastModified": 1748284447,
"narHash": "sha256-99/GrZHZ+e8MLgUvEqLM0tXlVbgKBEYuGMHTigjYgvQ=",
"owner": "Jas-SinghFSU",
"repo": "Hyprpanel",
"rev": "6385f2e15df908e0c13bed800f4b091300e5b981",
"repo": "HyprPanel",
"rev": "436dcbfcf2458784203d83c4b96e7b0c3fb66762",
"type": "github"
},
"original": {
"owner": "Jas-SinghFSU",
"repo": "Hyprpanel",
"type": "github"
}
},
"impermanence-stable-nixos": {
"locked": {
"lastModified": 1737831083,
"narHash": "sha256-LJggUHbpyeDvNagTUrdhe/pRVp4pnS6wVKALS782gRI=",
"owner": "nix-community",
"repo": "impermanence",
"rev": "4b3e914cdf97a5b536a889e939fb2fd2b043a170",
"type": "github"
},
"original": {
"owner": "nix-community",
"repo": "impermanence",
"repo": "HyprPanel",
"rev": "436dcbfcf2458784203d83c4b96e7b0c3fb66762",
"type": "github"
}
},
@@ -364,11 +400,11 @@
]
},
"locked": {
"lastModified": 1751313918,
"narHash": "sha256-HsJM3XLa43WpG+665aGEh8iS8AfEwOIQWk3Mke3e7nk=",
"lastModified": 1750618568,
"narHash": "sha256-w9EG5FOXrjXGfbqCcQg9x1lMnTwzNDW5BMXp8ddy15E=",
"owner": "lnl7",
"repo": "nix-darwin",
"rev": "e04a388232d9a6ba56967ce5b53a8a6f713cdfcf",
"rev": "1dd19f19e4b53a1fd2e8e738a08dd5fe635ec7e5",
"type": "github"
},
"original": {
@@ -393,54 +429,10 @@
"type": "github"
}
},
"nix-gaming-stable-nixos": {
"inputs": {
"flake-parts": "flake-parts",
"nixpkgs": [
"nixpkgs-stable-nixos"
]
},
"locked": {
"lastModified": 1756950352,
"narHash": "sha256-CkNlcUeNlDmxF1GJwEQg3aIBSCihnFcAqCwBjUQGqNY=",
"owner": "fufexan",
"repo": "nix-gaming",
"rev": "64ac07fae89f297beab704dce70038cdbda55c25",
"type": "github"
},
"original": {
"owner": "fufexan",
"repo": "nix-gaming",
"type": "github"
}
},
"nix-vm-test": {
"inputs": {
"nixpkgs": [
"nixverse",
"nixos-anywhere",
"nixpkgs"
]
},
"locked": {
"lastModified": 1748765518,
"narHash": "sha256-vftOR+7zwnMWl5UpG32GL1VBeNGTDZZT0hv+2uNuBGw=",
"owner": "Mic92",
"repo": "nix-vm-test",
"rev": "d6642fbaf42fc98883d84bab66cd0ec720d9dd0c",
"type": "github"
},
"original": {
"owner": "Mic92",
"repo": "nix-vm-test",
"type": "github"
}
},
"nixos-anywhere": {
"inputs": {
"disko": "disko",
"flake-parts": "flake-parts_2",
"nix-vm-test": "nix-vm-test",
"flake-parts": "flake-parts",
"nixos-images": "nixos-images",
"nixos-stable": "nixos-stable",
"nixpkgs": [
@@ -450,32 +442,17 @@
"treefmt-nix": "treefmt-nix"
},
"locked": {
"lastModified": 1750078927,
"narHash": "sha256-7iTUVUP6xgEYXdl9aCYBbYMYVsQmOvMoLUsUS2aoDNA=",
"lastModified": 1740657886,
"narHash": "sha256-7kHxBQuzb7gcHzVmLGljJ4kF6BDDSYVCIxYFDmYPnAo=",
"owner": "nix-community",
"repo": "nixos-anywhere",
"rev": "ff87db6a952191648ffaea97ec5559784c7223c6",
"rev": "77e6a4e14baa93a29952ea9f0e4a59a29cca09e9",
"type": "github"
},
"original": {
"owner": "nix-community",
"repo": "nixos-anywhere",
"type": "github"
}
},
"nixos-hardware-stable-nixos": {
"locked": {
"lastModified": 1756925795,
"narHash": "sha256-kUb5hehaikfUvoJDEc7ngiieX88TwWX/bBRX9Ar6Tac=",
"owner": "NixOS",
"repo": "nixos-hardware",
"rev": "ba6fab29768007e9f2657014a6e134637100c57d",
"type": "github"
},
"original": {
"owner": "NixOS",
"ref": "master",
"repo": "nixos-hardware",
"rev": "77e6a4e14baa93a29952ea9f0e4a59a29cca09e9",
"type": "github"
}
},
@@ -493,11 +470,11 @@
]
},
"locked": {
"lastModified": 1749086071,
"narHash": "sha256-4+fY7i+q78F3t6APz0cMC4kRxsyCb+UTyfhbckkCd7Q=",
"lastModified": 1740452541,
"narHash": "sha256-aa5gPveHysMTVkxj+0iH0BdcSn8+v8lZPud+IItOSaQ=",
"owner": "nix-community",
"repo": "nixos-images",
"rev": "aa38dbbdf0e955baef7e03dfc4265ae3fdac4808",
"rev": "283bbacb81bd2c1a7b89f33e011ecabe398a564e",
"type": "github"
},
"original": {
@@ -508,27 +485,27 @@
},
"nixos-stable": {
"locked": {
"lastModified": 1749086602,
"narHash": "sha256-DJcgJMekoxVesl9kKjfLPix2Nbr42i7cpEHJiTnBUwU=",
"lastModified": 1733808091,
"narHash": "sha256-KWwINTQelKOoQgrXftxoqxmKFZb9pLVfnRvK270nkVk=",
"owner": "NixOS",
"repo": "nixpkgs",
"rev": "4792576cb003c994bd7cc1edada3129def20b27d",
"rev": "a0f3e10d94359665dba45b71b4227b0aeb851f8e",
"type": "github"
},
"original": {
"owner": "NixOS",
"ref": "nixos-25.05",
"ref": "nixos-24.11",
"repo": "nixpkgs",
"type": "github"
}
},
"nixpkgs": {
"locked": {
"lastModified": 1750776420,
"narHash": "sha256-/CG+w0o0oJ5itVklOoLbdn2dGB0wbZVOoDm4np6w09A=",
"lastModified": 1736344531,
"narHash": "sha256-8YVQ9ZbSfuUk2bUf2KRj60NRraLPKPS0Q4QFTbc+c2c=",
"owner": "nixos",
"repo": "nixpkgs",
"rev": "30a61f056ac492e3b7cdcb69c1e6abdcf00e39cf",
"rev": "bffc22eb12172e6db3c5dde9e3e5628f8e3e7912",
"type": "github"
},
"original": {
@@ -538,28 +515,13 @@
"type": "github"
}
},
"nixpkgs-lib": {
"locked": {
"lastModified": 1753579242,
"narHash": "sha256-zvaMGVn14/Zz8hnp4VWT9xVnhc8vuL3TStRqwk22biA=",
"owner": "nix-community",
"repo": "nixpkgs.lib",
"rev": "0f36c44e01a6129be94e3ade315a5883f0228a6e",
"type": "github"
},
"original": {
"owner": "nix-community",
"repo": "nixpkgs.lib",
"type": "github"
}
},
"nixpkgs-stable-nixos": {
"locked": {
"lastModified": 1756886854,
"narHash": "sha256-6tooT142NLcFjt24Gi4B0G1pgWLvfw7y93sYEfSHlLI=",
"lastModified": 1751211869,
"narHash": "sha256-1Cu92i1KSPbhPCKxoiVG5qnoRiKTgR5CcGSRyLpOd7Y=",
"owner": "nixos",
"repo": "nixpkgs",
"rev": "0e6684e6c5755325f801bda1751a8a4038145d7d",
"rev": "b43c397f6c213918d6cfe6e3550abfe79b5d1c51",
"type": "github"
},
"original": {
@@ -569,29 +531,13 @@
"type": "github"
}
},
"nixpkgs-unstable": {
"locked": {
"lastModified": 1756819007,
"narHash": "sha256-12V64nKG/O/guxSYnr5/nq1EfqwJCdD2+cIGmhz3nrE=",
"owner": "NixOS",
"repo": "nixpkgs",
"rev": "aaff8c16d7fc04991cac6245bee1baa31f72b1e1",
"type": "github"
},
"original": {
"owner": "NixOS",
"ref": "nixpkgs-unstable",
"repo": "nixpkgs",
"type": "github"
}
},
"nixpkgs_2": {
"locked": {
"lastModified": 1756819007,
"narHash": "sha256-12V64nKG/O/guxSYnr5/nq1EfqwJCdD2+cIGmhz3nrE=",
"lastModified": 1751180975,
"narHash": "sha256-BKk4yDiXr4LdF80OTVqYJ53Q74rOcA/82EClXug8xsY=",
"owner": "NixOS",
"repo": "nixpkgs",
"rev": "aaff8c16d7fc04991cac6245bee1baa31f72b1e1",
"rev": "a48741b083d4f36dd79abd9f760c84da6b4dc0e5",
"type": "github"
},
"original": {
@@ -608,16 +554,15 @@
]
},
"locked": {
"lastModified": 1751773294,
"narHash": "sha256-7SOb5tc8FARZHUBr8HeCO5016lpiG+S1qugQQdXzF/w=",
"lastModified": 1751287013,
"narHash": "sha256-UJ33jYiM/rn54NVvCigaKQNmC4k3/Hn/uA5i6ULU8kg=",
"owner": "hgl",
"repo": "nixverse",
"rev": "084a07f43829857fc760e70212c497d2f40eaa3c",
"rev": "af21fb55ba69cf586dabfa7d61176c67c436f01f",
"type": "github"
},
"original": {
"owner": "hgl",
"ref": "084a07f43829857fc760e70212c497d2f40eaa3c",
"repo": "nixverse",
"type": "github"
}
@@ -635,11 +580,11 @@
"treefmt-nix": "treefmt-nix_2"
},
"locked": {
"lastModified": 1751320053,
"narHash": "sha256-3m6RMw0FbbaUUa01PNaMLoO7D99aBClmY5ed9V3vz+0=",
"lastModified": 1748730660,
"narHash": "sha256-5LKmRYKdPuhm8j5GFe3AfrJL8dd8o57BQ34AGjJl1R0=",
"owner": "nix-community",
"repo": "NUR",
"rev": "cbde1735782f9c2bb2c63d5e05fba171a14a4670",
"rev": "2c0bc52fe14681e9ef60e3553888c4f086e46ecb",
"type": "github"
},
"original": {
@@ -650,43 +595,17 @@
},
"root": {
"inputs": {
"auto-cpufreq-stable-nixos": "auto-cpufreq-stable-nixos",
"disko-stable-nixos": "disko-stable-nixos",
"home-manager-stable-nixos": "home-manager-stable-nixos",
"hyprpanel-stable-nixos": "hyprpanel-stable-nixos",
"impermanence-stable-nixos": "impermanence-stable-nixos",
"nix-flatpak-stable-nixos": "nix-flatpak-stable-nixos",
"nix-gaming-stable-nixos": "nix-gaming-stable-nixos",
"nixos-hardware-stable-nixos": "nixos-hardware-stable-nixos",
"nixpkgs": "nixpkgs_2",
"nixpkgs-stable-nixos": "nixpkgs-stable-nixos",
"nixpkgs-unstable": "nixpkgs-unstable",
"nixverse": "nixverse",
"sops-nix-stable-nixos": "sops-nix-stable-nixos",
"stylix-stable-nixos": "stylix-stable-nixos",
"zen-browser-stable-nixos": "zen-browser-stable-nixos"
}
},
"sops-nix-stable-nixos": {
"inputs": {
"nixpkgs": [
"nixpkgs-stable-nixos"
]
},
"locked": {
"lastModified": 1754988908,
"narHash": "sha256-t+voe2961vCgrzPFtZxha0/kmFSHFobzF00sT8p9h0U=",
"owner": "Mic92",
"repo": "sops-nix",
"rev": "3223c7a92724b5d804e9988c6b447a0d09017d48",
"type": "github"
},
"original": {
"owner": "Mic92",
"repo": "sops-nix",
"type": "github"
}
},
"stylix-stable-nixos": {
"inputs": {
"base16": "base16",
@@ -694,13 +613,16 @@
"base16-helix": "base16-helix",
"base16-vim": "base16-vim",
"firefox-gnome-theme": "firefox-gnome-theme",
"flake-parts": "flake-parts_3",
"flake-compat": "flake-compat",
"flake-parts": "flake-parts_2",
"git-hooks": "git-hooks",
"gnome-shell": "gnome-shell",
"home-manager": "home-manager",
"nixpkgs": [
"nixpkgs"
],
"nur": "nur",
"systems": "systems_2",
"systems": "systems",
"tinted-foot": "tinted-foot",
"tinted-kitty": "tinted-kitty",
"tinted-schemes": "tinted-schemes",
@@ -708,16 +630,16 @@
"tinted-zed": "tinted-zed"
},
"locked": {
"lastModified": 1756812894,
"narHash": "sha256-wZfNe3ms+dS2cUEGe8ygqNxBHGQCRoJQuQM9xFgGad0=",
"lastModified": 1749755665,
"narHash": "sha256-wHj2qCyJLF5RGl7sydnjJVQ8WKZmdkLy5MuqY9zivRs=",
"owner": "danth",
"repo": "stylix",
"rev": "a9553a7486c86259b7678235cc26cfd70296251d",
"rev": "75411fe2b90f67bfb4a2ad9cc3b1379758b64dbb",
"type": "github"
},
"original": {
"owner": "danth",
"ref": "release-25.05",
"ref": "75411fe2b90f67bfb4a2ad9cc3b1379758b64dbb",
"repo": "stylix",
"type": "github"
}
@@ -737,21 +659,6 @@
"type": "github"
}
},
"systems_2": {
"locked": {
"lastModified": 1681028828,
"narHash": "sha256-Vy1rq5AaRuLzOxct8nz4T6wlgyUR7zLU309k9mBC768=",
"owner": "nix-systems",
"repo": "default",
"rev": "da67096a3b9bf56a91d16901293e51ba5b49a27e",
"type": "github"
},
"original": {
"owner": "nix-systems",
"repo": "default",
"type": "github"
}
},
"tinted-foot": {
"flake": false,
"locked": {
@@ -788,11 +695,11 @@
"tinted-schemes": {
"flake": false,
"locked": {
"lastModified": 1750770351,
"narHash": "sha256-LI+BnRoFNRa2ffbe3dcuIRYAUcGklBx0+EcFxlHj0SY=",
"lastModified": 1748180480,
"narHash": "sha256-7n0XiZiEHl2zRhDwZd/g+p38xwEoWtT0/aESwTMXWG4=",
"owner": "tinted-theming",
"repo": "schemes",
"rev": "5a775c6ffd6e6125947b393872cde95867d85a2a",
"rev": "87d652edd26f5c0c99deda5ae13dfb8ece2ffe31",
"type": "github"
},
"original": {
@@ -804,11 +711,11 @@
"tinted-tmux": {
"flake": false,
"locked": {
"lastModified": 1751159871,
"narHash": "sha256-UOHBN1fgHIEzvPmdNMHaDvdRMgLmEJh2hNmDrp3d3LE=",
"lastModified": 1748740859,
"narHash": "sha256-OEM12bg7F4N5WjZOcV7FHJbqRI6jtCqL6u8FtPrlZz4=",
"owner": "tinted-theming",
"repo": "tinted-tmux",
"rev": "bded5e24407cec9d01bd47a317d15b9223a1546c",
"rev": "57d5f9683ff9a3b590643beeaf0364da819aedda",
"type": "github"
},
"original": {
@@ -820,11 +727,11 @@
"tinted-zed": {
"flake": false,
"locked": {
"lastModified": 1751158968,
"narHash": "sha256-ksOyv7D3SRRtebpXxgpG4TK8gZSKFc4TIZpR+C98jX8=",
"lastModified": 1725758778,
"narHash": "sha256-8P1b6mJWyYcu36WRlSVbuj575QWIFZALZMTg5ID/sM4=",
"owner": "tinted-theming",
"repo": "base16-zed",
"rev": "86a470d94204f7652b906ab0d378e4231a5b3384",
"rev": "122c9e5c0e6f27211361a04fae92df97940eccf9",
"type": "github"
},
"original": {
@@ -842,11 +749,11 @@
]
},
"locked": {
"lastModified": 1749194973,
"narHash": "sha256-eEy8cuS0mZ2j/r/FE0/LYBSBcIs/MKOIVakwHVuqTfk=",
"lastModified": 1733761991,
"narHash": "sha256-s4DalCDepD22jtKL5Nw6f4LP5UwoMcPzPZgHWjAfqbQ=",
"owner": "numtide",
"repo": "treefmt-nix",
"rev": "a05be418a1af1198ca0f63facb13c985db4cb3c5",
"rev": "0ce9d149d99bc383d1f2d85f31f6ebd146e46085",
"type": "github"
},
"original": {
@@ -885,11 +792,11 @@
]
},
"locked": {
"lastModified": 1756941389,
"narHash": "sha256-r7Km2PY1gxpNmq7dPbs89JiyHiJ5zRCF6cBPyb2WWGY=",
"lastModified": 1751278949,
"narHash": "sha256-wjOCGMnHbTWsxWs/V7QT9ANG3T2wx+DHs4/cg5gl2dc=",
"owner": "0xc000022070",
"repo": "zen-browser-flake",
"rev": "d197dd7556567a7a4174dee543286e5e65198379",
"rev": "9d1622af7aa4aaee79eb5e5da98f045f5b69d8f0",
"type": "github"
},
"original": {

View File

@@ -2,66 +2,39 @@
inputs = {
self.submodules = true;
nixpkgs-stable-nixos.url = "github:nixos/nixpkgs/nixos-25.05";
nixpkgs-unstable.url = "github:NixOS/nixpkgs/nixpkgs-unstable";
nixverse = {
url = "github:hgl/nixverse?ref=084a07f43829857fc760e70212c497d2f40eaa3c";
url = "github:hgl/nixverse";
inputs.nixpkgs.follows = "nixpkgs-stable-nixos";
};
auto-cpufreq-stable-nixos = {
url = "github:AdnanHodzic/auto-cpufreq";
inputs.nixpkgs.follows = "nixpkgs";
};
disko-stable-nixos = {
url = "github:nix-community/disko";
inputs.nixpkgs.follows = "nixpkgs-stable-nixos";
};
home-manager-stable-nixos = {
url = "github:nix-community/home-manager/release-25.05";
#url = "github:nix-community/home-manager?ref=7aae0ee71a17b19708b93b3ed448a1a0952bf111";
url = "github:nix-community/home-manager?ref=873c5b2dc5c9387bf67e59a12abc4de12a4b8697";
#url = "github:nix-community/home-manager?ref=f5098b074051d1ae0e919adf434a60fc3f23347b";
inputs.nixpkgs.follows = "nixpkgs";
};
hyprpanel-stable-nixos = {
url = "github:Jas-SinghFSU/Hyprpanel";
url = "github:Jas-SinghFSU/HyprPanel?rev=436dcbfcf2458784203d83c4b96e7b0c3fb66762";
};
nix-flatpak-stable-nixos = {
url = "github:gmodena/nix-flatpak/?ref=latest";
};
nix-gaming-stable-nixos = {
url = "github:fufexan/nix-gaming";
inputs.nixpkgs.follows = "nixpkgs-stable-nixos";
};
impermanence-stable-nixos = {
url = "github:nix-community/impermanence";
};
#nixcord-stable-nixos = {
# url = "github:kaylorben/nixcord";
#};
nixos-hardware-stable-nixos = {
url = "github:NixOS/nixos-hardware/master";
};
sops-nix-stable-nixos = {
url = "github:Mic92/sops-nix";
inputs.nixpkgs.follows = "nixpkgs-stable-nixos";
};
stylix-stable-nixos = {
url = "github:danth/stylix/release-25.05";
#stylix.url = "github:danth/stylix/release-25.05";
# Pin stylix to the last working version.
inputs.nixpkgs.follows = "nixpkgs";
url = "github:danth/stylix?ref=75411fe2b90f67bfb4a2ad9cc3b1379758b64dbb";
};
zen-browser-stable-nixos = {
#url = "github:0xc000022070/zen-browser-flake?ref=ea79cbda8e685dd0f9c6e88adcfa7762a83e9067";
url = "github:0xc000022070/zen-browser-flake";
inputs.nixpkgs.follows = "nixpkgs";
};

View File

@@ -1,12 +1,9 @@
{ inputs, ... }:
{ pkgs, inputs, ... }:
{
imports = [
inputs.nix-flatpak.nixosModules.nix-flatpak
inputs.stylix.nixosModules.stylix
inputs.home-manager.nixosModules.home-manager
inputs.sops-nix.nixosModules.sops
inputs.nix-gaming.nixosModules.pipewireLowLatency
./programs/appimage.nix
./programs/emulation.nix
./programs/firefox.nix
./programs/fonts.nix
@@ -17,9 +14,9 @@
./programs/hyprland.nix
./programs/kde.nix
./programs/obs-studio.nix
./programs/open-tv.nix
./programs/session-desktop.nix
./programs/steam.nix
./programs/streamcontroller.nix
./programs/zen-browser.nix
./scripts/upgrade-diff.nix
./services/blueman.nix
@@ -29,13 +26,11 @@
./services/nix-flatpak.nix
./services/sound.nix
./system/bluetooth.nix
./system/bootloader.nix
./system/environment.nix
./system/locale.nix
./system/networking.nix
./system/nixos.nix
./system/security.nix
./system/sops.nix
./system/time.nix
./system/users.nix
];

View File

@@ -1,35 +1,12 @@
{ pkgs, inputs, ... }:
{ config, pkgs, inputs, lib, ... }:
{
# Home Manager needs a bit of information about you and the paths it should
# manag:e.
# manage.
home.username = "jay";
home.homeDirectory = "/home/jay";
imports = [
#inputs.nixcord.homeModules.nixcord
inputs.stylix.homeModules.stylix
./programs/alacritty.nix
./programs/bash.nix
./programs/btop.nix
./programs/emacs.nix
./programs/git.nix
./programs/hyprland.nix
./programs/hyprlock.nix
./programs/hyprpanel.nix
./programs/lazygit.nix
./programs/mangohud.nix
./programs/discord.nix
./programs/oh-my-posh.nix
./programs/qutebrowser.nix
./programs/rbw.nix
./programs/rofi.nix
./programs/stylix.nix
./programs/yazi.nix
./services/arrpc.nix
./services/fluidsynth.nix
./services/hypridle.nix
];
imports = [ inputs.hyprpanel.homeManagerModules.hyprpanel ];
# This value determines the Home Manager release that your configuration is
@@ -44,34 +21,519 @@
# The home.packages option allows you to install Nix packages into your
# environment.
home.packages = [
pkgs.legcord
pkgs.libgtop
pkgs.powertop
pkgs.upower
#pkgs.mpvpaper
pkgs.mpvpaper
# pkgs.hyprlandPlugins.hyprtrails
];
# Home Manager is pretty good at managing dotfiles. The primary way to manage
# plain files is through 'home.file'.
home.file = {
".config/elinks/elinks.conf".source = ../../../../../private/dotfiles/elinks/elinks.conf;
".config/jellyfin-tui/config.yaml".source = ../../../../../private/dotfiles/jellyfin-tui/config.yaml;
".config/jellyfin-rpc/urls.json".source = ../../../../../private/dotfiles/jellyfin-rpc/urls.json;
".config/jellyfin-rpc/main.json".source = ../../../../../private/dotfiles/jellyfin-rpc/main.json;
".config/lvim/config.lua".source = ../../../../../private/dotfiles/lunarvim/config.lua;
".config/newsboat/config".source = ../../../../../private/dotfiles/newsboat/config;
".config/television/nix_channels.toml".source = ../../../../../private/dotfiles/television/nix_channels.toml;
"quickemu/kubuntu-24.04.conf".source = ../../../../../private/dotfiles/quickemu/kubuntu-24.04.conf;
# ".config/elinks/elinks.conf".source = ../../dotfiles/elinks/elinks.conf;
# ".config/jellyfin-tui/config.yaml".source = ../../dotfiles/jellyfin-tui/config.yaml;
# ".config/newsboat/config".source = ../../dotfiles/newsboat/config;
# "quickemu/kubuntu-24.04.conf".source = ../../dotfiles/quickemu/kubuntu-24.04.conf;
};
home.sessionVariables = {
EDITOR = "nano";
};
programs.bash.enable = true;
programs.alacritty = lib.mkForce {
enable = true;
settings = {
window.opacity = 0.00;
# window.blur = true;
font.normal = {
family = "BigBlueTermPlus Nerd Font";
style = "Regular";
};
};
};
programs.rofi = {
enable = true;
package = pkgs.rofi-wayland;
};
programs.lazygit.enable = true;
programs.git = {
enable = true;
userEmail = "jay@zerojay.com";
userName = "jay";
extraConfig = {
credential.helper = "${
pkgs.git.override { withLibsecret = true; }
}/bin/git-credential-libsecret";
};
};
programs.yazi = {
enable = true;
package = pkgs.yazi;
plugins = {
"bypass" = pkgs.yaziPlugins.bypass;
"chmod" = pkgs.yaziPlugins.chmod;
"full-border" = pkgs.yaziPlugins.full-border;
"lazygit" = pkgs.yaziPlugins.lazygit;
"mediainfo" = pkgs.yaziPlugins.mediainfo;
"no-status" = pkgs.yaziPlugins.no-status;
"ouch" = pkgs.yaziPlugins.ouch;
"restore" = pkgs.yaziPlugins.restore;
"smart-enter" = pkgs.yaziPlugins.smart-enter;
"toggle-pane" = pkgs.yaziPlugins.toggle-pane;
};
};
programs.oh-my-posh = {
enable = true;
enableBashIntegration = true;
useTheme = "blueish";
};
programs.rbw = {
enable = true;
# settings = {
# email = "jay@zerojay.com";
# base_url = "https://bw.zerojay.com";
# };
};
# Let Home Manager install and manage itself.
programs.home-manager.enable = true;
programs.hyprlock = {
enable = true;
};
# programs.starship.presets = [ "nerd-font-symbols" ];
programs.hyprpanel = {
enable = true;
overlay.enable = true;
hyprland.enable = true;
settings = {
layout = {
"bar.layouts" = {
"0" = {
left = [ "dashboard" "separator" "microphone" "volume" "bluetooth" "separator" "network" "separator" "workspaces" "windowtitle" ];
middle = [ "media" "cava" ];
right = [ "cpu" "cputemp" "ram" "storage" "separator" "systray" "notifications" "separator" "weather" "clock" ];
};
};
};
bar = {
customModules = {
cava = {
showIcon = false;
};
cpuTemp.sensor = "/sys/devices/pci0000\:00/0000\:00\:18.3/hwmon/hwmon2/temp3_input";
netstat.rateUnit = "MiB";
weather.unit = "metric";
updates = {
label = true;
autoHide = false;
padZero = true;
pollingInterval = 14400000;
updateCommand = "cd ~/nixos-config/ && nix flake update && nix build .#nixosConfigurations.nixos.config.system.build.toplevel && nvd diff /run/current-system ./result | grep -e '\[U' | wc -l";
icon = {
pending = "󰏗";
updated = "󰏖";
};
};
};
launcher.autoDetectIcon = true;
media = {
truncation = true;
truncation_size = 70;
};
workspaces = {
show_icons = true;
showApplicationIcons = true;
ignored = "-\\\\d+";
};
network = {
showWifiInfo = true;
truncation = false;
label = true;
};
windowtitle = {
class_name = false;
custom_title = false;
truncation = true;
truncation_size = 70;
};
};
#theme.name = "nord";
# Wipeout HD Theme
#theme.name = "catppuccin_latte";
# Wipeout HD Reverse Theme
theme.name = "monochrome";
menus.clock = {
time = {
military = true;
hideSeconds = true;
};
weather = {
location = "Montreal";
key = "0bec3053c1c64737a5b42727251005";
unit = "metric";
};
};
menus.dashboard = {
directories = {
enabled = true;
left = {
directory1.command = "bash -c \"xdg-open $HOME/downloads/\"";
directory2.command = "bash -c \"xdg-open $HOME/videos/\"";
directory3.command = "bash -c \"xdg-open $HOME/games/\"";
directory3.label = " Games";
};
right = {
directory1.command = "bash -c \"xdg-open $HOME/documents/\"";
directory2.command = "bash -c \"xdg-open $HOME/pictures/\"";
directory3.command = "bash -c \"xdg-open $HOME/\"";
};
};
shortcuts = {
left = {
shortcut1 = {
command = "zen-twilight";
icon = "";
tooltip = "Zen Twilight";
};
shortcut2 = {
command = "steam --disable-gpu-compositing";
icon = "";
tooltip = "Steam";
};
shortcut3 = {
command = "vesktop";
tooltip = "Vesktop";
};
};
right = {
shortcut3.command = "hyprshot -zm region --clipboard-only";
};
};
stats.enable_gpu = true;
recording.path = "$HOME/Videos/recording";
};
menus.media = {
displayTime = true;
displayTimeTooltip = true;
};
theme = {
bar = {
transparent = true;
floating = false;
};
font = {
size = "12px";
name = "BigBlueTermPlus Nerd Font";
};
};
wallpaper.enable = false;
#bar.workspaces.workspaceIconMap = {
# "1" = "";
# "3" = "󰙯";
# "4" = "󰄛";
# };
};
};
stylix = {
enable = true;
base16Scheme = "${pkgs.base16-schemes}/share/themes/onedark.yaml";
#image = ./qat02.png;
# Wipeout HD Theme
#image = ./wipeout.png;
# Wipeout HD Reverse Theme
#image = ./wipeoutreverse.png;
targets = {
# hyprpaper.enable = lib.mkForce false;
mako.enable = false;
qt.enable = false;
};
};
services = {
fluidsynth = {
enable = true;
soundService = "pipewire-pulse";
};
hypridle = {
enable = true;
settings = {
general = {
lock_cmd = "pidof hyprlock || hyprlock";
#before_sleep_cmd = "loginctl lock-session";
#after_sleep_cmd = "hyprctl dispatch dpms on";
};
listener = [
{
timeout = 300;
on-timeout = "loginctl lock-session";
}
];
};
};
};
wayland.windowManager.hyprland = {
# Allow home-manager to configure hyprland
enable = true;
xwayland.enable = true;
systemd.enable = true;
plugins = [
#pkgs.hyprlandPlugins.hyprtrails
#pkgs.hyprlandPlugins.hyprbars
#inputs.hyprland-plugins.packages."${pkgs.system}".hyprtrails
#inputs.hypr-darkwindow.packages.${pkgs.system}.Hypr-DarkWindow
];
settings = {
"$terminal" = "alacritty";
"$filemanager" = "dolphin";
"$menu" = "rofi -show drun -show-icons";
"$mainMod" = "SUPER";
bind = [
"$mainMod, Q, exec, $terminal"
"$mainMod, C, killactive,"
"$mainMod, M, exit,"
"$mainMod, E, exec, $fileManager"
"$mainMod, F, togglefloating,"
"$mainMod, R, exec, $menu"
"$mainMod, P, pseudo"
"$mainMod, J, togglesplit"
"$mainMod, l, exec, hyprlock"
# "$mainMod, V, exec, cliphist list | rofi -dmenu | cliphost decode | wl-copy"
"$mainMod, V, exec, $terminal --class clipse -e 'clipse'"
"$mainMod, left, movefocus, l"
"$mainMod, right, movefocus, r"
"$mainMod, up, movefocus, u"
"$mainMod, down, movefocus, d"
"$mainMod, 1, workspace, 1"
"$mainMod, 2, workspace, 2"
"$mainMod, 3, workspace, 3"
"$mainMod, 4, workspace, 4"
"$mainMod, 5, workspace, 5"
"$mainMod, 6, workspace, 6"
"$mainMod, 7, workspace, 7"
"$mainMod, 8, workspace, 8"
"$mainMod, 9, workspace, 9"
"$mainMod, 0, workspace, 10"
"$mainMod SHIFT, Q, exec, hdrop --floating --gap 60 --width 50 $terminal --class alacritty"
"$mainMod SHIFT, 1, movetoworkspace, 1"
"$mainMod SHIFT, 2, movetoworkspace, 2"
"$mainMod SHIFT, 3, movetoworkspace, 3"
"$mainMod SHIFT, 4, movetoworkspace, 4"
"$mainMod SHIFT, 5, movetoworkspace, 5"
"$mainMod SHIFT, 6, movetoworkspace, 6"
"$mainMod SHIFT, 7, movetoworkspace, 7"
"$mainMod SHIFT, 8, movetoworkspace, 8"
"$mainMod SHIFT, 9, movetoworkspace, 9"
"$mainMod SHIFT, 0, movetoworkspace, 10"
"$mainMod SHIFT, right, resizeactive, 10 0"
"$mainMod SHIFT, left, resizeactive, -10 0"
"$mainMod SHIFT, up, resizeactive, 0 -10"
"$mainMod SHIFT, down, resizeactive, 0 10"
"$mainMod, S, exec, hyprshot -zm region --clipboard-only"
"$mainMod SHIFT, S, exec, hyprshot -zm region"
"$mainMod, F9, exec, playerctl previous"
"$mainMod, F10, exec, playerctl play-pause"
"$mainMod, F11, exec, playerctl next"
#"$mainMod, S, togglespecialworkspace, magic"
#"$mainMod SHIFT, S, movetoworkspace, special:magic"
];
bindm = [
"$mainMod, mouse:272, movewindow"
"$mainMod, mouse:273, resizewindow"
];
bindel = [
",XF86AudioRaiseVolume, exec, wpctl set-volume -l 1 @DEFAULT_AUDIO_SINK@ 5%+"
",XF86AudioLowerVolume, exec, wpctl set-volume @DEFAULT_AUDIO_SINK@ 5%-"
",XF86AudioMute, exec, wpctl set-mute @DEFAULT_AUDIO_SINK@ toggle"
",XF86AudioMicMute, exec, wpctl set-mute @DEFAULT_AUDIO_SOURCE@ toggle"
",XF86MonBrightnessUp, exec, brightnessctl s 10%+"
",XF86MonBrightnessDown, exec, brightnessctl s 10%-"
];
bindl = [
" , XF86AudioNext, exec, playerctl next"
" , XF86AudioPause, exec, playerctl play-pause"
" , XF86AudioPlay, exec, playerctl play-pause"
" , XF86AudioPrev, exec, playerctl previous"
];
env = [
"XCURSOR_SIZE,24"
"HYPRCURSOR_SIZE,24"
"LIBVA_DRIVER_NAME,nvidia"
"__GLX_VENDOR_LIBRARY_NAME,nvidia"
"ELECTRON_OZONE_PLATFORM_HINT,auto"
"NVD_BACKEND,direct"
];
general = {
layout = "dwindle";
gaps_in = 5;
gaps_out = 20;
border_size = 2;
#"col.active_border" = "rgba(33ccffee) rgba(00ff99ee) 45deg";
#"col.inactive_border" = "rgba(595959aa)";
allow_tearing = true;
resize_on_border = true;
};
misc = {
enable_anr_dialog = false;
vrr = 0;
# anr_missed_pings = 3;
disable_hyprland_logo = true;
};
debug = {
full_cm_proto = true;
};
decoration = {
rounding = 10;
rounding_power = 2;
active_opacity = 1.0;
inactive_opacity = 1.0;
blur = {
enabled = false;
vibrancy = 0.1696;
passes = 1;
size = 3;
};
shadow = {
enabled = true;
range = 4;
render_power = 3;
#color = "rgba(1a1a1aee)";
};
};
animations = {
enabled = true;
bezier = [
"easeOutQuint,0.23,1,0.32,1"
"easeInOutCubic,0.65,0.05,0.36,1"
"linear,0,0,1,1"
"almostLinear,0.5,0.5,0.75,1.0"
"quick,0.15,0,0.1,1"
];
animation = [
"global, 1, 10, default"
"border, 1, 5.39, easeOutQuint"
"windows, 1, 4.79, easeOutQuint"
"windowsIn, 1, 4.1, easeOutQuint, popin 87%"
"windowsOut, 1, 1.49, linear, popin 87%"
"fadeIn, 1, 1.73, almostLinear"
"fadeOut, 1, 1.46, almostLinear"
"fade, 1, 3.03, quick"
"layers, 1, 3.81, easeOutQuint"
"layersIn, 1, 4, easeOutQuint, fade"
"layersOut, 1, 1.5, linear, fade"
"fadeLayersIn, 1, 1.79, almostLinear"
"fadeLayersOut, 1, 1.39, almostLinear"
"workspaces, 1, 1.94, almostLinear, fade"
"workspacesIn, 1, 1.21, almostLinear, fade"
"workspacesOut, 1, 1.94, almostLinear, fade"
];
};
#"plugin:borders-plus-plus" = {
# add_borders = 1; # 0 - 9
# you can add up to 9 borders
#"col.border_1" = "rgb(ffffff)";
#"col.border_2" = "rgb(2222ff)";
# -1 means "default" as in the one defined in general:border_size
# border_size_1 = 10;
# border_size_2 = -1;
# makes outer edges match rounding of the parent. Turn on / off to better understand. Default = on.
# natural_rounding = "yes";
#};
#"plugin:hyprbars" = {
# enable = true;
#};
# Execute on startup.
exec-once = [
# "systemctl --user start hyprpolkitagent"
"steam --disable-gpu-compositing" # nvidia pls let me have nice things
#"vesktop"
"legcord"
# "[workspace 9 silent] ELECTRON_OZONE_PLATFORM_HINT=x11 1password" # fix for promts not showing up anymore
"zen-twilight"
# "${pkgs.xorg.xhost}/bin/xhost +"
#"${pkgs.waybar}/bin/waybar &"
#"${pkgs.dunst}/bin/dunst &"
"clipse -listen"
"streamcontroller"
#"session-desktop"
#"wl-clipboard-history -t"
#"wl-paste --watch cliphist store"
#"rm $HOME/.cache/cliphist/db"
#"hyprpanel &"
];
windowrulev2 = [
"workspace 1 silent, class:^(zen-twilight)$"
"workspace 2 silent, class:^(steam)$"
"workspace 3 silent, class:^(legcord)$"
"workspace 4 silent, class:^(com.core447.StreamController)$"
"float,class:(clipse)$"
"size 622 652,class:(clipse)$"
];
};
};
}

View File

@@ -1,12 +0,0 @@
{ lib, ... }: {
programs.alacritty = lib.mkForce {
enable = true;
settings = {
window.opacity = 0.05;
font.normal = {
family = "BigBlueTermPlus Nerd Font";
style = "Regular";
};
};
};
}

View File

@@ -1,3 +0,0 @@
{ ... }: {
programs.bash.enable = true;
}

View File

@@ -1,10 +0,0 @@
{ ... }: {
programs.btop = {
enable = true;
settings = {
color_theme = "stylix";
theme_background = false;
};
};
}

View File

@@ -1,9 +0,0 @@
{ pkgs, ... }: {
home.packages = [
pkgs.betterdiscordctl
pkgs.discord
pkgs.legcord
pkgs.discover-overlay
];
}

View File

@@ -1,5 +0,0 @@
{ ... }: {
programs.emacs = {
enable = true;
};
}

View File

@@ -1,12 +0,0 @@
{ pkgs, ...}: {
programs.git = {
enable = true;
userEmail = "jay@zerojay.com";
userName = "jay";
extraConfig = {
credential.helper = "${
pkgs.git.override { withLibsecret = true; }
}/bin/git-credential-libsecret";
};
};
}

View File

@@ -1,235 +0,0 @@
{ ... }: {
wayland.windowManager.hyprland = {
# Allow home-manager to configure hyprland
enable = true;
xwayland.enable = true;
systemd.enable = true;
plugins = [
#pkgs.hyprlandPlugins.hyprtrails
#pkgs.hyprlandPlugins.hyprbars
#inputs.hyprland-plugins.packages."${pkgs.system}".hyprtrails
#inputs.hypr-darkwindow.packages.${pkgs.system}.Hypr-DarkWindow
];
settings = {
"$terminal" = "alacritty";
"$filemanager" = "dolphin";
"$menu" = "rofi -show drun -show-icons";
"$mainMod" = "SUPER";
bind = [
"$mainMod, Q, exec, $terminal"
"$mainMod, C, killactive,"
"$mainMod, M, exit,"
"$mainMod, E, exec, $fileManager"
"$mainMod, F, togglefloating,"
"$mainMod, R, exec, $menu"
"$mainMod, P, pseudo"
"$mainMod, J, togglesplit"
"$mainMod, l, exec, hyprlock"
# "$mainMod, V, exec, cliphist list | rofi -dmenu | cliphost decode | wl-copy"
"$mainMod, V, exec, $terminal --class clipse -e 'clipse'"
"$mainMod, left, movefocus, l"
"$mainMod, right, movefocus, r"
"$mainMod, up, movefocus, u"
"$mainMod, down, movefocus, d"
"$mainMod, 1, workspace, 1"
"$mainMod, 2, workspace, 2"
"$mainMod, 3, workspace, 3"
"$mainMod, 4, workspace, 4"
"$mainMod, 5, workspace, 5"
"$mainMod, 6, workspace, 6"
"$mainMod, 7, workspace, 7"
"$mainMod, 8, workspace, 8"
"$mainMod, 9, workspace, 9"
"$mainMod, 0, workspace, 10"
"$mainMod SHIFT, Q, exec, hdrop --floating --gap 60 --width 50 $terminal --class alacritty"
"$mainMod SHIFT, 1, movetoworkspace, 1"
"$mainMod SHIFT, 2, movetoworkspace, 2"
"$mainMod SHIFT, 3, movetoworkspace, 3"
"$mainMod SHIFT, 4, movetoworkspace, 4"
"$mainMod SHIFT, 5, movetoworkspace, 5"
"$mainMod SHIFT, 6, movetoworkspace, 6"
"$mainMod SHIFT, 7, movetoworkspace, 7"
"$mainMod SHIFT, 8, movetoworkspace, 8"
"$mainMod SHIFT, 9, movetoworkspace, 9"
"$mainMod SHIFT, 0, movetoworkspace, 10"
"$mainMod SHIFT, right, resizeactive, 10 0"
"$mainMod SHIFT, left, resizeactive, -10 0"
"$mainMod SHIFT, up, resizeactive, 0 -10"
"$mainMod SHIFT, down, resizeactive, 0 10"
"$mainMod, S, exec, hyprshot -zm region --clipboard-only"
"$mainMod SHIFT, S, exec, hyprshot -zm region"
"$mainMod, F9, exec, playerctl previous"
"$mainMod, F10, exec, playerctl play-pause"
"$mainMod, F11, exec, playerctl next"
#"$mainMod, S, togglespecialworkspace, magic"
#"$mainMod SHIFT, S, movetoworkspace, special:magic"
];
bindm = [
"$mainMod, mouse:272, movewindow"
"$mainMod, mouse:273, resizewindow"
];
bindel = [
",XF86AudioRaiseVolume, exec, wpctl set-volume -l 1 @DEFAULT_AUDIO_SINK@ 5%+"
",XF86AudioLowerVolume, exec, wpctl set-volume @DEFAULT_AUDIO_SINK@ 5%-"
",XF86AudioMute, exec, wpctl set-mute @DEFAULT_AUDIO_SINK@ toggle"
",XF86AudioMicMute, exec, wpctl set-mute @DEFAULT_AUDIO_SOURCE@ toggle"
",XF86MonBrightnessUp, exec, brightnessctl s 10%+"
",XF86MonBrightnessDown, exec, brightnessctl s 10%-"
];
bindl = [
" , XF86AudioNext, exec, playerctl next"
" , XF86AudioPause, exec, playerctl play-pause"
" , XF86AudioPlay, exec, playerctl play-pause"
" , XF86AudioPrev, exec, playerctl previous"
];
env = [
"XCURSOR_SIZE,24"
"HYPRCURSOR_SIZE,24"
"LIBVA_DRIVER_NAME,nvidia"
"__GLX_VENDOR_LIBRARY_NAME,nvidia"
"ELECTRON_OZONE_PLATFORM_HINT,auto"
"NVD_BACKEND,direct"
];
general = {
layout = "dwindle";
gaps_in = 5;
gaps_out = 20;
border_size = 2;
#"col.active_border" = "rgba(33ccffee) rgba(00ff99ee) 45deg";
#"col.inactive_border" = "rgba(595959aa)";
allow_tearing = true;
resize_on_border = true;
};
misc = {
enable_anr_dialog = false;
vrr = 0;
# anr_missed_pings = 3;
disable_hyprland_logo = true;
};
debug = {
full_cm_proto = true;
};
decoration = {
rounding = 10;
rounding_power = 2;
active_opacity = 1.0;
inactive_opacity = 1.0;
blur = {
enabled = false;
vibrancy = 0.1696;
passes = 1;
size = 3;
};
shadow = {
enabled = true;
range = 4;
render_power = 3;
#color = "rgba(1a1a1aee)";
};
};
animations = {
enabled = true;
bezier = [
"easeOutQuint,0.23,1,0.32,1"
"easeInOutCubic,0.65,0.05,0.36,1"
"linear,0,0,1,1"
"almostLinear,0.5,0.5,0.75,1.0"
"quick,0.15,0,0.1,1"
];
animation = [
"global, 1, 10, default"
"border, 1, 5.39, easeOutQuint"
"windows, 1, 4.79, easeOutQuint"
"windowsIn, 1, 4.1, easeOutQuint, popin 87%"
"windowsOut, 1, 1.49, linear, popin 87%"
"fadeIn, 1, 1.73, almostLinear"
"fadeOut, 1, 1.46, almostLinear"
"fade, 1, 3.03, quick"
"layers, 1, 3.81, easeOutQuint"
"layersIn, 1, 4, easeOutQuint, fade"
"layersOut, 1, 1.5, linear, fade"
"fadeLayersIn, 1, 1.79, almostLinear"
"fadeLayersOut, 1, 1.39, almostLinear"
"workspaces, 1, 1.94, almostLinear, fade"
"workspacesIn, 1, 1.21, almostLinear, fade"
"workspacesOut, 1, 1.94, almostLinear, fade"
];
};
#"plugin:borders-plus-plus" = {
# add_borders = 1; # 0 - 9
# you can add up to 9 borders
#"col.border_1" = "rgb(ffffff)";
#"col.border_2" = "rgb(2222ff)";
# -1 means "default" as in the one defined in general:border_size
# border_size_1 = 10;
# border_size_2 = -1;
# makes outer edges match rounding of the parent. Turn on / off to better understand. Default = on.
# natural_rounding = "yes";
#};
#"plugin:hyprbars" = {
# enable = true;
#};
# Execute on startup.
exec-once = [
# "systemctl --user start hyprpolkitagent"
"steam --disable-gpu-compositing" # nvidia pls let me have nice things
#"vesktop"
"goofcord"
# "[workspace 9 silent] ELECTRON_OZONE_PLATFORM_HINT=x11 1password" # fix for promts not showing up anymore
"zen-twilight"
# "${pkgs.xorg.xhost}/bin/xhost +"
#"${pkgs.waybar}/bin/waybar &"
#"${pkgs.dunst}/bin/dunst &"
"clipse -listen"
#"streamcontroller"
#"session-desktop"
#"wl-clipboard-history -t"
#"wl-paste --watch cliphist store"
#"rm $HOME/.cache/cliphist/db"
#"hyprpanel &"
];
windowrulev2 = [
"workspace 1 silent, class:^(zen-twilight)$"
"workspace 2 silent, class:^(steam)$"
"workspace 3 silent, class:^(goofcord)$"
"workspace 4 silent, class:^(com.core447.StreamController)$"
"float,class:(clipse)$"
"size 622 652,class:(clipse)$"
];
};
};
}

View File

@@ -1,3 +0,0 @@
{ ... }: {
programs.hyprlock.enable = true;
}

View File

@@ -1,511 +0,0 @@
{ ... }: {
programs.hyprpanel = {
enable = true;
settings = {
"bar.layouts" = {
"0" = {
left = [ "dashboard" "separator" "microphone" "volume" "bluetooth" "hypridle" "separator" "network" "separator" "workspaces" "windowtitle" ];
middle = [ "media" "cava" ];
right = [ "cpu" "cputemp" "ram" "storage" "separator" "systray" "notifications" "battery" "separator" "weather" "clock" ];
};
};
bar = {
customModules = {
cava = {
showIcon = false;
};
cpuTemp.sensor = "/sys/devices/pci0000\:00/0000\:00\:18.3/hwmon/hwmon2/temp3_input";
netstat.rateUnit = "MiB";
weather.unit = "metric";
updates = {
label = true;
autoHide = false;
padZero = true;
pollingInterval = 14400000;
updateCommand = "cd ~/nixos-config/ && nix flake update && nix build .#nixosConfigurations.nixos.config.system.build.toplevel && nvd diff /run/current-system ./result | grep -e '\[U' | wc -l";
icon = {
pending = "󰏗";
updated = "󰏖";
};
};
};
launcher.autoDetectIcon = true;
media = {
truncation = true;
truncation_size = 70;
};
workspaces = {
show_icons = true;
showApplicationIcons = true;
ignored = "-\\\\d+";
};
network = {
showWifiInfo = true;
truncation = false;
label = true;
};
windowtitle = {
class_name = false;
custom_title = false;
truncation = true;
truncation_size = 70;
};
};
menus.clock = {
time = {
military = true;
hideSeconds = true;
};
weather = {
location = "Montreal";
key = "0bec3053c1c64737a5b42727251005";
unit = "metric";
};
};
menus.dashboard = {
directories = {
enabled = true;
left = {
directory1.command = "bash -c \"xdg-open $HOME/downloads/\"";
directory2.command = "bash -c \"xdg-open $HOME/videos/\"";
directory3.command = "bash -c \"xdg-open $HOME/games/\"";
directory3.label = " Games";
};
right = {
directory1.command = "bash -c \"xdg-open $HOME/documents/\"";
directory2.command = "bash -c \"xdg-open $HOME/pictures/\"";
directory3.command = "bash -c \"xdg-open $HOME/\"";
};
};
shortcuts = {
left = {
shortcut1 = {
command = "zen-twilight";
icon = "";
tooltip = "Zen Twilight";
};
shortcut2 = {
command = "steam --disable-gpu-compositing";
icon = "";
tooltip = "Steam";
};
shortcut3 = {
command = "vesktop";
tooltip = "Vesktop";
};
};
right = {
shortcut3.command = "hyprshot -zm region --clipboard-only";
};
};
stats.enable_gpu = true;
recording.path = "$HOME/Videos/recording";
};
menus.media = {
displayTime = true;
displayTimeTooltip = true;
};
theme = {
bar = {
transparent = true;
floating = false;
};
font = {
size = "12px";
name = "BigBlueTermPlus Nerd Font";
};
};
wallpaper.enable = false;
#bar.workspaces.workspaceIconMap = {
# "1" = "";
# "3" = "󰙯";
# "4" = "󰄛";
# };
theme.bar.menus.background = "#2e3440";
theme.bar.background = "#2e3440";
theme.bar.buttons.media.icon = "#88c0d0";
theme.bar.buttons.media.text = "#88c0d0";
theme.bar.buttons.icon = "#88c0d0";
theme.bar.buttons.text = "#88c0d0";
theme.bar.buttons.hover = "#434c53";
theme.bar.buttons.background = "#3b4252";
theme.bar.menus.text = "#d8dee9";
theme.bar.menus.border.color = "#434c53";
theme.bar.buttons.media.background = "#3b4252";
theme.bar.menus.menu.volume.text = "#d8dee9";
theme.bar.menus.menu.volume.card.color = "#3b4252";
theme.bar.menus.menu.volume.label.color = "#81a1c1";
theme.bar.menus.popover.text = "#88c0d0";
theme.bar.menus.popover.background = "#2e3440";
theme.bar.menus.menu.dashboard.powermenu.shutdown = "#8fbcbb";
theme.bar.menus.menu.dashboard.powermenu.confirmation.deny = "#8fbcbb";
theme.bar.menus.menu.dashboard.powermenu.confirmation.confirm = "#8fbcbb";
theme.bar.menus.menu.dashboard.powermenu.confirmation.button_text = "#2e3440";
theme.bar.menus.menu.dashboard.powermenu.confirmation.body = "#d8dee9";
theme.bar.menus.menu.dashboard.powermenu.confirmation.label = "#88c0d0";
theme.bar.menus.menu.dashboard.powermenu.confirmation.border = "#434c53";
theme.bar.menus.menu.dashboard.powermenu.confirmation.background = "#2e3440";
theme.bar.menus.menu.dashboard.powermenu.confirmation.card = "#3b4252";
theme.bar.menus.menu.notifications.switch.puck = "#434c53";
theme.bar.menus.menu.notifications.switch.disabled = "#434c53";
theme.bar.menus.menu.notifications.switch.enabled = "#88c0d0";
theme.bar.menus.menu.notifications.clear = "#8fbcbb";
theme.bar.menus.menu.notifications.switch_divider = "#434c53";
theme.bar.menus.menu.notifications.border = "#434c53";
theme.bar.menus.menu.notifications.card = "#3b4252";
theme.bar.menus.menu.notifications.background = "#2e3440";
theme.bar.menus.menu.notifications.no_notifications_label = "#434c53";
theme.bar.menus.menu.notifications.label = "#88c0d0";
theme.bar.menus.menu.dashboard.monitors.disk.label = "#8fbcbb";
theme.bar.menus.menu.dashboard.monitors.disk.bar = "#8fbcbb";
theme.bar.menus.menu.dashboard.monitors.disk.icon = "#8fbcbb";
theme.bar.menus.menu.dashboard.monitors.gpu.label = "#8fbcbb";
theme.bar.menus.menu.dashboard.monitors.gpu.bar = "#8fbcbb";
theme.bar.menus.menu.dashboard.monitors.gpu.icon = "#8fbcbb";
theme.bar.menus.menu.dashboard.monitors.ram.label = "#81a1c1";
theme.bar.menus.menu.dashboard.monitors.ram.bar = "#81a1c1";
theme.bar.menus.menu.dashboard.monitors.ram.icon = "#81a1c1";
theme.bar.menus.menu.dashboard.monitors.cpu.label = "#81a1c1";
theme.bar.menus.menu.dashboard.monitors.cpu.bar = "#81a1c1";
theme.bar.menus.menu.dashboard.monitors.cpu.icon = "#81a1c1";
theme.bar.menus.menu.dashboard.monitors.bar_background = "#434c53";
theme.bar.menus.menu.dashboard.directories.right.bottom.color = "#88c0d0";
theme.bar.menus.menu.dashboard.directories.right.middle.color = "#88c0d0";
theme.bar.menus.menu.dashboard.directories.right.top.color = "#8fbcbb";
theme.bar.menus.menu.dashboard.directories.left.bottom.color = "#81a1c1";
theme.bar.menus.menu.dashboard.directories.left.middle.color = "#81a1c1";
theme.bar.menus.menu.dashboard.directories.left.top.color = "#8fbcbb";
theme.bar.menus.menu.dashboard.controls.input.text = "#2e3440";
theme.bar.menus.menu.dashboard.controls.input.background = "#8fbcbb";
theme.bar.menus.menu.dashboard.controls.volume.text = "#2e3440";
theme.bar.menus.menu.dashboard.controls.volume.background = "#81a1c1";
theme.bar.menus.menu.dashboard.controls.notifications.text = "#2e3440";
theme.bar.menus.menu.dashboard.controls.notifications.background = "#81a1c1";
theme.bar.menus.menu.dashboard.controls.bluetooth.text = "#2e3440";
theme.bar.menus.menu.dashboard.controls.bluetooth.background = "#88c0d0";
theme.bar.menus.menu.dashboard.controls.wifi.text = "#2e3440";
theme.bar.menus.menu.dashboard.controls.wifi.background = "#88c0d0";
theme.bar.menus.menu.dashboard.controls.disabled = "#434c53";
theme.bar.menus.menu.dashboard.shortcuts.recording = "#8fbcbb";
theme.bar.menus.menu.dashboard.shortcuts.text = "#2e3440";
theme.bar.menus.menu.dashboard.shortcuts.background = "#88c0d0";
theme.bar.menus.menu.dashboard.powermenu.sleep = "#88c0d0";
theme.bar.menus.menu.dashboard.powermenu.logout = "#8fbcbb";
theme.bar.menus.menu.dashboard.powermenu.restart = "#81a1c1";
theme.bar.menus.menu.dashboard.profile.name = "#8fbcbb";
theme.bar.menus.menu.dashboard.border.color = "#434c53";
theme.bar.menus.menu.dashboard.background.color = "#2e3440";
theme.bar.menus.menu.dashboard.card.color = "#3b4252";
theme.bar.menus.menu.clock.weather.hourly.temperature = "#8fbcbb";
theme.bar.menus.menu.clock.weather.hourly.icon = "#8fbcbb";
theme.bar.menus.menu.clock.weather.hourly.time = "#8fbcbb";
theme.bar.menus.menu.clock.weather.thermometer.extremelycold = "#88c0d0";
theme.bar.menus.menu.clock.weather.thermometer.cold = "#88c0d0";
theme.bar.menus.menu.clock.weather.thermometer.moderate = "#88c0d0";
theme.bar.menus.menu.clock.weather.thermometer.hot = "#81a1c1";
theme.bar.menus.menu.clock.weather.thermometer.extremelyhot = "#8fbcbb";
theme.bar.menus.menu.clock.weather.stats = "#8fbcbb";
theme.bar.menus.menu.clock.weather.status = "#8fbcbb";
theme.bar.menus.menu.clock.weather.temperature = "#d8dee9";
theme.bar.menus.menu.clock.weather.icon = "#8fbcbb";
theme.bar.menus.menu.clock.calendar.contextdays = "#434c53";
theme.bar.menus.menu.clock.calendar.days = "#d8dee9";
theme.bar.menus.menu.clock.calendar.currentday = "#8fbcbb";
theme.bar.menus.menu.clock.calendar.paginator = "#8fbcbb";
theme.bar.menus.menu.clock.calendar.weekdays = "#8fbcbb";
theme.bar.menus.menu.clock.calendar.yearmonth = "#8fbcbb";
theme.bar.menus.menu.clock.time.timeperiod = "#8fbcbb";
theme.bar.menus.menu.clock.time.time = "#8fbcbb";
theme.bar.menus.menu.clock.text = "#d8dee9";
theme.bar.menus.menu.clock.border.color = "#434c53";
theme.bar.menus.menu.clock.background.color = "#2e3440";
theme.bar.menus.menu.clock.card.color = "#3b4252";
theme.bar.menus.menu.battery.slider.puck = "#4c566a";
theme.bar.menus.menu.battery.slider.backgroundhover = "#434c53";
theme.bar.menus.menu.battery.slider.background = "#434c53";
theme.bar.menus.menu.battery.slider.primary = "#81a1c1";
theme.bar.menus.menu.battery.icons.active = "#81a1c1";
theme.bar.menus.menu.battery.icons.passive = "#5e81ac";
theme.bar.menus.menu.battery.listitems.active = "#81a1c1";
theme.bar.menus.menu.battery.listitems.passive = "#d8dee9";
theme.bar.menus.menu.battery.text = "#d8dee9";
theme.bar.menus.menu.battery.label.color = "#81a1c1";
theme.bar.menus.menu.battery.border.color = "#434c53";
theme.bar.menus.menu.battery.background.color = "#2e3440";
theme.bar.menus.menu.battery.card.color = "#3b4252";
theme.bar.menus.menu.systray.dropdownmenu.divider = "#3b4252";
theme.bar.menus.menu.systray.dropdownmenu.text = "#d8dee9";
theme.bar.menus.menu.systray.dropdownmenu.background = "#2e3440";
theme.bar.menus.menu.bluetooth.iconbutton.active = "#88c0d0";
theme.bar.menus.menu.bluetooth.iconbutton.passive = "#d8dee9";
theme.bar.menus.menu.bluetooth.icons.active = "#88c0d0";
theme.bar.menus.menu.bluetooth.icons.passive = "#5e81ac";
theme.bar.menus.menu.bluetooth.listitems.active = "#88c0d0";
theme.bar.menus.menu.bluetooth.listitems.passive = "#d8dee9";
theme.bar.menus.menu.bluetooth.switch.puck = "#434c53";
theme.bar.menus.menu.bluetooth.switch.disabled = "#434c53";
theme.bar.menus.menu.bluetooth.switch.enabled = "#88c0d0";
theme.bar.menus.menu.bluetooth.switch_divider = "#434c53";
theme.bar.menus.menu.bluetooth.status = "#4c566a";
theme.bar.menus.menu.bluetooth.text = "#d8dee9";
theme.bar.menus.menu.bluetooth.label.color = "#88c0d0";
theme.bar.menus.menu.bluetooth.border.color = "#434c53";
theme.bar.menus.menu.bluetooth.background.color = "#2e3440";
theme.bar.menus.menu.bluetooth.card.color = "#3b4252";
theme.bar.menus.menu.network.iconbuttons.active = "#88c0d0";
theme.bar.menus.menu.network.iconbuttons.passive = "#d8dee9";
theme.bar.menus.menu.network.icons.active = "#88c0d0";
theme.bar.menus.menu.network.icons.passive = "#5e81ac";
theme.bar.menus.menu.network.listitems.active = "#88c0d0";
theme.bar.menus.menu.network.listitems.passive = "#d8dee9";
theme.bar.menus.menu.network.status.color = "#4c566a";
theme.bar.menus.menu.network.text = "#d8dee9";
theme.bar.menus.menu.network.label.color = "#88c0d0";
theme.bar.menus.menu.network.border.color = "#434c53";
theme.bar.menus.menu.network.background.color = "#2e3440";
theme.bar.menus.menu.network.card.color = "#3b4252";
theme.bar.menus.menu.volume.input_slider.puck = "#434c53";
theme.bar.menus.menu.volume.input_slider.backgroundhover = "#434c53";
theme.bar.menus.menu.volume.input_slider.background = "#434c53";
theme.bar.menus.menu.volume.input_slider.primary = "#81a1c1";
theme.bar.menus.menu.volume.audio_slider.puck = "#434c53";
theme.bar.menus.menu.volume.audio_slider.backgroundhover = "#434c53";
theme.bar.menus.menu.volume.audio_slider.background = "#434c53";
theme.bar.menus.menu.volume.audio_slider.primary = "#81a1c1";
theme.bar.menus.menu.volume.icons.active = "#81a1c1";
theme.bar.menus.menu.volume.icons.passive = "#5e81ac";
theme.bar.menus.menu.volume.iconbutton.active = "#81a1c1";
theme.bar.menus.menu.volume.iconbutton.passive = "#d8dee9";
theme.bar.menus.menu.volume.listitems.active = "#81a1c1";
theme.bar.menus.menu.volume.listitems.passive = "#d8dee9";
theme.bar.menus.menu.volume.border.color = "#434c53";
theme.bar.menus.menu.volume.background.color = "#2e3440";
theme.bar.menus.menu.media.slider.puck = "#4c566a";
theme.bar.menus.menu.media.slider.backgroundhover = "#434c53";
theme.bar.menus.menu.media.slider.background = "#434c53";
theme.bar.menus.menu.media.slider.primary = "#8fbcbb";
theme.bar.menus.menu.media.buttons.text = "#2e3440";
theme.bar.menus.menu.media.buttons.background = "#88c0d0";
theme.bar.menus.menu.media.buttons.enabled = "#8fbcbb";
theme.bar.menus.menu.media.buttons.inactive = "#434c53";
theme.bar.menus.menu.media.border.color = "#434c53";
theme.bar.menus.menu.media.background.color = "#2e3440";
theme.bar.menus.menu.media.album = "#8fbcbb";
theme.bar.menus.menu.media.artist = "#8fbcbb";
theme.bar.menus.menu.media.song = "#88c0d0";
theme.bar.menus.tooltip.text = "#d8dee9";
theme.bar.menus.tooltip.background = "#2e3440";
theme.bar.menus.dropdownmenu.divider = "#3b4252";
theme.bar.menus.dropdownmenu.text = "#d8dee9";
theme.bar.menus.dropdownmenu.background = "#2e3440";
theme.bar.menus.slider.puck = "#4c566a";
theme.bar.menus.slider.backgroundhover = "#434c53";
theme.bar.menus.slider.background = "#434c53";
theme.bar.menus.slider.primary = "#88c0d0";
theme.bar.menus.progressbar.background = "#434c53";
theme.bar.menus.progressbar.foreground = "#88c0d0";
theme.bar.menus.iconbuttons.active = "#88c0d0";
theme.bar.menus.iconbuttons.passive = "#d8dee9";
theme.bar.menus.buttons.text = "#2e3440";
theme.bar.menus.buttons.disabled = "#434c53";
theme.bar.menus.buttons.active = "#8fbcbb";
theme.bar.menus.buttons.default = "#88c0d0";
theme.bar.menus.switch.puck = "#434c53";
theme.bar.menus.switch.disabled = "#434c53";
theme.bar.menus.switch.enabled = "#88c0d0";
theme.bar.menus.icons.active = "#88c0d0";
theme.bar.menus.icons.passive = "#434c53";
theme.bar.menus.listitems.active = "#88c0d0";
theme.bar.menus.listitems.passive = "#d8dee9";
theme.bar.menus.label = "#88c0d0";
theme.bar.menus.feinttext = "#434c53";
theme.bar.menus.dimtext = "#6272a4";
theme.bar.menus.cards = "#3b4252";
theme.bar.buttons.notifications.total = "#88c0d0";
theme.bar.buttons.notifications.icon = "#88c0d0";
theme.bar.buttons.notifications.background = "#3b4252";
theme.bar.buttons.clock.icon = "#8fbcbb";
theme.bar.buttons.clock.text = "#8fbcbb";
theme.bar.buttons.clock.background = "#3b4252";
theme.bar.buttons.battery.icon = "#81a1c1";
theme.bar.buttons.battery.text = "#81a1c1";
theme.bar.buttons.battery.background = "#3b4252";
theme.bar.buttons.systray.background = "#3b4252";
theme.bar.buttons.bluetooth.icon = "#88c0d0";
theme.bar.buttons.bluetooth.text = "#88c0d0";
theme.bar.buttons.bluetooth.background = "#3b4252";
theme.bar.buttons.network.icon = "#88c0d0";
theme.bar.buttons.network.text = "#88c0d0";
theme.bar.buttons.network.background = "#3b4252";
theme.bar.buttons.volume.icon = "#81a1c1";
theme.bar.buttons.volume.text = "#81a1c1";
theme.bar.buttons.volume.background = "#3b4252";
theme.bar.buttons.windowtitle.icon = "#8fbcbb";
theme.bar.buttons.windowtitle.text = "#8fbcbb";
theme.bar.buttons.windowtitle.background = "#3b4252";
theme.bar.buttons.workspaces.active = "#8fbcbb";
theme.bar.buttons.workspaces.occupied = "#81a1c1";
theme.bar.buttons.workspaces.available = "#88c0d0";
theme.bar.buttons.workspaces.hover = "#434c53";
theme.bar.buttons.workspaces.background = "#3b4252";
theme.bar.buttons.dashboard.icon = "#81a1c1";
theme.bar.buttons.dashboard.background = "#3b4252";
theme.osd.label = "#88c0d0";
theme.osd.icon = "#2e3440";
theme.osd.bar_overflow_color = "#8fbcbb";
theme.osd.bar_empty_color = "#434c53";
theme.osd.bar_color = "#88c0d0";
theme.osd.icon_container = "#88c0d0";
theme.osd.bar_container = "#2e3440";
theme.notification.close_button.label = "#2e3440";
theme.notification.close_button.background = "#8fbcbb";
theme.notification.labelicon = "#88c0d0";
theme.notification.text = "#d8dee9";
theme.notification.time = "#4c566a";
theme.notification.border = "#434c53";
theme.notification.label = "#88c0d0";
theme.notification.actions.text = "#2e3440";
theme.notification.actions.background = "#88c0d0";
theme.notification.background = "#2e3440";
theme.bar.buttons.workspaces.numbered_active_highlighted_text_color = "#21252b";
theme.bar.buttons.workspaces.numbered_active_underline_color = "#ffffff";
theme.bar.menus.menu.media.card.color = "#3b4252";
theme.bar.menus.check_radio_button.background = "#2e3440";
theme.bar.menus.check_radio_button.active = "#88c0d0";
theme.bar.buttons.style = "default";
theme.bar.menus.menu.notifications.pager.button = "#88c0d0";
theme.bar.menus.menu.notifications.scrollbar.color = "#88c0d0";
theme.bar.menus.menu.notifications.pager.label = "#5e81ac";
theme.bar.menus.menu.notifications.pager.background = "#2e3440";
theme.bar.buttons.clock.icon_background = "#8fbcbb";
theme.bar.buttons.modules.ram.icon = "#81a1c1";
theme.bar.buttons.modules.storage.icon_background = "#8fbcbb";
theme.bar.menus.popover.border = "#2e3440";
theme.bar.buttons.volume.icon_background = "#81a1c1";
theme.bar.menus.menu.power.buttons.sleep.icon_background = "#88c0d0";
theme.bar.menus.menu.power.buttons.restart.text = "#81a1c1";
theme.bar.buttons.modules.updates.background = "#3b4252";
theme.bar.buttons.modules.storage.icon = "#8fbcbb";
theme.bar.buttons.modules.netstat.background = "#3b4252";
theme.bar.buttons.modules.weather.icon = "#88c0d0";
theme.bar.buttons.modules.netstat.text = "#8fbcbb";
theme.bar.buttons.modules.storage.background = "#3b4252";
theme.bar.buttons.modules.power.icon = "#8fbcbb";
theme.bar.buttons.modules.storage.text = "#8fbcbb";
theme.bar.buttons.modules.cpu.background = "#3b4252";
theme.bar.menus.menu.power.border.color = "#434c53";
theme.bar.buttons.network.icon_background = "#caa6f7";
theme.bar.buttons.modules.power.icon_background = "#8fbcbb";
theme.bar.menus.menu.power.buttons.logout.icon = "#2e3440";
theme.bar.menus.menu.power.buttons.restart.icon_background = "#81a1c1";
theme.bar.menus.menu.power.buttons.restart.icon = "#2e3440";
theme.bar.buttons.modules.cpu.icon = "#8fbcbb";
theme.bar.buttons.battery.icon_background = "#81a1c1";
theme.bar.buttons.modules.kbLayout.icon_background = "#88c0d0";
theme.bar.buttons.modules.weather.text = "#88c0d0";
theme.bar.menus.menu.power.buttons.shutdown.icon = "#2e3440";
theme.bar.menus.menu.power.buttons.sleep.text = "#88c0d0";
theme.bar.buttons.modules.weather.icon_background = "#88c0d0";
theme.bar.menus.menu.power.buttons.shutdown.background = "#3b4252";
theme.bar.buttons.media.icon_background = "#88c0d0";
theme.bar.menus.menu.power.buttons.logout.background = "#3b4252";
theme.bar.buttons.modules.kbLayout.icon = "#88c0d0";
theme.bar.buttons.modules.ram.icon_background = "#81a1c1";
theme.bar.menus.menu.power.buttons.shutdown.icon_background = "#8fbcbb";
theme.bar.menus.menu.power.buttons.shutdown.text = "#8fbcbb";
theme.bar.menus.menu.power.buttons.sleep.background = "#3b4252";
theme.bar.buttons.modules.ram.text = "#81a1c1";
theme.bar.menus.menu.power.buttons.logout.text = "#8fbcbb";
theme.bar.buttons.modules.updates.icon_background = "#88c0d0";
theme.bar.buttons.modules.kbLayout.background = "#3b4252";
theme.bar.buttons.modules.power.background = "#3b4252";
theme.bar.buttons.modules.weather.background = "#3b4252";
theme.bar.buttons.icon_background = "#3b4252";
theme.bar.menus.menu.power.background.color = "#2e3440";
theme.bar.buttons.modules.ram.background = "#3b4252";
theme.bar.buttons.modules.netstat.icon = "#8fbcbb";
theme.bar.buttons.windowtitle.icon_background = "#8fbcbb";
theme.bar.buttons.modules.cpu.icon_background = "#8fbcbb";
theme.bar.menus.menu.power.buttons.logout.icon_background = "#8fbcbb";
theme.bar.buttons.modules.updates.text = "#88c0d0";
theme.bar.menus.menu.power.buttons.sleep.icon = "#2e3440";
theme.bar.buttons.bluetooth.icon_background = "#89dbeb";
theme.bar.menus.menu.power.buttons.restart.background = "#3b4252";
theme.bar.buttons.modules.updates.icon = "#88c0d0";
theme.bar.buttons.modules.cpu.text = "#8fbcbb";
theme.bar.buttons.modules.netstat.icon_background = "#8fbcbb";
theme.bar.buttons.modules.kbLayout.text = "#88c0d0";
theme.bar.buttons.notifications.icon_background = "#88c0d0";
theme.bar.buttons.modules.power.border = "#8fbcbb";
theme.bar.buttons.modules.weather.border = "#88c0d0";
theme.bar.buttons.modules.updates.border = "#88c0d0";
theme.bar.buttons.modules.kbLayout.border = "#88c0d0";
theme.bar.buttons.modules.netstat.border = "#8fbcbb";
theme.bar.buttons.modules.storage.border = "#8fbcbb";
theme.bar.buttons.modules.cpu.border = "#8fbcbb";
theme.bar.buttons.modules.ram.border = "#81a1c1";
theme.bar.buttons.notifications.border = "#88c0d0";
theme.bar.buttons.clock.border = "#8fbcbb";
theme.bar.buttons.battery.border = "#81a1c1";
theme.bar.buttons.systray.border = "#434c53";
theme.bar.buttons.bluetooth.border = "#88c0d0";
theme.bar.buttons.network.border = "#88c0d0";
theme.bar.buttons.volume.border = "#81a1c1";
theme.bar.buttons.media.border = "#88c0d0";
theme.bar.buttons.windowtitle.border = "#8fbcbb";
theme.bar.buttons.workspaces.border = "#2e3440";
theme.bar.buttons.dashboard.border = "#81a1c1";
theme.bar.buttons.modules.submap.background = "#3b4252";
theme.bar.buttons.modules.submap.text = "#8fbcbb";
theme.bar.buttons.modules.submap.border = "#8fbcbb";
theme.bar.buttons.modules.submap.icon = "#8fbcbb";
theme.bar.buttons.modules.submap.icon_background = "#3b4252";
theme.bar.menus.menu.network.switch.enabled = "#88c0d0";
theme.bar.menus.menu.network.switch.disabled = "#434c53";
theme.bar.menus.menu.network.switch.puck = "#434c53";
theme.bar.buttons.systray.customIcon = "#d8dee9";
theme.bar.border.color = "#88c0d0";
theme.bar.menus.menu.media.timestamp = "#d8dee9";
theme.bar.buttons.borderColor = "#88c0d0";
theme.bar.buttons.modules.hyprsunset.icon = "#81a1c1";
theme.bar.buttons.modules.hyprsunset.background = "#3b4252";
theme.bar.buttons.modules.hyprsunset.icon_background = "#81a1c1";
theme.bar.buttons.modules.hyprsunset.text = "#81a1c1";
theme.bar.buttons.modules.hyprsunset.border = "#81a1c1";
theme.bar.buttons.modules.hypridle.icon = "#8fbcbb";
theme.bar.buttons.modules.hypridle.background = "#3b4252";
theme.bar.buttons.modules.hypridle.icon_background = "#8fbcbb";
theme.bar.buttons.modules.hypridle.text = "#8fbcbb";
theme.bar.buttons.modules.hypridle.border = "#8fbcbb";
theme.bar.menus.menu.network.scroller.color = "#88c0d0";
theme.bar.menus.menu.bluetooth.scroller.color = "#88c0d0";
theme.bar.buttons.modules.cava.text = "#8fbcbb";
theme.bar.buttons.modules.cava.background = "#3b4252";
theme.bar.buttons.modules.cava.icon_background = "#3b4252";
theme.bar.buttons.modules.cava.icon = "#8fbcbb";
theme.bar.buttons.modules.cava.border = "#8fbcbb";
theme.bar.buttons.modules.microphone.border = "#8fbcbb";
theme.bar.buttons.modules.microphone.background = "#3b4252";
theme.bar.buttons.modules.microphone.text = "#8fbcbb";
theme.bar.buttons.modules.microphone.icon = "#8fbcbb";
theme.bar.buttons.modules.microphone.icon_background = "#3b4252";
theme.bar.buttons.modules.worldclock.text = "#8fbcbb";
theme.bar.buttons.modules.worldclock.background = "#3b4252";
theme.bar.buttons.modules.worldclock.icon_background = "#8fbcbb";
theme.bar.buttons.modules.worldclock.icon = "#8fbcbb";
theme.bar.buttons.modules.worldclock.border = "#8fbcbb";
};
};
}

View File

@@ -1,3 +0,0 @@
{ ... }: {
programs.lazygit.enable = true;
}

View File

@@ -1,16 +0,0 @@
{ lib, ... } : {
programs.mangohud = {
enable = true;
enableSessionWide = true;
settings = {
position = "top-right";
cpu_stats = true;
gpu_stats = true;
fps = true;
font_size = 12;
cellpadding_y = -0.070;
background_alpha = lib.mkForce 0.5;
alpha = lib.mkForce 0.75;
};
};
}

View File

@@ -1,36 +0,0 @@
{ ... }: {
programs.nixcord = {
enable = true;
discord = {
enable = true;
vencord.enable = true;
openASAR.enable = true;
};
vesktop.enable = true;
config = {
autoUpdate = true;
plugins = {
alwaysAnimate.enable = true;
alwaysTrust.enable = true;
copyFileContents.enable = true;
clearURLs.enable = true;
dearrow.enable = true;
friendsSince.enable = true;
fullSearchContext.enable = true;
gameActivityToggle.enable = true;
noF1.enable = true;
relationshipNotifier = {
enable = true;
friendRequestCancels = true;
friends = true;
groups = true;
notices = true;
offlineRemovals = true;
servers = true;
};
serverInfo.enable = true;
};
};
};
}

View File

@@ -1,7 +0,0 @@
{ ... }: {
programs.oh-my-posh = {
enable = true;
enableBashIntegration = true;
useTheme = "blueish";
};
}

View File

@@ -1,6 +0,0 @@
{ ... }: {
programs.qutebrowser = {
enable = true;
};
}

View File

@@ -1,3 +0,0 @@
{ ... }: {
programs.rbw.enable = true;
}

View File

@@ -1,6 +0,0 @@
{ pkgs, ...} : {
programs.rofi = {
enable = true;
package = pkgs.rofi-wayland;
};
}

View File

@@ -1,16 +0,0 @@
{ pkgs, ... }: {
stylix = {
enable = true;
base16Scheme = "${pkgs.base16-schemes}/share/themes/nord.yaml";
image = ../../../wallpapers/nixos-wallpaper.png;
# Wipeout HD Theme
#image = ./wipeout.png;
# Wipeout HD Reverse Theme
#image = ./wipeoutreverse.png;
targets = {
# hyprpaper.enable = lib.mkForce false;
mako.enable = false;
qt.enable = false;
};
};
}

View File

@@ -1,18 +0,0 @@
{ pkgs, ...}: {
programs.yazi = {
enable = true;
package = pkgs.yazi;
plugins = {
"bypass" = pkgs.yaziPlugins.bypass;
"chmod" = pkgs.yaziPlugins.chmod;
"full-border" = pkgs.yaziPlugins.full-border;
"lazygit" = pkgs.yaziPlugins.lazygit;
"mediainfo" = pkgs.yaziPlugins.mediainfo;
"no-status" = pkgs.yaziPlugins.no-status;
"ouch" = pkgs.yaziPlugins.ouch;
"restore" = pkgs.yaziPlugins.restore;
"smart-enter" = pkgs.yaziPlugins.smart-enter;
"toggle-pane" = pkgs.yaziPlugins.toggle-pane;
};
};
}

View File

@@ -1,3 +0,0 @@
{ ... }: {
services.arrpc.enable = true;
}

View File

@@ -1,6 +0,0 @@
{ ... }: {
services.fluidsynth = {
enable = true;
soundService = "pipewire-pulse";
};
}

View File

@@ -1,17 +0,0 @@
{ ... }: {
services.hypridle = {
enable = true;
settings = {
general = {
lock_cmd = "pidof hyprlock || hyprlock";
};
listener = [
{
timeout = 300;
on-timeout = "loginctl lock-session";
}
];
};
};
}

View File

@@ -1,5 +0,0 @@
{ ... }: {
programs.appimage.enable = true;
programs.appimage.binfmt = true;
}

View File

@@ -1,40 +0,0 @@
{ pkgs, ... }: let
pname = "Drop%20Desktop%20Client";
version = "0.3.0";
src = pkgs.fetchurl {
url = "https://github.com/Drop-OSS/drop-app/releases/download/v0.3.0/Drop.Desktop.Client_0.3.0_amd64.AppImage";
hash = "sha256-VVDzotrgu68CAGr4EqpWlW8ZOhf4cbt4a46WHJTnxjo=";
};
appimageContents = pkgs.appimageTools.extract {inherit pname version src;};
in
pkgs.appimageTools.wrapType2 {
inherit pname version src;
pkgs = pkgs;
extraInstallCommands = ''
install -m 444 -D ${appimageContents}/${pname}.desktop -t $out/share/applications
substituteInPlace $out/share/applications/${pname}.desktop \
--replace 'Exec=AppRun' 'Exec=${pname}'
cp -r ${appimageContents}/usr/share/icons $out/share
# unless linked, the binary is placed in $out/bin/cursor-someVersion
# ln -s $out/bin/${pname}-${version} $out/bin/${pname}
'';
extraBwrapArgs = [
"--bind-try /etc/nixos/ /etc/nixos/"
];
# vscode likes to kill the parent so that the
# gui application isn't attached to the terminal session
dieWithParent = false;
extraPkgs = pkgs: with pkgs; [
unzip
autoPatchelfHook
asar
haskellPackages.gi-ayatana-appindicator3
# override doesn't preserve splicing https://github.com/NixOS/nixpkgs/issues/132651
(buildPackages.wrapGAppsHook.override {inherit (buildPackages) makeWrapper;})
];
}

View File

@@ -1,11 +0,0 @@
{ pkgs, lib, inputs, ... }:
let
dropApp = import ./appimages/drop.nix { inherit pkgs; };
in
{
# ...
environment.systemPackages = with pkgs; [
dropApp
];
}

View File

@@ -1,4 +1,4 @@
{ pkgs, ... }: {
{ pkgs, inputs, ... }: {
# List packages installed in system profile. To search, run:
# $ nix search wget
environment.systemPackages = [
@@ -13,9 +13,5 @@
services.flatpak.packages = [
"io.github.ryubing.Ryujinx"
];
environment.shellAliases = {
ryujinx = "flatpak run io.github.ryubing.Ryujinx";
};
}

View File

@@ -1,4 +1,4 @@
{ ... }: {
{ pkgs, ... }: {
programs.firefox.enable = true;
}

View File

@@ -1,4 +1,4 @@
{ pkgs, pkgs-unstable, ... }: {
{ pkgs, ... }: {
# List packages installed in system profile. To search, run:
# $ nix search wget
environment.systemPackages = [
@@ -11,8 +11,6 @@
pkgs.protonup-qt
pkgs.wineWowPackages.stable
pkgs.winetricks
pkgs-unstable.nero-umu
pkgs-unstable.protonplus
];
}

View File

@@ -1,4 +1,4 @@
{ pkgs, pkgs', ... }: {
{ config, inputs, lib, pkgs, ... }: {
# List packages installed in system profile. To search, run:
# $ nix search wget
@@ -11,21 +11,19 @@
environment.systemPackages = [
pkgs.age
pkgs.arrpc
pkgs.alsa-utils
pkgs.bitwarden-cli
pkgs.bitwarden-menu
pkgs.btop
pkgs.chatterino2
pkgs.clipse
#(pkgs.discord.override { withMoonlight = true; })
pkgs.dmidecode
pkgs.dysk
pkgs.elinks
pkgs.fastfetch
pkgs.gearlever
pkgs.git
pkgs.gnumake
#pkgs.gpustat
pkgs.gpustat
pkgs.hdrop
pkgs.htop
pkgs.libmpg123
@@ -33,14 +31,11 @@
pkgs.jellyfin-tui
pkgs.lsd
pkgs.lshw
pkgs.lunarvim
pkgs.neovim
pkgs.newsboat
pkgs.nix-melt
pkgs.nix-search-tv
pkgs.nvd
pkgs.nyxt
pkgs.overlayed
pkgs.p7zip-rar
pkgs.pciutils
pkgs.pinentry-curses
@@ -50,15 +45,11 @@
pkgs.rofi-rbw-wayland
pkgs.sops
pkgs.teams-for-linux
pkgs.television
pkgs.tree
pkgs.unrar
pkgs.unzip
pkgs.usbutils
pkgs.vlc
pkgs.wf-recorder
pkgs.zip
pkgs'.nixverse
];
}

View File

@@ -1,4 +1,4 @@
{ ... }: {
{ pkgs, ... }: {
programs.git.enable = true;
}

View File

@@ -1,4 +1,4 @@
{ pkgs, ... }: {
{ config, inputs, lib, pkgs, ... }: {
# List packages installed in system profile. To search, run:
# $ nix search wget

View File

@@ -1,4 +1,4 @@
{ pkgs, ... }: {
{ pkgs, inputs, ... }: {
# Install hyprland
programs.hyprland = {
enable = true;
@@ -12,7 +12,6 @@
environment.systemPackages = [
# Fix for hyprpanel network icon
pkgs.adwaita-icon-theme
pkgs.cava
pkgs.grim
pkgs.hyprpicker
pkgs.hyprshot

View File

@@ -1,4 +1,4 @@
{ pkgs, ... }: {
{ pkgs, inputs, ... }: {
# List packages installed in system profile. To search, run:
# $ nix search wget
environment.systemPackages = [

View File

@@ -1,10 +0,0 @@
{ ... }: {
services.flatpak.packages = [
"dev.fredol.open-tv"
];
environment.shellAliases = {
open-tv = "flatpak run dev.fredol.open-tv";
};
}

View File

@@ -2,10 +2,7 @@
# Install steam.
programs = {
gamemode.enable = true;
gamescope = {
enable = true;
capSysNice = true;
};
gamescope.enable = true;
steam = {
enable = true;
@@ -13,10 +10,6 @@
remotePlay.openFirewall = true; # Open ports in the firewall for Steam Remote Play
dedicatedServer.openFirewall = true; # Open ports in the firewall for Source Dedicated Server
localNetworkGameTransfers.openFirewall = true; # Open ports in the firewall for Steam Local Network Game Transfers
extraCompatPackages = [
pkgs.proton-ge-bin
pkgs.steam-play-none
];
package = pkgs.steam.override { # Fix Overwatch and other games showing wrong timezone in-game.
extraProfile = ''
unset TZ
@@ -30,7 +23,7 @@
};
environment.systemPackages = [
pkgs.samrewritten
pkgs.mangohud
];
}

View File

@@ -1,3 +1,3 @@
{ ... }: {
{ pkgs, ...}: {
services.blueman.enable = true;
}

View File

@@ -1,7 +0,0 @@
{...}: {
services.btrfs.autoScrub = {
enable = true;
interval = "weekly";
fileSystems = [ "/" ];
};
}

View File

@@ -1,4 +1,4 @@
{ ... }: {
{ pkgs, ...}: {
services.flatpak = {
enable = true;
update.onActivation = true;

View File

@@ -1,22 +1,14 @@
{ pkgs, ... }: {
{ ... }: {
# Enable sound with pipewire.
services.pulseaudio = {
enable = false;
package = pkgs.pulseaudioFull;
};
services.pulseaudio.enable = false;
services.pipewire = {
enable = true;
alsa.enable = true;
alsa.support32Bit = true;
pulse.enable = true;
#wireplumber.enable = true;
# If you want to use JACK applications, uncomment this
jack.enable = true;
lowLatency.enable = false;
# use the example session manager (no others are packaged yet so this is enabled by default,
# no need to redefine it in your config for now)
#media-session.enable = true;

View File

@@ -1,29 +1,13 @@
{ pkgs, ... }: {
{ ... }: {
hardware.bluetooth = {
enable = true; # enables support for Bluetooth
package = pkgs.bluez-experimental;
powerOnBoot = true; # powers up the default Bluetooth controller on boot
settings = {
LE = {
MinConnectionInterval = 16;
MaxConnectionInterval = 16;
ConnectionLatency = 10;
ConnectionSupervisionTimeout = 100;
};
General = {
Enable = "Source,Sink,Media,Socket";
settings.General = {
Privacy = "device";
JustWorksRepairing = "always";
Class = "0x000100";
Experimental = true;
FastConnectable = true;
};
Policy = {
AutoEnable = true;
};
};
};
}

View File

@@ -1,37 +0,0 @@
{ lib, pkgs, ... }: {
environment.systemPackages = [
pkgs.adi1090x-plymouth-themes
];
boot = {
#initrd.verbose = false;
loader = {
systemd-boot.enable = true;
efi.canTouchEfiVariables = true;
};
kernelPackages = pkgs.linuxPackages_xanmod_stable;
#kernelParams = [
#"quiet"
#"splash"
#"boot.shell_on_fail"
#"udev.log_priority=3"
#"rc.systemd.show_status=auto"
#];
extraModprobeConfig = ''
options bluetooth enable_ecred=1
'';
#plymouth = {
# enable = true;
# theme = lib.mkForce "glitch";
# themePackages = [
# (pkgs.adi1090x-plymouth-themes.override { selected_themes = [ "glitch" ]; })
# ];
#};
#consoleLogLevel = 3;
loader.timeout = 3;
};
}

View File

@@ -9,6 +9,7 @@
shellAliases = {
ls = "lsd -la";
ryujinx = "flatpak run io.github.ryubing.Ryujinx";
};
# Get plasma integration with browsers to work better.

View File

@@ -1,4 +1,4 @@
{ lib, ... }: {
{ config, lib, ...}: {
networking.networkmanager.enable = true;
networking.useDHCP = lib.mkDefault true;
}

View File

@@ -12,6 +12,5 @@
# Allow unfree packages
nixpkgs.config.allowUnfree = true;
# Use some of our RAM as swap space.
zramSwap.enable = true;
}

View File

@@ -10,13 +10,10 @@
];
};
# For security reasons, we are disabling the use of regular sudo and...
sudo = {
enable = lib.mkForce false;
};
# ...switching over to sudo-rs which is a Rust rewrite of sudo.
# See https://cybersecsentinel.com/cve-2025-32463-privilege-escalation-in-sudo-triggers-urgent-linux-patching/.
sudo-rs = {
enable = true;
wheelNeedsPassword = true;

View File

@@ -1,12 +0,0 @@
{ ... }: {
# Setting up secrets, incomplete at the moment.
sops = {
#defaultSopsFile = ../../../../private/secrets.yaml;
#secrets = {
# jay_password_hash = {
# neededForUsers = true;
# };
#};
};
}

View File

@@ -1,24 +1,11 @@
{ ... }: {
# Let's setup our user accounts here.
#sops.secrets = {
# jay_password_hash = { };
#};
users = {
# mutableUsers forces user passwords to stay as those defined in this file.
# With it set to false, you will not be able to change the password for users defined here.
mutableUsers = false;
users.jay = {
{ config, ... }: {
# Define a user account. Don't forget to set a password with passwd.
users.users.jay = {
isNormalUser = true;
description = "jay";
#hashedPasswordFile = config.sops.secrets.jay_password_hash.path;
hashedPassword = "$y$j9T$oomgQFsMbc0odlNIUXEpq/$dhgLjElzaJuU3rF1wXGcSXFUWC/fP1g5mAPZizKUFQ4";
# Gamemode group allows gamemode to set cpu governor to performance when games launch.
# See https://nixos.wiki/wiki/Gamemode
extraGroups = [ "networkmanager" "wheel" "gamemode" ];
};
#hashedPasswordFile = config.sops.secrets.password_hash.path;
hashedPassword = "$6$RTOXVXRP1iLIXnQb$rVtTeqlJ7g3AcZgftmVdKFnT2ggCsnVayPlT4beLST9Oz2LHGT2fdcOC/yaQkISK3wzFLqh47fSHgQvRUWpl41";
extraGroups = [ "networkmanager" "wheel" ];
};
}

Binary file not shown.

Before

Width:  |  Height:  |  Size: 299 KiB

View File

@@ -4,8 +4,4 @@
channel = "stable";
};
lappy = {};
nixy = {
deploy.local = true;
};
nixwork = {};
}

View File

@@ -2,15 +2,13 @@
# your system. Help is available in the configuration.nix(5) man page, on
# https://search.nixos.org/options and in the NixOS manual (`nixos-help`).
{ ... }:
{ config, lib, pkgs, ... }:
{
imports =
[ # Include the results of the hardware scan.
./hardware-configuration.nix
./programs/sof-firmware.nix
# Not working yet.
#./services/fprintd.nix
./services/touchpad.nix
./system/bootloader.nix
./system/filesystems.nix

View File

@@ -48,21 +48,6 @@
"noatime"
];
};
"/root-blank" = {
mountOptions = [
"subvol=root-blank"
"nodatacow"
"noatime"
];
};
"/home" = {
mountpoint = "/home";
mountOptions = [
"subvol=home"
"compress=zstd"
"noatime"
];
};
"/nix" = {
mountpoint = "/nix";
mountOptions = [
@@ -87,13 +72,6 @@
"noatime"
];
};
"/lib" = {
mountpoint = "/var/lib";
mountOptions = [
"subvol=lib"
"compress=zstd"
"noatime"
];
};
};
};
@@ -103,8 +81,6 @@
};
};
};
};
fileSystems."/persist".neededForBoot = true;
fileSystems."/nix/persist".neededForBoot = true;
fileSystems."/var/log".neededForBoot = true;
fileSystems."/var/lib".neededForBoot = true;
}

View File

@@ -1,7 +1,7 @@
# Do not modify this file! It was generated by nixos-generate-config
# and may be overwritten by future invocations. Please make changes
# to /etc/nixos/configuration.nix instead.
{ config, lib, modulesPath, ... }:
{ config, lib, pkgs, modulesPath, ... }:
{
imports =

View File

@@ -1,8 +1,33 @@
{ ... }:
{ config, pkgs, inputs, lib, ... }:
{
imports = [
./programs/hyprland.nix
./programs/hyprpanel.nix
programs.hyprpanel = {
settings = {
layout = {
"bar.layouts" = {
"0" = {
right = [ "battery" ];
};
};
};
bar = {
customModules = {
cava = {
framerate = lib.mkForce 120;
};
};
};
};
};
wayland.windowManager.hyprland = {
settings = {
"monitor" = "eDP-1, 2880x1800@120, 0x0, 1";
exec-once = [
"mpvpaper -vfp -o 'no-audio no-keepaspect loop vf=lavfi=negate' eDP-1 ../../../common/wallpapers/wipeout.mkv"
];
};
};
}

View File

@@ -1,7 +0,0 @@
{ ... }: {
wayland.windowManager.hyprland = {
settings = {
"monitor" = "eDP-1, 2880x1800@120, 0x0, 1";
};
};
}

View File

@@ -1,19 +0,0 @@
{ lib, ... }: {
programs.hyprpanel = {
settings = {
"bar.layouts" = {
"0" = {
right = [ "battery" ];
};
};
bar = {
customModules = {
cava = {
framerate = lib.mkForce 120;
};
};
};
};
};
}

View File

@@ -1,5 +0,0 @@
{ pkgs, ...}: {
services.fprintd.enable = true;
services.fprintd.tod.enable = true;
services.fprintd.tod.driver = pkgs.libfprint-2-tod1-goodix-550a;
}

View File

@@ -1,4 +1,4 @@
{ ... }: {
{ pkgs, ...}: {
# Enable touchpad support (enabled default in most desktopManager).
services.libinput.enable = true;
}

View File

@@ -1,9 +1,10 @@
{ config, ... }: {
{ pkgs, config, ... }: {
boot = {
tmp = {
useTmpfs = true;
tmpfsSize = "50%";
loader = {
systemd-boot.enable = true;
efi.canTouchEfiVariables = true;
};
kernelPackages = pkgs.linuxPackages_xanmod_stable;
kernelModules = [ "kvm-intel" ];
extraModulePackages = with config.boot.kernelPackages; [ xpadneo ];
extraModprobeConfig = '' options bluetooth disable_ertm=1 '';
@@ -37,15 +38,10 @@
# /mnt/persist
# /mnt/nix
# /mnt
luks.devices."cryptroot" = {
device = "/dev/disk/by-partlabel/luks";
allowDiscards = true;
};
#luks.devices."cryptroot".device = "/dev/disk/by-uuid/e68d4928-961d-4c80-9d3c-921514ebc63c";
kernelModules = [ ];
availableKernelModules = [ "nvme" "xhci_pci" "thunderbolt" "usb_storage" "sd_mod" ];
};
};
}

View File

@@ -6,12 +6,6 @@
options = [ "subvol=root" "compress=zstd" "noatime" ];
};
fileSystems."/home" =
{ device = "/dev/mapper/cryptroot";
fsType = "btrfs";
options = [ "subvol=home" "compress=zstd" "noatime" ];
};
fileSystems."/nix" =
{ device = "/dev/mapper/cryptroot";
fsType = "btrfs";
@@ -25,14 +19,7 @@
neededForBoot = true;
};
fileSystems."/var/lib" =
{ device = "/dev/mapper/cryptroot";
fsType = "btrfs";
options = [ "subvol=lib" "compress=zstd" "noatime" ];
neededForBoot = true;
};
fileSystems."/persist" =
fileSystems."/nix/persist" =
{ device = "/dev/mapper/cryptroot";
fsType = "btrfs";
options = [ "subvol=persist" "compress=zstd" "noatime" ];
@@ -47,7 +34,7 @@
swapDevices = [{
device = "/swapfile";
size = 18 * 1024;
size = 16 * 1024;
}];
}

View File

@@ -1,4 +1,4 @@
{ ... }: {
{ config, ...}: {
networking.hostName = "lappy"; # Define your hostname.
}

View File

@@ -1,24 +0,0 @@
# Edit this configuration file to define what should be installed on
# your system. Help is available in the configuration.nix(5) man page, on
# https://search.nixos.org/options and in the NixOS manual (`nixos-help`).
{ inputs, ... }:
{
imports =
[ # Include the results of the hardware scan.
./hardware-configuration.nix
inputs.nixos-hardware.nixosModules.framework-16-7040-amd
./programs/sof-firmware.nix
# Not working yet.
./services/fprintd.nix
./services/lidswitch.nix
./services/touchpad.nix
./system/bootloader.nix
./system/filesystems.nix
./system/networking.nix
];
system.stateVersion = "25.05"; # Did you read the comment?
}

View File

@@ -1,110 +0,0 @@
{
disko.devices = {
disk = {
nvme1n1 = {
type = "disk";
device = "/dev/nvme0n1";
content = {
type = "gpt";
partitions = {
ESP = {
label = "boot";
name = "ESP";
size = "4500M";
type = "EF00";
content = {
type = "filesystem";
format = "vfat";
mountpoint = "/boot";
mountOptions = [
"umask=0077"
"defaults"
];
};
};
luks = {
size = "100%";
label = "luks";
content = {
type = "luks";
name = "cryptroot";
# disable settings.keyFile if you want to use interactive password entry
#passwordFile = "/tmp/secret.key"; # Interactive
settings = {
allowDiscards = true;
#keyFile = "/tmp/secret.key";
};
#additionalKeyFiles = [ "/tmp/additionalSecret.key" ];
content = {
type = "btrfs";
extraArgs = [ "-L" "nixos" "-f" ];
subvolumes = {
"/root" = {
mountpoint = "/";
mountOptions = [
"subvol=root"
"compress=zstd"
"noatime"
];
};
"/root-blank" = {
mountOptions = [
"subvol=root-blank"
"nodatacow"
"noatime"
];
};
"/home" = {
mountpoint = "/home";
mountOptions = [
"subvol=home"
"compress=zstd"
"noatime"
];
};
"/nix" = {
mountpoint = "/nix";
mountOptions = [
"subvol=nix"
"compress=zstd"
"noatime"
];
};
"/persist" = {
mountpoint = "/persist";
mountOptions = [
"subvol=persist"
"compress=zstd"
"noatime"
];
};
"/log" = {
mountpoint = "/var/log";
mountOptions = [
"subvol=log"
"compress=zstd"
"noatime"
];
};
"/lib" = {
mountpoint = "/var/lib";
mountOptions = [
"subvol=lib"
"compress=zstd"
"noatime"
];
};
};
};
};
};
};
};
};
};
};
fileSystems."/persist".neededForBoot = true;
fileSystems."/var/log".neededForBoot = true;
fileSystems."/var/lib".neededForBoot = true;
}

View File

@@ -1,26 +0,0 @@
# Do not modify this file! It was generated by nixos-generate-config
# and may be overwritten by future invocations. Please make changes
# to /etc/nixos/configuration.nix instead.
{ config, lib, pkgs, modulesPath, ... }:
{
imports =
[ (modulesPath + "/installer/scan/not-detected.nix")
];
boot.initrd.availableKernelModules = [ "nvme" "xhci_pci" "thunderbolt" "usb_storage" "usbhid" "sd_mod" ];
boot.initrd.kernelModules = [ ];
boot.kernelModules = [ "kvm-amd" ];
boot.extraModulePackages = [ ];
# Enables DHCP on each ethernet and wireless interface. In case of scripted networking
# (the default) this is the recommended approach. When using systemd-networkd it's
# still possible to use this option, but it's recommended to use it in conjunction
# with explicit per-interface declarations with `networking.interfaces.<interface>.useDHCP`.
networking.useDHCP = lib.mkDefault true;
# networking.interfaces.enp193s0f3u1.useDHCP = lib.mkDefault true;
# networking.interfaces.wlp1s0.useDHCP = lib.mkDefault true;
nixpkgs.hostPlatform = lib.mkDefault "x86_64-linux";
hardware.cpu.amd.updateMicrocode = lib.mkDefault config.hardware.enableRedistributableFirmware;
}

View File

@@ -1,8 +0,0 @@
{ ... }:
{
imports = [
./programs/hyprland.nix
./programs/hyprpanel.nix
];
}

View File

@@ -1,7 +0,0 @@
{ ... }: {
wayland.windowManager.hyprland = {
settings = {
"monitor" = "eDP-1, 2560x1600@60, 0x0, 1";
};
};
}

View File

@@ -1,13 +0,0 @@
{ lib, ... }: {
programs.hyprpanel = {
settings = {
bar = {
customModules = {
cava = {
framerate = lib.mkForce 120;
};
};
};
};
};
}

View File

@@ -1,4 +0,0 @@
{
os = "nixos";
channel = "stable";
}

View File

@@ -1,8 +0,0 @@
{ pkgs, ... }: {
# List packages installed in system profile. To search, run:
# $ nix search wget
environment.systemPackages = [
pkgs.sof-firmware
];
}

View File

@@ -1,3 +0,0 @@
{ pkgs, ...}: {
services.fprintd.enable = true;
}

View File

@@ -1,4 +0,0 @@
{ pkgs, ...}: {
services.logind.lidSwitch = "poweroff";
services.logind.lidSwitchExternalPower = "lock";
}

View File

@@ -1,4 +0,0 @@
{ ... }: {
# Enable touchpad support (enabled default in most desktopManager).
services.libinput.enable = true;
}

View File

@@ -1,52 +0,0 @@
{ config, ... }: {
boot = {
tmp = {
useTmpfs = true;
tmpfsSize = "50%";
};
kernelModules = [ "kvm-intel" ];
extraModulePackages = with config.boot.kernelPackages; [ xpadneo ];
extraModprobeConfig = '' options bluetooth disable_ertm=1 '';
initrd = {
# OLD CONFIG
# NAME FSTYPE FSVER LABEL UUID FSAVAIL FSUSE% MOUNTPOINTS
# nvme0n1
# └─nvme0n1p1 crypto_LUKS 2 e174181f-828c-44fd-97c1-0e2fdc2322e5
# └─luks-e174181f-828c-44fd-97c1-0e2fdc2322e5 btrfs home f8ed950a-5cc9-4b87-901c-4cfece6daf6c 3.3T 9% /home
# luks.devices."luks-e174181f-828c-44fd-97c1-0e2fdc2322e5".device = "/dev/disk/by-uuid/e174181f-828c-44fd-97c1-0e2fdc2322e5";
# nvme1n1
# ├─nvme1n1p1 vfat FAT32 D19B-1967 4.3G 3% /boot
# ├─nvme1n1p2 crypto_LUKS 2 300fdb2a-d887-4e53-bc97-9fdc123856ce
# │ └─luks-300fdb2a-d887-4e53-bc97-9fdc123856ce swap 1 swap 66b9e1f6-1fc5-4c32-afc7-724880504495 [SWAP]
# luks.devices."luks-300fdb2a-d887-4e53-bc97-9fdc123856ce".device = "/dev/disk/by-uuid/300fdb2a-d887-4e53-bc97-9fdc123856ce";
# └─nvme1n1p3 crypto_LUKS 2 e69c5d63-f5a7-4cb1-a858-4e6396d8def7
# └─luks-e69c5d63-f5a7-4cb1-a858-4e6396d8def7 btrfs root f53b22d4-df74-4ee0-9f85-3fb0eb087150 /nix/store
# luks.devices."luks-e69c5d63-f5a7-4cb1-a858-4e6396d8def7".device = "/dev/disk/by-uuid/e69c5d63-f5a7-4cb1-a858-4e6396d8def7";
# NEW CONFIG
# nvme0n1
# └─nvme0n1p1 crypto_LUKS 2 1976c849-c317-46c0-af98-d2dfc455c489
# └─crypthome btrfs home c63ca365-e963-4ea4-bb71-ed1c7e1b6bc8 /mnt/home
# luks.devices."crypthome".device = "/dev/disk/by-uuid/1976c849-c317-46c0-af98-d2dfc455c489";
# nvme1n1
# ├─nvme1n1p1 vfat FAT32 CDA0-8838 4.4G 0% /mnt/boot
# └─nvme1n1p2 crypto_LUKS 2 e948662c-ae57-46aa-b7bf-cc09dbaa8cdb
# └─cryptroot btrfs nixos 77021dd1-9fa5-4e9f-9be2-ba943e6de77c 925.1G 0% /mnt/var/log
# /mnt/persist
# /mnt/nix
# /mnt
luks.devices."cryptroot" = {
device = "/dev/disk/by-partlabel/luks";
allowDiscards = true;
};
kernelModules = [ ];
availableKernelModules = [ "nvme" "xhci_pci" "thunderbolt" "usb_storage" "sd_mod" ];
};
};
}

View File

@@ -1,54 +0,0 @@
{ ... }: {
fileSystems."/" =
{ device = "/dev/mapper/cryptroot";
fsType = "btrfs";
options = [ "subvol=root" "compress=zstd" "noatime" ];
};
fileSystems."/home" =
{ device = "/dev/mapper/cryptroot";
fsType = "btrfs";
options = [ "subvol=home" "compress=zstd" "noatime" ];
};
fileSystems."/nix" =
{ device = "/dev/mapper/cryptroot";
fsType = "btrfs";
options = [ "subvol=nix" "compress=zstd" "noatime" ];
};
fileSystems."/var/log" =
{ device = "/dev/mapper/cryptroot";
fsType = "btrfs";
options = [ "subvol=log" "compress=zstd" "noatime" ];
neededForBoot = true;
};
fileSystems."/var/lib" =
{ device = "/dev/mapper/cryptroot";
fsType = "btrfs";
options = [ "subvol=lib" "compress=zstd" "noatime" ];
neededForBoot = true;
};
fileSystems."/persist" =
{ device = "/dev/mapper/cryptroot";
fsType = "btrfs";
options = [ "subvol=persist" "compress=zstd" "noatime" ];
neededForBoot = true;
};
fileSystems."/boot" =
{ device = "/dev/disk/by-partlabel/boot";
fsType = "vfat";
options = [ "fmask=0077" "dmask=0077" ];
};
swapDevices = [{
device = "/swapfile";
size = 18 * 1024;
}];
}

View File

@@ -1,4 +0,0 @@
{ ... }: {
networking.hostName = "nixwork"; # Define your hostname.
}

View File

@@ -1,24 +0,0 @@
# Edit this configuration file to define what should be installed on
# your system. Help is available in the configuration.nix(5) man page, on
# https://search.nixos.org/options and in the NixOS manual (`nixos-help`).
{ inputs, ... }:
{
imports =
[ # Include the results of the hardware scan.
inputs.impermanence.nixosModules.impermanence
./hardware-configuration.nix
./impermanence.nix
./programs/streamcontroller.nix
./services/xserver.nix
./system/bootloader.nix
./system/environment.nix
./system/filesystems.nix
./system/networking.nix
./system/nvidia.nix
];
system.stateVersion = "24.11"; # Did you read the comment?
}

View File

@@ -1,119 +0,0 @@
{
disko.devices = {
disk = {
nvme1n1 = {
type = "disk";
device = "/dev/nvme1n1";
content = {
type = "gpt";
partitions = {
ESP = {
label = "boot";
name = "ESP";
size = "4500M";
type = "EF00";
content = {
type = "filesystem";
format = "vfat";
mountpoint = "/boot";
mountOptions = [
"umask=0077"
"defaults"
];
};
};
luks = {
size = "100%";
label = "luks";
content = {
type = "luks";
name = "cryptroot";
# disable settings.keyFile if you want to use interactive password entry
#passwordFile = "/tmp/secret.key"; # Interactive
settings = {
allowDiscards = true;
#keyFile = "/tmp/secret.key";
};
#additionalKeyFiles = [ "/tmp/additionalSecret.key" ];
content = {
type = "btrfs";
extraArgs = [ "-L" "nixos" "-f" ];
subvolumes = {
"/root" = {
mountpoint = "/";
mountOptions = [
"subvol=root"
"compress=zstd"
"noatime"
];
};
"/nix" = {
mountpoint = "/nix";
mountOptions = [
"subvol=nix"
"compress=zstd"
"noatime"
];
};
"/persist" = {
mountpoint = "/persist";
mountOptions = [
"subvol=persist"
"compress=zstd"
"noatime"
];
};
"/log" = {
mountpoint = "/var/log";
mountOptions = [
"subvol=log"
"compress=zstd"
"noatime"
];
};
};
};
};
};
};
};
};
nvme0n1 = {
type = "disk";
device = "/dev/nvme0n1";
content = {
type = "gpt";
partitions = {
luks = {
size = "100%";
label = "lukshome";
content = {
type = "luks";
name = "crypthome";
settings = {
allowDiscards = true;
#keyFile = "/tmp/secret.key";
};
content = {
type = "btrfs";
extraArgs = ["-L" "home" "-f"];
subvolumes = {
"/home" = {
mountpoint = "/home";
mountOptions = ["subvol=home" "compress=zstd" "noatime"];
};
};
};
};
};
};
};
};
};
};
fileSystems."/nix/persist".neededForBoot = true;
fileSystems."/var/log".neededForBoot = true;
fileSystems."/home".neededForBoot = true;
}

View File

@@ -1,21 +0,0 @@
# Do not modify this file! It was generated by nixos-generate-config
# and may be overwritten by future invocations. Please make changes
# to /etc/nixos/configuration.nix instead.
{ config, lib, modulesPath, ... }:
{
imports =
[ (modulesPath + "/installer/scan/not-detected.nix")
];
# Enables DHCP on each ethernet and wireless interface. In case of scripted networking
# (the default) this is the recommended approach. When using systemd-networkd it's
# still possible to use this option, but it's recommended to use it in conjunction
# with explicit per-interface declarations with `networking.interfaces.<interface>.useDHCP`.
networking.useDHCP = lib.mkDefault true;
# networking.interfaces.enp8s0.useDHCP = lib.mkDefault true;
# networking.interfaces.wlp7s0.useDHCP = lib.mkDefault true;
nixpkgs.hostPlatform = lib.mkDefault "x86_64-linux";
hardware.cpu.amd.updateMicrocode = lib.mkDefault config.hardware.enableRedistributableFirmware;
}

View File

@@ -1,4 +1,4 @@
{ lib, ... }:
{ config, pkgs, inputs, lib, ... }:
{
programs.hyprpanel = {
@@ -16,6 +16,9 @@
wayland.windowManager.hyprland = {
settings = {
"monitor" = "DP-2, 3440x1440@165, 0x0, 1";
exec-once = [
"mpvpaper -vfp -o 'no-audio no-keepaspect loop vf=lavfi=negate' DP-2 ../../../common/wallpapers/wipeout.mkv"
];
};
};
}

View File

@@ -1,42 +0,0 @@
{lib, ... }: {
# Reset root subvolume on boot
boot.initrd.postResumeCommands = lib.mkAfter ''
mkdir /btrfs_tmp
mount /dev/mapper/cryptroot /btrfs_tmp # CONFIRM THIS IS CORRECT FROM findmnt
if [[ -e /btrfs_tmp/root ]]; then
mkdir -p /btrfs_tmp/old_roots
timestamp=$(date --date="@$(stat -c %Y /btrfs_tmp/root)" "+%Y-%m-%-d_%H:%M:%S")
mv /btrfs_tmp/root "/btrfs_tmp/old_roots/$timestamp"
fi
delete_subvolume_recursively() {
IFS=$'\n'
for i in $(btrfs subvolume list -o "$1" | cut -f 9- -d ' '); do
delete_subvolume_recursively "/btrfs_tmp/$i"
done
btrfs subvolume delete "$1"
}
for i in $(find /btrfs_tmp/old_roots/ -maxdepth 1 -mtime +30); do
delete_subvolume_recursively "$i"
done
btrfs subvolume create /btrfs_tmp/root
umount /btrfs_tmp
'';
# Use /persist as the persistence root, matching Disko's mountpoint
environment.persistence."/nix/persist" = {
hideMounts = true;
directories = [
"/etc" # System configuration (Keep this here for persistence via bind-mount)
"/var/spool" # Mail queues, cron jobs
"/srv" # Web server data, etc.
"/root"
"/etc/NetworkManager/system-connections"
"/var/lib/bluetooth"
];
files = [
];
};
}

View File

@@ -1,4 +0,0 @@
{
os = "nixos";
channel = "stable";
}

View File

@@ -1,13 +0,0 @@
{ ... }: {
# Enable the X11 windowing system.
# You can disable this if you're only using the Wayland session.
services.xserver = {
enable = true;
xkb = {
layout = "us";
variant = "";
};
videoDrivers = [ "nvidia" ];
};
}

View File

@@ -1,52 +0,0 @@
{ config, ... }: {
boot = {
kernelModules = [ "kvm-amd" ];
extraModulePackages = with config.boot.kernelPackages; [ xpadneo ];
initrd = {
# OLD CONFIG
# NAME FSTYPE FSVER LABEL UUID FSAVAIL FSUSE% MOUNTPOINTS
# nvme0n1
# └─nvme0n1p1 crypto_LUKS 2 e174181f-828c-44fd-97c1-0e2fdc2322e5
# └─luks-e174181f-828c-44fd-97c1-0e2fdc2322e5 btrfs home f8ed950a-5cc9-4b87-901c-4cfece6daf6c 3.3T 9% /home
# luks.devices."luks-e174181f-828c-44fd-97c1-0e2fdc2322e5".device = "/dev/disk/by-uuid/e174181f-828c-44fd-97c1-0e2fdc2322e5";
# nvme1n1
# ├─nvme1n1p1 vfat FAT32 D19B-1967 4.3G 3% /boot
# ├─nvme1n1p2 crypto_LUKS 2 300fdb2a-d887-4e53-bc97-9fdc123856ce
# │ └─luks-300fdb2a-d887-4e53-bc97-9fdc123856ce swap 1 swap 66b9e1f6-1fc5-4c32-afc7-724880504495 [SWAP]
# luks.devices."luks-300fdb2a-d887-4e53-bc97-9fdc123856ce".device = "/dev/disk/by-uuid/300fdb2a-d887-4e53-bc97-9fdc123856ce";
# └─nvme1n1p3 crypto_LUKS 2 e69c5d63-f5a7-4cb1-a858-4e6396d8def7
# └─luks-e69c5d63-f5a7-4cb1-a858-4e6396d8def7 btrfs root f53b22d4-df74-4ee0-9f85-3fb0eb087150 /nix/store
# luks.devices."luks-e69c5d63-f5a7-4cb1-a858-4e6396d8def7".device = "/dev/disk/by-uuid/e69c5d63-f5a7-4cb1-a858-4e6396d8def7";
# NEW CONFIG
# nvme0n1
# └─nvme0n1p1 crypto_LUKS 2 1976c849-c317-46c0-af98-d2dfc455c489
# └─crypthome btrfs home c63ca365-e963-4ea4-bb71-ed1c7e1b6bc8 /mnt/home
# luks.devices."crypthome".device = "/dev/disk/by-uuid/1976c849-c317-46c0-af98-d2dfc455c489";
# nvme1n1
# ├─nvme1n1p1 vfat FAT32 CDA0-8838 4.4G 0% /mnt/boot
# └─nvme1n1p2 crypto_LUKS 2 e948662c-ae57-46aa-b7bf-cc09dbaa8cdb
# └─cryptroot btrfs nixos 77021dd1-9fa5-4e9f-9be2-ba943e6de77c 925.1G 0% /mnt/var/log
# /mnt/persist
# /mnt/nix
# /mnt
luks.devices."cryptroot" = {
device = "/dev/disk/by-partlabel/luks";
allowDiscards = true;
};
luks.devices."crypthome" = {
device = "/dev/disk/by-partlabel/lukshome";
allowDiscards = true;
};
kernelModules = [ "nvidia" "nvidia_modeset" "nvidia_drm" "nvidia_uvm" ];
availableKernelModules = [ "nvme" "xhci_pci" "ahci" "usb_storage" "sd_mod" ];
};
};
}

View File

@@ -1,13 +0,0 @@
{ ... }: {
environment = {
variables = {
# Required to run the correct GBM backend for nvidia GPUs on wayland
GBM_BACKEND = "nvidia-drm";
# Apparently, without this nouveau may attempt to be used instead
# (despite it being blacklisted)
__GLX_VENDOR_LIBRARY_NAME = "nvidia";
# Hardware cursors are currently broken on wlroots
WLR_NO_HARDWARE_CURSORS = "1";
};
};
}

View File

@@ -1,48 +0,0 @@
{ ... }: {
fileSystems."/" =
{ device = "/dev/mapper/cryptroot";
fsType = "btrfs";
options = [ "subvol=root" "compress=zstd" "noatime" ];
};
fileSystems."/nix" =
{ device = "/dev/mapper/cryptroot";
fsType = "btrfs";
options = [ "subvol=nix" "compress=zstd" "noatime" ];
};
fileSystems."/var/log" =
{ device = "/dev/mapper/cryptroot";
fsType = "btrfs";
options = [ "subvol=log" "compress=zstd" "noatime" ];
neededForBoot = true;
};
fileSystems."/nix/persist" =
{ device = "/dev/mapper/cryptroot";
fsType = "btrfs";
options = [ "subvol=persist" "compress=zstd" "noatime" ];
neededForBoot = true;
};
fileSystems."/boot" =
{ device = "/dev/disk/by-partlabel/boot";
fsType = "vfat";
options = [ "fmask=0077" "dmask=0077" ];
};
fileSystems."/home" =
{ device = "/dev/mapper/crypthome";
fsType = "btrfs";
options = [ "subvol=home" "compress=zstd" "noatime" ];
neededForBoot = true;
};
swapDevices = [{
device = "/swapfile";
size = 16 * 1024;
}];
}

View File

@@ -1,4 +0,0 @@
{ ... }: {
networking.hostName = "nixy"; # Define your hostname.
}

View File

@@ -1,43 +0,0 @@
{ config, pkgs, ... }: {
# Enable OpenGL
hardware.graphics = {
enable32Bit = true;
enable = true;
extraPackages = [
pkgs.nvidia-vaapi-driver
];
};
hardware.nvidia = {
# Modesetting is required.
modesetting.enable = true;
# Nvidia power management. Experimental, and can cause sleep/suspend to fail.
# Enable this if you have graphical corruption issues or application crashes after waking
# up from sleep. This fixes it by saving the entire VRAM memory to /tmp/ instead
# of just the bare essentials.
powerManagement.enable = false;
# Fine-grained power management. Turns off GPU when not in use.
# Experimental and only works on modern Nvidia GPUs (Turing or newer).
powerManagement.finegrained = false;
# Use the NVidia open source kernel module (not to be confused with the
# independent third-party "nouveau" open source driver).
# Support is limited to the Turing and later architectures. Full list of
# supported GPUs is at:
# https://github.com/NVIDIA/open-gpu-kernel-modules#compatible-gpus
# Only available from driver 515.43.04+
open = false;
# Enable the Nvidia settings menu,
# accessible via `nvidia-settings`.
nvidiaSettings = true;
#forceFullCompositionPipeline = true;
# Optionally, you may need to select the appropriate driver version for your specific GPU.
package = config.boot.kernelPackages.nvidiaPackages.stable;
};
}

Submodule private deleted from 7d635d0d2f