Compare commits
272 Commits
ddc3b16341
...
main
| Author | SHA1 | Date | |
|---|---|---|---|
| 048c332fd0 | |||
| f41d63be54 | |||
| 367070179f | |||
| 632ff8cea0 | |||
| 6947f37f54 | |||
| 3119362823 | |||
| 5e6983e106 | |||
| d1debc3a72 | |||
| 0a561deee0 | |||
| 3aeeb648e5 | |||
| 25a082e204 | |||
| f85ccc3aca | |||
| 53e563c2e9 | |||
| b6c241a1a1 | |||
| cb64138b55 | |||
| 00cfc16503 | |||
| a5e7cd1513 | |||
| 49265f2014 | |||
| 7737c3554a | |||
| 5ec35ea58f | |||
| 5f9ecd2c4a | |||
| 47d30fd708 | |||
| 5bcd431bfb | |||
| 7391b43d9a | |||
| 4f8ce52cc1 | |||
| 4f151577ac | |||
| 58f57f749b | |||
| 5505df82e3 | |||
| 7b66d5a4b5 | |||
| 2131144535 | |||
| 665ad9024f | |||
| 4ad8eaef7a | |||
| 3249dcfaad | |||
| 6aaad3ad7b | |||
| 3cc469278e | |||
| 560cd5afb2 | |||
| d7e08bbe9c | |||
| 52e1586cfe | |||
| 70f3fa3609 | |||
| 81812dfafb | |||
| f4491974ca | |||
| db78dd33c3 | |||
| 643eb1cb33 | |||
| 6372c54d4c | |||
| 2957c442ac | |||
| 4eb1da9227 | |||
| 070c684a01 | |||
| f41f628f4d | |||
| e2ea58c57c | |||
| e4917af55d | |||
| b6f353194a | |||
| a2c4050f08 | |||
| ec7420a218 | |||
| a8dfc7eda3 | |||
| d409f418d3 | |||
| 7d6d2ade10 | |||
| b3e8b77b8f | |||
| 4efcdbbc0a | |||
| 777f2b6821 | |||
| 894babd3da | |||
| 4310c9d517 | |||
| b154fad1a0 | |||
| 3404b22e72 | |||
| a9b9c0b5b8 | |||
| b74d05cdfb | |||
| a1515ff3eb | |||
| 16c74b4ffb | |||
| 3126b9fe0d | |||
| b702180b3a | |||
| 588f3a2e2c | |||
| b10401cb71 | |||
| 51e45da8bf | |||
| 2591c0389d | |||
| a7dfe2ac8b | |||
| 711e042b5d | |||
| 787492cb9f | |||
| 4b59f6a4d7 | |||
| 1c5cae9af4 | |||
| d027fbfaac | |||
| c19702fbaa | |||
| ffa8781759 | |||
| f87b8e3368 | |||
| 256fbf7bca | |||
| 956c23e606 | |||
| f40f23a8b3 | |||
| 3598a3e483 | |||
| 8eedac4744 | |||
| 1661ea2fcd | |||
| 6e6962314b | |||
| cb659e768e | |||
| d414e58fad | |||
| ca7193633c | |||
| e9c1aecbe9 | |||
| 77800be925 | |||
| 7bac3c13aa | |||
| b29f717c79 | |||
| ff6bc2b602 | |||
| 729165ab99 | |||
| fa97388d6d | |||
| 4d55019f4e | |||
| e8e3288d0c | |||
| 3b3fc54bf1 | |||
| 194b346a8c | |||
| 4d009c46bd | |||
| 9047f00910 | |||
| b1df070912 | |||
| f09502773a | |||
| eb232623a9 | |||
| 840db2018d | |||
| c843704a11 | |||
| 456081a657 | |||
| 7cfdfd8d0f | |||
| 97a4ad7815 | |||
| c4181bfe42 | |||
| 3a35c461bd | |||
| 1f850493a7 | |||
| 6223f62baa | |||
| ae8d80b621 | |||
| ec751bd1c2 | |||
| 70b1c62466 | |||
| b1b1076d7d | |||
| c8d92b5812 | |||
| c301c0072a | |||
| 5681827296 | |||
| adbd75a48a | |||
| ac132756e4 | |||
| 64390aec8a | |||
| 04d52e047b | |||
| d20e0e2837 | |||
| b6ce751431 | |||
| 9fa0838587 | |||
| eb1da112ab | |||
| f664de7fcb | |||
| 262d488283 | |||
| d77df8748d | |||
| a83cdf7f7d | |||
| bd1722ab41 | |||
| 5b3c0f4ce3 | |||
| acf1cdb9c3 | |||
| b8d0f83d19 | |||
| 97a57a1a4d | |||
| 64a9fa9b7c | |||
| 86b048cd68 | |||
| 5df2e0d3f5 | |||
| 0e4d790e30 | |||
| 9d30869c02 | |||
| f3d41e4299 | |||
| 3731d0bc01 | |||
| 0898de9ff6 | |||
| 828bd3c295 | |||
| 6574d647aa | |||
| b0ee1e9e59 | |||
| 6278366c75 | |||
| f2d280701c | |||
| 3dcb5330e6 | |||
| e5b5d77b86 | |||
| 82af34de7d | |||
| 72d2f9d224 | |||
| dc65b193fa | |||
| 6c68e77b58 | |||
| ffffb94a6b | |||
| 3be549af3d | |||
| 912c29d368 | |||
| 2513b9bf94 | |||
| 72be90b97d | |||
| 55e35a2038 | |||
| 962dba71e6 | |||
| f2d0904b49 | |||
| d0a8eea837 | |||
| b07d76f877 | |||
| 9497aacb4d | |||
| 342710ef9c | |||
| fe0b2ef82d | |||
| a2500b41d5 | |||
| 07acbd3dca | |||
| 2510f117fb | |||
| cd9245d93f | |||
| 4a96ae4adf | |||
| 92c62291f2 | |||
| b00ca89f1b | |||
| 2c62cd80b3 | |||
| f5fe043de9 | |||
| 05cd5cce03 | |||
| 168358d8c7 | |||
| 8fc7e020fe | |||
| d79ce8490b | |||
| ca885f29f2 | |||
| 1c70228703 | |||
| 66d37cfe0f | |||
| fda65a055f | |||
| daf09bdb21 | |||
| 6a6e5aeee3 | |||
| 3a8d12cbe6 | |||
| 565950413b | |||
| c0bf134b2a | |||
| bb348cd08a | |||
| fcfd9c6f72 | |||
| 69c9056992 | |||
| c1b27c2f82 | |||
| 6d35ed908e | |||
| 14277991cd | |||
| cf25455a91 | |||
| 9d1278388d | |||
| 6b1b1fef4c | |||
| 9e7010f7c1 | |||
| 6cd71f4eab | |||
| 5a9949805a | |||
| 40d6eac161 | |||
| 6f72897fb0 | |||
| fa00f3b545 | |||
| b743b7b35d | |||
| f786b4020a | |||
| a6d21574c6 | |||
| 0e7b2c52f2 | |||
| 78e4ad751f | |||
| 447ad7930f | |||
| d953d2c3df | |||
| ba77294db0 | |||
| 78e5f81ac9 | |||
| a23b142288 | |||
| 6759645429 | |||
| 840446aabc | |||
| 84f6005f65 | |||
| aede707b0a | |||
| 0e371fc26f | |||
| 02288500e8 | |||
| 406b508ab9 | |||
| be8db6d454 | |||
| 6dce06e79a | |||
| 41629e63a4 | |||
| 79838751ef | |||
| e4f3ce464d | |||
| 19bd63f086 | |||
| 0290dd0108 | |||
| 71cf10a9f3 | |||
| 931660b0d2 | |||
| 01193e652b | |||
| 8715b6274f | |||
| 4641875a62 | |||
| ac28968635 | |||
| af31a2cd0a | |||
| 0961059ff2 | |||
| 7da2097c91 | |||
| cfcbd965f2 | |||
| f8a2e0a8ab | |||
| f671352709 | |||
| 77f25b84ab | |||
| 017216ba65 | |||
| c194d9076f | |||
| 43bc49c7cd | |||
| e581d47db0 | |||
| dbb836785b | |||
| d7d49c1ac9 | |||
| 3d6bbf7e30 | |||
| 31618a2183 | |||
| 74f2f69e05 | |||
| f8fbed4ba3 | |||
| 45b4645faa | |||
| e2044f08ee | |||
| 3ded53b18f | |||
| c5afa53ea5 | |||
| 82a93404ae | |||
| d37a350ca6 | |||
| 3ff656c17d | |||
| d3c5895631 | |||
| abf8d98e53 | |||
| 05925d1469 | |||
| 55021a6c6f | |||
| 097bc0ef7e | |||
| 5b975d01b4 | |||
| bc470073f6 | |||
| 92cf0d48e7 |
3
.gitmodules
vendored
Normal file
@@ -0,0 +1,3 @@
|
||||
[submodule "private"]
|
||||
path = private
|
||||
url = https://git.zerojay.com/jay/private.git
|
||||
2
.sops.yaml
Normal file
@@ -0,0 +1,2 @@
|
||||
creation_rules:
|
||||
- age: age1kn9632x2upcckl5jr9h2xda9l9j6r23u3pzjdp4v7vdjs42fpq3qur2qf0
|
||||
67
README.md
@@ -1 +1,66 @@
|
||||
asdasd
|
||||
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
|
||||
|
||||
694
flake.lock
generated
@@ -1,5 +1,92 @@
|
||||
{
|
||||
"nodes": {
|
||||
"auto-cpufreq-stable-nixos": {
|
||||
"inputs": {
|
||||
"nixpkgs": [
|
||||
"nixpkgs"
|
||||
]
|
||||
},
|
||||
"locked": {
|
||||
"lastModified": 1752998173,
|
||||
"narHash": "sha256-ZlYpBp2WOe03UrpjJGz5KTOL/pp7A452hJO/Vc8C4/0=",
|
||||
"owner": "AdnanHodzic",
|
||||
"repo": "auto-cpufreq",
|
||||
"rev": "562278377ffa96f3c1af49c7b499df028ce8d8bd",
|
||||
"type": "github"
|
||||
},
|
||||
"original": {
|
||||
"owner": "AdnanHodzic",
|
||||
"repo": "auto-cpufreq",
|
||||
"type": "github"
|
||||
}
|
||||
},
|
||||
"base16": {
|
||||
"inputs": {
|
||||
"fromYaml": "fromYaml"
|
||||
},
|
||||
"locked": {
|
||||
"lastModified": 1746562888,
|
||||
"narHash": "sha256-YgNJQyB5dQiwavdDFBMNKk1wyS77AtdgDk/VtU6wEaI=",
|
||||
"owner": "SenchoPens",
|
||||
"repo": "base16.nix",
|
||||
"rev": "806a1777a5db2a1ef9d5d6f493ef2381047f2b89",
|
||||
"type": "github"
|
||||
},
|
||||
"original": {
|
||||
"owner": "SenchoPens",
|
||||
"repo": "base16.nix",
|
||||
"type": "github"
|
||||
}
|
||||
},
|
||||
"base16-fish": {
|
||||
"flake": false,
|
||||
"locked": {
|
||||
"lastModified": 1622559957,
|
||||
"narHash": "sha256-PebymhVYbL8trDVVXxCvZgc0S5VxI7I1Hv4RMSquTpA=",
|
||||
"owner": "tomyun",
|
||||
"repo": "base16-fish",
|
||||
"rev": "2f6dd973a9075dabccd26f1cded09508180bf5fe",
|
||||
"type": "github"
|
||||
},
|
||||
"original": {
|
||||
"owner": "tomyun",
|
||||
"repo": "base16-fish",
|
||||
"type": "github"
|
||||
}
|
||||
},
|
||||
"base16-helix": {
|
||||
"flake": false,
|
||||
"locked": {
|
||||
"lastModified": 1748408240,
|
||||
"narHash": "sha256-9M2b1rMyMzJK0eusea0x3lyh3mu5nMeEDSc4RZkGm+g=",
|
||||
"owner": "tinted-theming",
|
||||
"repo": "base16-helix",
|
||||
"rev": "6c711ab1a9db6f51e2f6887cc3345530b33e152e",
|
||||
"type": "github"
|
||||
},
|
||||
"original": {
|
||||
"owner": "tinted-theming",
|
||||
"repo": "base16-helix",
|
||||
"type": "github"
|
||||
}
|
||||
},
|
||||
"base16-vim": {
|
||||
"flake": false,
|
||||
"locked": {
|
||||
"lastModified": 1732806396,
|
||||
"narHash": "sha256-e0bpPySdJf0F68Ndanwm+KWHgQiZ0s7liLhvJSWDNsA=",
|
||||
"owner": "tinted-theming",
|
||||
"repo": "base16-vim",
|
||||
"rev": "577fe8125d74ff456cf942c733a85d769afe58b7",
|
||||
"type": "github"
|
||||
},
|
||||
"original": {
|
||||
"owner": "tinted-theming",
|
||||
"repo": "base16-vim",
|
||||
"rev": "577fe8125d74ff456cf942c733a85d769afe58b7",
|
||||
"type": "github"
|
||||
}
|
||||
},
|
||||
"disko": {
|
||||
"inputs": {
|
||||
"nixpkgs": [
|
||||
@@ -9,11 +96,11 @@
|
||||
]
|
||||
},
|
||||
"locked": {
|
||||
"lastModified": 1734088167,
|
||||
"narHash": "sha256-OIitVU+IstPbX/NWn2jLF+/sT9dVKcO2FKeRAzlyX6c=",
|
||||
"lastModified": 1749200714,
|
||||
"narHash": "sha256-W8KiJIrVwmf43JOPbbTu5lzq+cmdtRqaNbOsZigjioY=",
|
||||
"owner": "nix-community",
|
||||
"repo": "disko",
|
||||
"rev": "d32f2d1750d61a476a236526b725ec5a32e16342",
|
||||
"rev": "17d08c65c241b1d65b3ddf79e3fac1ddc870b0f6",
|
||||
"type": "github"
|
||||
},
|
||||
"original": {
|
||||
@@ -30,11 +117,11 @@
|
||||
]
|
||||
},
|
||||
"locked": {
|
||||
"lastModified": 1750903843,
|
||||
"narHash": "sha256-Ng9+f0H5/dW+mq/XOKvB9uwvGbsuiiO6HrPdAcVglCs=",
|
||||
"lastModified": 1756733629,
|
||||
"narHash": "sha256-dwWGlDhcO5SMIvMSTB4mjQ5Pvo2vtxvpIknhVnSz2I8=",
|
||||
"owner": "nix-community",
|
||||
"repo": "disko",
|
||||
"rev": "83c4da299c1d7d300f8c6fd3a72ac46cb0d59aae",
|
||||
"rev": "a5c4f2ab72e3d1ab43e3e65aa421c6f2bd2e12a1",
|
||||
"type": "github"
|
||||
},
|
||||
"original": {
|
||||
@@ -43,7 +130,41 @@
|
||||
"type": "github"
|
||||
}
|
||||
},
|
||||
"firefox-gnome-theme": {
|
||||
"flake": false,
|
||||
"locked": {
|
||||
"lastModified": 1748383148,
|
||||
"narHash": "sha256-pGvD/RGuuPf/4oogsfeRaeMm6ipUIznI2QSILKjKzeA=",
|
||||
"owner": "rafaelmardojai",
|
||||
"repo": "firefox-gnome-theme",
|
||||
"rev": "4eb2714fbed2b80e234312611a947d6cb7d70caf",
|
||||
"type": "github"
|
||||
},
|
||||
"original": {
|
||||
"owner": "rafaelmardojai",
|
||||
"repo": "firefox-gnome-theme",
|
||||
"type": "github"
|
||||
}
|
||||
},
|
||||
"flake-parts": {
|
||||
"inputs": {
|
||||
"nixpkgs-lib": "nixpkgs-lib"
|
||||
},
|
||||
"locked": {
|
||||
"lastModified": 1754487366,
|
||||
"narHash": "sha256-pHYj8gUBapuUzKV/kN/tR3Zvqc7o6gdFB9XKXIp1SQ8=",
|
||||
"owner": "hercules-ci",
|
||||
"repo": "flake-parts",
|
||||
"rev": "af66ad14b28a127c5c0f3bbb298218fc63528a18",
|
||||
"type": "github"
|
||||
},
|
||||
"original": {
|
||||
"owner": "hercules-ci",
|
||||
"repo": "flake-parts",
|
||||
"type": "github"
|
||||
}
|
||||
},
|
||||
"flake-parts_2": {
|
||||
"inputs": {
|
||||
"nixpkgs-lib": [
|
||||
"nixverse",
|
||||
@@ -52,11 +173,11 @@
|
||||
]
|
||||
},
|
||||
"locked": {
|
||||
"lastModified": 1733312601,
|
||||
"narHash": "sha256-4pDvzqnegAfRkPwO3wmwBhVi/Sye1mzps0zHWYnP88c=",
|
||||
"lastModified": 1748821116,
|
||||
"narHash": "sha256-F82+gS044J1APL0n4hH50GYdPRv/5JWm34oCJYmVKdE=",
|
||||
"owner": "hercules-ci",
|
||||
"repo": "flake-parts",
|
||||
"rev": "205b12d8b7cd4802fbcb8e8ef6a0f1408781a4f9",
|
||||
"rev": "49f0870db23e8c1ca0b5259734a02cd9e1e371a1",
|
||||
"type": "github"
|
||||
},
|
||||
"original": {
|
||||
@@ -65,7 +186,121 @@
|
||||
"type": "github"
|
||||
}
|
||||
},
|
||||
"flake-parts_3": {
|
||||
"inputs": {
|
||||
"nixpkgs-lib": [
|
||||
"stylix-stable-nixos",
|
||||
"nixpkgs"
|
||||
]
|
||||
},
|
||||
"locked": {
|
||||
"lastModified": 1749398372,
|
||||
"narHash": "sha256-tYBdgS56eXYaWVW3fsnPQ/nFlgWi/Z2Ymhyu21zVM98=",
|
||||
"owner": "hercules-ci",
|
||||
"repo": "flake-parts",
|
||||
"rev": "9305fe4e5c2a6fcf5ba6a3ff155720fbe4076569",
|
||||
"type": "github"
|
||||
},
|
||||
"original": {
|
||||
"owner": "hercules-ci",
|
||||
"repo": "flake-parts",
|
||||
"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": {
|
||||
"lastModified": 1731966426,
|
||||
"narHash": "sha256-lq95WydhbUTWig/JpqiB7oViTcHFP8Lv41IGtayokA8=",
|
||||
"owner": "SenchoPens",
|
||||
"repo": "fromYaml",
|
||||
"rev": "106af9e2f715e2d828df706c386a685698f3223b",
|
||||
"type": "github"
|
||||
},
|
||||
"original": {
|
||||
"owner": "SenchoPens",
|
||||
"repo": "fromYaml",
|
||||
"type": "github"
|
||||
}
|
||||
},
|
||||
"gnome-shell": {
|
||||
"flake": false,
|
||||
"locked": {
|
||||
"lastModified": 1744584021,
|
||||
"narHash": "sha256-0RJ4mJzf+klKF4Fuoc8VN8dpQQtZnKksFmR2jhWE1Ew=",
|
||||
"owner": "GNOME",
|
||||
"repo": "gnome-shell",
|
||||
"rev": "52c517c8f6c199a1d6f5118fae500ef69ea845ae",
|
||||
"type": "github"
|
||||
},
|
||||
"original": {
|
||||
"owner": "GNOME",
|
||||
"ref": "48.1",
|
||||
"repo": "gnome-shell",
|
||||
"type": "github"
|
||||
}
|
||||
},
|
||||
"home-manager": {
|
||||
"inputs": {
|
||||
"nixpkgs": [
|
||||
"hyprpanel-stable-nixos",
|
||||
"nixpkgs"
|
||||
]
|
||||
},
|
||||
"locked": {
|
||||
"lastModified": 1750798083,
|
||||
"narHash": "sha256-DTCCcp6WCFaYXWKFRA6fiI2zlvOLCf5Vwx8+/0R8Wc4=",
|
||||
"owner": "nix-community",
|
||||
"repo": "home-manager",
|
||||
"rev": "ff31a4677c1a8ae506aa7e003a3dba08cb203f82",
|
||||
"type": "github"
|
||||
},
|
||||
"original": {
|
||||
"owner": "nix-community",
|
||||
"repo": "home-manager",
|
||||
"type": "github"
|
||||
}
|
||||
},
|
||||
"home-manager-stable-nixos": {
|
||||
"inputs": {
|
||||
"nixpkgs": [
|
||||
"nixpkgs"
|
||||
]
|
||||
},
|
||||
"locked": {
|
||||
"lastModified": 1756679287,
|
||||
"narHash": "sha256-Xd1vOeY9ccDf5VtVK12yM0FS6qqvfUop8UQlxEB+gTQ=",
|
||||
"owner": "nix-community",
|
||||
"repo": "home-manager",
|
||||
"rev": "07fc025fe10487dd80f2ec694f1cd790e752d0e8",
|
||||
"type": "github"
|
||||
},
|
||||
"original": {
|
||||
"owner": "nix-community",
|
||||
"ref": "release-25.05",
|
||||
"repo": "home-manager",
|
||||
"type": "github"
|
||||
}
|
||||
},
|
||||
"home-manager_2": {
|
||||
"inputs": {
|
||||
"nixpkgs": [
|
||||
"zen-browser-stable-nixos",
|
||||
@@ -73,11 +308,11 @@
|
||||
]
|
||||
},
|
||||
"locked": {
|
||||
"lastModified": 1743604125,
|
||||
"narHash": "sha256-ZD61DNbsBt1mQbinAaaEqKaJk2RFo9R/j+eYWeGMx7A=",
|
||||
"lastModified": 1752603129,
|
||||
"narHash": "sha256-S+wmHhwNQ5Ru689L2Gu8n1OD6s9eU9n9mD827JNR+kw=",
|
||||
"owner": "nix-community",
|
||||
"repo": "home-manager",
|
||||
"rev": "180fd43eea296e62ae68e079fcf56aba268b9a1a",
|
||||
"rev": "e8c19a3cec2814c754f031ab3ae7316b64da085b",
|
||||
"type": "github"
|
||||
},
|
||||
"original": {
|
||||
@@ -86,6 +321,41 @@
|
||||
"type": "github"
|
||||
}
|
||||
},
|
||||
"hyprpanel-stable-nixos": {
|
||||
"inputs": {
|
||||
"flake-utils": "flake-utils",
|
||||
"home-manager": "home-manager",
|
||||
"nixpkgs": "nixpkgs"
|
||||
},
|
||||
"locked": {
|
||||
"lastModified": 1755569534,
|
||||
"narHash": "sha256-ukXfV1cAsxoar0IVEO2/s3qnVEZpZf0wvqE3PIESobw=",
|
||||
"owner": "Jas-SinghFSU",
|
||||
"repo": "Hyprpanel",
|
||||
"rev": "6385f2e15df908e0c13bed800f4b091300e5b981",
|
||||
"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",
|
||||
"type": "github"
|
||||
}
|
||||
},
|
||||
"nix-darwin": {
|
||||
"inputs": {
|
||||
"nixpkgs": [
|
||||
@@ -94,11 +364,11 @@
|
||||
]
|
||||
},
|
||||
"locked": {
|
||||
"lastModified": 1750618568,
|
||||
"narHash": "sha256-w9EG5FOXrjXGfbqCcQg9x1lMnTwzNDW5BMXp8ddy15E=",
|
||||
"lastModified": 1751313918,
|
||||
"narHash": "sha256-HsJM3XLa43WpG+665aGEh8iS8AfEwOIQWk3Mke3e7nk=",
|
||||
"owner": "lnl7",
|
||||
"repo": "nix-darwin",
|
||||
"rev": "1dd19f19e4b53a1fd2e8e738a08dd5fe635ec7e5",
|
||||
"rev": "e04a388232d9a6ba56967ce5b53a8a6f713cdfcf",
|
||||
"type": "github"
|
||||
},
|
||||
"original": {
|
||||
@@ -123,10 +393,54 @@
|
||||
"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",
|
||||
"flake-parts": "flake-parts_2",
|
||||
"nix-vm-test": "nix-vm-test",
|
||||
"nixos-images": "nixos-images",
|
||||
"nixos-stable": "nixos-stable",
|
||||
"nixpkgs": [
|
||||
@@ -136,17 +450,32 @@
|
||||
"treefmt-nix": "treefmt-nix"
|
||||
},
|
||||
"locked": {
|
||||
"lastModified": 1740657886,
|
||||
"narHash": "sha256-7kHxBQuzb7gcHzVmLGljJ4kF6BDDSYVCIxYFDmYPnAo=",
|
||||
"lastModified": 1750078927,
|
||||
"narHash": "sha256-7iTUVUP6xgEYXdl9aCYBbYMYVsQmOvMoLUsUS2aoDNA=",
|
||||
"owner": "nix-community",
|
||||
"repo": "nixos-anywhere",
|
||||
"rev": "77e6a4e14baa93a29952ea9f0e4a59a29cca09e9",
|
||||
"rev": "ff87db6a952191648ffaea97ec5559784c7223c6",
|
||||
"type": "github"
|
||||
},
|
||||
"original": {
|
||||
"owner": "nix-community",
|
||||
"repo": "nixos-anywhere",
|
||||
"rev": "77e6a4e14baa93a29952ea9f0e4a59a29cca09e9",
|
||||
"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",
|
||||
"type": "github"
|
||||
}
|
||||
},
|
||||
@@ -164,11 +493,11 @@
|
||||
]
|
||||
},
|
||||
"locked": {
|
||||
"lastModified": 1740452541,
|
||||
"narHash": "sha256-aa5gPveHysMTVkxj+0iH0BdcSn8+v8lZPud+IItOSaQ=",
|
||||
"lastModified": 1749086071,
|
||||
"narHash": "sha256-4+fY7i+q78F3t6APz0cMC4kRxsyCb+UTyfhbckkCd7Q=",
|
||||
"owner": "nix-community",
|
||||
"repo": "nixos-images",
|
||||
"rev": "283bbacb81bd2c1a7b89f33e011ecabe398a564e",
|
||||
"rev": "aa38dbbdf0e955baef7e03dfc4265ae3fdac4808",
|
||||
"type": "github"
|
||||
},
|
||||
"original": {
|
||||
@@ -179,41 +508,58 @@
|
||||
},
|
||||
"nixos-stable": {
|
||||
"locked": {
|
||||
"lastModified": 1733808091,
|
||||
"narHash": "sha256-KWwINTQelKOoQgrXftxoqxmKFZb9pLVfnRvK270nkVk=",
|
||||
"lastModified": 1749086602,
|
||||
"narHash": "sha256-DJcgJMekoxVesl9kKjfLPix2Nbr42i7cpEHJiTnBUwU=",
|
||||
"owner": "NixOS",
|
||||
"repo": "nixpkgs",
|
||||
"rev": "a0f3e10d94359665dba45b71b4227b0aeb851f8e",
|
||||
"rev": "4792576cb003c994bd7cc1edada3129def20b27d",
|
||||
"type": "github"
|
||||
},
|
||||
"original": {
|
||||
"owner": "NixOS",
|
||||
"ref": "nixos-24.11",
|
||||
"ref": "nixos-25.05",
|
||||
"repo": "nixpkgs",
|
||||
"type": "github"
|
||||
}
|
||||
},
|
||||
"nixpkgs": {
|
||||
"locked": {
|
||||
"lastModified": 1750994206,
|
||||
"narHash": "sha256-3u6rEbIX9CN/5A5/mc3u0wIO1geZ0EhjvPBXmRDHqWM=",
|
||||
"owner": "NixOS",
|
||||
"lastModified": 1750776420,
|
||||
"narHash": "sha256-/CG+w0o0oJ5itVklOoLbdn2dGB0wbZVOoDm4np6w09A=",
|
||||
"owner": "nixos",
|
||||
"repo": "nixpkgs",
|
||||
"rev": "80d50fc87924c2a0d346372d242c27973cf8cdbf",
|
||||
"rev": "30a61f056ac492e3b7cdcb69c1e6abdcf00e39cf",
|
||||
"type": "github"
|
||||
},
|
||||
"original": {
|
||||
"id": "nixpkgs",
|
||||
"type": "indirect"
|
||||
"owner": "nixos",
|
||||
"ref": "nixos-unstable",
|
||||
"repo": "nixpkgs",
|
||||
"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": 1750969886,
|
||||
"narHash": "sha256-zW/OFnotiz/ndPFdebpo3X0CrbVNf22n4DjN2vxlb58=",
|
||||
"lastModified": 1756886854,
|
||||
"narHash": "sha256-6tooT142NLcFjt24Gi4B0G1pgWLvfw7y93sYEfSHlLI=",
|
||||
"owner": "nixos",
|
||||
"repo": "nixpkgs",
|
||||
"rev": "a676066377a2fe7457369dd37c31fd2263b662f4",
|
||||
"rev": "0e6684e6c5755325f801bda1751a8a4038145d7d",
|
||||
"type": "github"
|
||||
},
|
||||
"original": {
|
||||
@@ -223,6 +569,36 @@
|
||||
"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=",
|
||||
"owner": "NixOS",
|
||||
"repo": "nixpkgs",
|
||||
"rev": "aaff8c16d7fc04991cac6245bee1baa31f72b1e1",
|
||||
"type": "github"
|
||||
},
|
||||
"original": {
|
||||
"id": "nixpkgs",
|
||||
"type": "indirect"
|
||||
}
|
||||
},
|
||||
"nixverse": {
|
||||
"inputs": {
|
||||
"nix-darwin": "nix-darwin",
|
||||
@@ -232,29 +608,231 @@
|
||||
]
|
||||
},
|
||||
"locked": {
|
||||
"lastModified": 1751120324,
|
||||
"narHash": "sha256-rxxKJxxNSTPzA6q2uRCp42RqnVdJfPQQqSbFRlaUMko=",
|
||||
"lastModified": 1751773294,
|
||||
"narHash": "sha256-7SOb5tc8FARZHUBr8HeCO5016lpiG+S1qugQQdXzF/w=",
|
||||
"owner": "hgl",
|
||||
"repo": "nixverse",
|
||||
"rev": "04fce491c980711453df9b7e9e2006c71613baee",
|
||||
"rev": "084a07f43829857fc760e70212c497d2f40eaa3c",
|
||||
"type": "github"
|
||||
},
|
||||
"original": {
|
||||
"owner": "hgl",
|
||||
"ref": "084a07f43829857fc760e70212c497d2f40eaa3c",
|
||||
"repo": "nixverse",
|
||||
"type": "github"
|
||||
}
|
||||
},
|
||||
"nur": {
|
||||
"inputs": {
|
||||
"flake-parts": [
|
||||
"stylix-stable-nixos",
|
||||
"flake-parts"
|
||||
],
|
||||
"nixpkgs": [
|
||||
"stylix-stable-nixos",
|
||||
"nixpkgs"
|
||||
],
|
||||
"treefmt-nix": "treefmt-nix_2"
|
||||
},
|
||||
"locked": {
|
||||
"lastModified": 1751320053,
|
||||
"narHash": "sha256-3m6RMw0FbbaUUa01PNaMLoO7D99aBClmY5ed9V3vz+0=",
|
||||
"owner": "nix-community",
|
||||
"repo": "NUR",
|
||||
"rev": "cbde1735782f9c2bb2c63d5e05fba171a14a4670",
|
||||
"type": "github"
|
||||
},
|
||||
"original": {
|
||||
"owner": "nix-community",
|
||||
"repo": "NUR",
|
||||
"type": "github"
|
||||
}
|
||||
},
|
||||
"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",
|
||||
"nixpkgs": "nixpkgs",
|
||||
"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",
|
||||
"base16-fish": "base16-fish",
|
||||
"base16-helix": "base16-helix",
|
||||
"base16-vim": "base16-vim",
|
||||
"firefox-gnome-theme": "firefox-gnome-theme",
|
||||
"flake-parts": "flake-parts_3",
|
||||
"gnome-shell": "gnome-shell",
|
||||
"nixpkgs": [
|
||||
"nixpkgs"
|
||||
],
|
||||
"nur": "nur",
|
||||
"systems": "systems_2",
|
||||
"tinted-foot": "tinted-foot",
|
||||
"tinted-kitty": "tinted-kitty",
|
||||
"tinted-schemes": "tinted-schemes",
|
||||
"tinted-tmux": "tinted-tmux",
|
||||
"tinted-zed": "tinted-zed"
|
||||
},
|
||||
"locked": {
|
||||
"lastModified": 1756812894,
|
||||
"narHash": "sha256-wZfNe3ms+dS2cUEGe8ygqNxBHGQCRoJQuQM9xFgGad0=",
|
||||
"owner": "danth",
|
||||
"repo": "stylix",
|
||||
"rev": "a9553a7486c86259b7678235cc26cfd70296251d",
|
||||
"type": "github"
|
||||
},
|
||||
"original": {
|
||||
"owner": "danth",
|
||||
"ref": "release-25.05",
|
||||
"repo": "stylix",
|
||||
"type": "github"
|
||||
}
|
||||
},
|
||||
"systems": {
|
||||
"locked": {
|
||||
"lastModified": 1681028828,
|
||||
"narHash": "sha256-Vy1rq5AaRuLzOxct8nz4T6wlgyUR7zLU309k9mBC768=",
|
||||
"owner": "nix-systems",
|
||||
"repo": "default",
|
||||
"rev": "da67096a3b9bf56a91d16901293e51ba5b49a27e",
|
||||
"type": "github"
|
||||
},
|
||||
"original": {
|
||||
"owner": "nix-systems",
|
||||
"repo": "default",
|
||||
"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": {
|
||||
"lastModified": 1726913040,
|
||||
"narHash": "sha256-+eDZPkw7efMNUf3/Pv0EmsidqdwNJ1TaOum6k7lngDQ=",
|
||||
"owner": "tinted-theming",
|
||||
"repo": "tinted-foot",
|
||||
"rev": "fd1b924b6c45c3e4465e8a849e67ea82933fcbe4",
|
||||
"type": "github"
|
||||
},
|
||||
"original": {
|
||||
"owner": "tinted-theming",
|
||||
"repo": "tinted-foot",
|
||||
"rev": "fd1b924b6c45c3e4465e8a849e67ea82933fcbe4",
|
||||
"type": "github"
|
||||
}
|
||||
},
|
||||
"tinted-kitty": {
|
||||
"flake": false,
|
||||
"locked": {
|
||||
"lastModified": 1735730497,
|
||||
"narHash": "sha256-4KtB+FiUzIeK/4aHCKce3V9HwRvYaxX+F1edUrfgzb8=",
|
||||
"owner": "tinted-theming",
|
||||
"repo": "tinted-kitty",
|
||||
"rev": "de6f888497f2c6b2279361bfc790f164bfd0f3fa",
|
||||
"type": "github"
|
||||
},
|
||||
"original": {
|
||||
"owner": "tinted-theming",
|
||||
"repo": "tinted-kitty",
|
||||
"type": "github"
|
||||
}
|
||||
},
|
||||
"tinted-schemes": {
|
||||
"flake": false,
|
||||
"locked": {
|
||||
"lastModified": 1750770351,
|
||||
"narHash": "sha256-LI+BnRoFNRa2ffbe3dcuIRYAUcGklBx0+EcFxlHj0SY=",
|
||||
"owner": "tinted-theming",
|
||||
"repo": "schemes",
|
||||
"rev": "5a775c6ffd6e6125947b393872cde95867d85a2a",
|
||||
"type": "github"
|
||||
},
|
||||
"original": {
|
||||
"owner": "tinted-theming",
|
||||
"repo": "schemes",
|
||||
"type": "github"
|
||||
}
|
||||
},
|
||||
"tinted-tmux": {
|
||||
"flake": false,
|
||||
"locked": {
|
||||
"lastModified": 1751159871,
|
||||
"narHash": "sha256-UOHBN1fgHIEzvPmdNMHaDvdRMgLmEJh2hNmDrp3d3LE=",
|
||||
"owner": "tinted-theming",
|
||||
"repo": "tinted-tmux",
|
||||
"rev": "bded5e24407cec9d01bd47a317d15b9223a1546c",
|
||||
"type": "github"
|
||||
},
|
||||
"original": {
|
||||
"owner": "tinted-theming",
|
||||
"repo": "tinted-tmux",
|
||||
"type": "github"
|
||||
}
|
||||
},
|
||||
"tinted-zed": {
|
||||
"flake": false,
|
||||
"locked": {
|
||||
"lastModified": 1751158968,
|
||||
"narHash": "sha256-ksOyv7D3SRRtebpXxgpG4TK8gZSKFc4TIZpR+C98jX8=",
|
||||
"owner": "tinted-theming",
|
||||
"repo": "base16-zed",
|
||||
"rev": "86a470d94204f7652b906ab0d378e4231a5b3384",
|
||||
"type": "github"
|
||||
},
|
||||
"original": {
|
||||
"owner": "tinted-theming",
|
||||
"repo": "base16-zed",
|
||||
"type": "github"
|
||||
}
|
||||
},
|
||||
"treefmt-nix": {
|
||||
"inputs": {
|
||||
"nixpkgs": [
|
||||
@@ -264,11 +842,33 @@
|
||||
]
|
||||
},
|
||||
"locked": {
|
||||
"lastModified": 1733761991,
|
||||
"narHash": "sha256-s4DalCDepD22jtKL5Nw6f4LP5UwoMcPzPZgHWjAfqbQ=",
|
||||
"lastModified": 1749194973,
|
||||
"narHash": "sha256-eEy8cuS0mZ2j/r/FE0/LYBSBcIs/MKOIVakwHVuqTfk=",
|
||||
"owner": "numtide",
|
||||
"repo": "treefmt-nix",
|
||||
"rev": "0ce9d149d99bc383d1f2d85f31f6ebd146e46085",
|
||||
"rev": "a05be418a1af1198ca0f63facb13c985db4cb3c5",
|
||||
"type": "github"
|
||||
},
|
||||
"original": {
|
||||
"owner": "numtide",
|
||||
"repo": "treefmt-nix",
|
||||
"type": "github"
|
||||
}
|
||||
},
|
||||
"treefmt-nix_2": {
|
||||
"inputs": {
|
||||
"nixpkgs": [
|
||||
"stylix-stable-nixos",
|
||||
"nur",
|
||||
"nixpkgs"
|
||||
]
|
||||
},
|
||||
"locked": {
|
||||
"lastModified": 1733222881,
|
||||
"narHash": "sha256-JIPcz1PrpXUCbaccEnrcUS8jjEb/1vJbZz5KkobyFdM=",
|
||||
"owner": "numtide",
|
||||
"repo": "treefmt-nix",
|
||||
"rev": "49717b5af6f80172275d47a418c9719a31a78b53",
|
||||
"type": "github"
|
||||
},
|
||||
"original": {
|
||||
@@ -279,17 +879,17 @@
|
||||
},
|
||||
"zen-browser-stable-nixos": {
|
||||
"inputs": {
|
||||
"home-manager": "home-manager",
|
||||
"home-manager": "home-manager_2",
|
||||
"nixpkgs": [
|
||||
"nixpkgs"
|
||||
]
|
||||
},
|
||||
"locked": {
|
||||
"lastModified": 1751161919,
|
||||
"narHash": "sha256-t08tIneq3fcA2eRZVMR6Kt1MCJHpPwc+5pDHGVOJUbA=",
|
||||
"lastModified": 1756941389,
|
||||
"narHash": "sha256-r7Km2PY1gxpNmq7dPbs89JiyHiJ5zRCF6cBPyb2WWGY=",
|
||||
"owner": "0xc000022070",
|
||||
"repo": "zen-browser-flake",
|
||||
"rev": "0210fe94de8d6825ceb15249bf03840c8ca44e2b",
|
||||
"rev": "d197dd7556567a7a4174dee543286e5e65198379",
|
||||
"type": "github"
|
||||
},
|
||||
"original": {
|
||||
|
||||
47
flake.nix
@@ -2,21 +2,66 @@
|
||||
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";
|
||||
url = "github:hgl/nixverse?ref=084a07f43829857fc760e70212c497d2f40eaa3c";
|
||||
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";
|
||||
inputs.nixpkgs.follows = "nixpkgs";
|
||||
};
|
||||
|
||||
hyprpanel-stable-nixos = {
|
||||
url = "github:Jas-SinghFSU/Hyprpanel";
|
||||
};
|
||||
|
||||
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";
|
||||
inputs.nixpkgs.follows = "nixpkgs";
|
||||
};
|
||||
|
||||
zen-browser-stable-nixos = {
|
||||
#url = "github:0xc000022070/zen-browser-flake?ref=ea79cbda8e685dd0f9c6e88adcfa7762a83e9067";
|
||||
url = "github:0xc000022070/zen-browser-flake";
|
||||
inputs.nixpkgs.follows = "nixpkgs";
|
||||
};
|
||||
|
||||
@@ -1,38 +1,43 @@
|
||||
{ pkgs, inputs, ... }:
|
||||
{ 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
|
||||
./programs/gaming.nix
|
||||
./programs/general.nix
|
||||
./programs/git.nix
|
||||
./programs/gstreamer.nix
|
||||
./programs/hyprland.nix
|
||||
./programs/kde.nix
|
||||
./programs/obs-studio.nix
|
||||
./programs/open-tv.nix
|
||||
./programs/session-desktop.nix
|
||||
./programs/steam.nix
|
||||
./programs/zen-browser.nix
|
||||
./scripts/upgrade-diff.nix
|
||||
./services/blueman.nix
|
||||
./services/cups.nix
|
||||
./services/desktopmanager.nix
|
||||
./services/displaymanager.nix
|
||||
./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
|
||||
];
|
||||
|
||||
nixpkgs = {
|
||||
config.allowUnfree = true;
|
||||
};
|
||||
|
||||
nix = {
|
||||
gc.options = "--delete-older-than 30d";
|
||||
optimise.automatic = true;
|
||||
extraOptions = ''
|
||||
experimental-features = nix-command flakes
|
||||
'';
|
||||
};
|
||||
}
|
||||
|
||||
|
||||
77
nodes/hosts/common/home/jay/home.nix
Normal file
@@ -0,0 +1,77 @@
|
||||
{ pkgs, inputs, ... }:
|
||||
|
||||
{
|
||||
# Home Manager needs a bit of information about you and the paths it should
|
||||
# manag:e.
|
||||
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
|
||||
];
|
||||
|
||||
|
||||
# This value determines the Home Manager release that your configuration is
|
||||
# compatible with. This helps avoid breakage when a new Home Manager release
|
||||
# introduces backwards incompatible changes.
|
||||
#
|
||||
# You should not change this value, even if you update Home Manager. If you do
|
||||
# want to update the value, then make sure to first check the Home Manager
|
||||
# release notes.
|
||||
home.stateVersion = "24.11"; # Please read the comment before changing.
|
||||
|
||||
# The home.packages option allows you to install Nix packages into your
|
||||
# environment.
|
||||
home.packages = [
|
||||
pkgs.libgtop
|
||||
pkgs.powertop
|
||||
pkgs.upower
|
||||
#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;
|
||||
};
|
||||
|
||||
home.sessionVariables = {
|
||||
EDITOR = "nano";
|
||||
};
|
||||
|
||||
# Let Home Manager install and manage itself.
|
||||
programs.home-manager.enable = true;
|
||||
|
||||
# programs.starship.presets = [ "nerd-font-symbols" ];
|
||||
|
||||
}
|
||||
|
||||
12
nodes/hosts/common/home/jay/programs/alacritty.nix
Normal file
@@ -0,0 +1,12 @@
|
||||
{ lib, ... }: {
|
||||
programs.alacritty = lib.mkForce {
|
||||
enable = true;
|
||||
settings = {
|
||||
window.opacity = 0.05;
|
||||
font.normal = {
|
||||
family = "BigBlueTermPlus Nerd Font";
|
||||
style = "Regular";
|
||||
};
|
||||
};
|
||||
};
|
||||
}
|
||||
3
nodes/hosts/common/home/jay/programs/bash.nix
Normal file
@@ -0,0 +1,3 @@
|
||||
{ ... }: {
|
||||
programs.bash.enable = true;
|
||||
}
|
||||
10
nodes/hosts/common/home/jay/programs/btop.nix
Normal file
@@ -0,0 +1,10 @@
|
||||
{ ... }: {
|
||||
programs.btop = {
|
||||
enable = true;
|
||||
settings = {
|
||||
color_theme = "stylix";
|
||||
theme_background = false;
|
||||
};
|
||||
};
|
||||
}
|
||||
|
||||
9
nodes/hosts/common/home/jay/programs/discord.nix
Normal file
@@ -0,0 +1,9 @@
|
||||
{ pkgs, ... }: {
|
||||
home.packages = [
|
||||
pkgs.betterdiscordctl
|
||||
pkgs.discord
|
||||
pkgs.legcord
|
||||
pkgs.discover-overlay
|
||||
];
|
||||
}
|
||||
|
||||
5
nodes/hosts/common/home/jay/programs/emacs.nix
Normal file
@@ -0,0 +1,5 @@
|
||||
{ ... }: {
|
||||
programs.emacs = {
|
||||
enable = true;
|
||||
};
|
||||
}
|
||||
12
nodes/hosts/common/home/jay/programs/git.nix
Normal file
@@ -0,0 +1,12 @@
|
||||
{ pkgs, ...}: {
|
||||
programs.git = {
|
||||
enable = true;
|
||||
userEmail = "jay@zerojay.com";
|
||||
userName = "jay";
|
||||
extraConfig = {
|
||||
credential.helper = "${
|
||||
pkgs.git.override { withLibsecret = true; }
|
||||
}/bin/git-credential-libsecret";
|
||||
};
|
||||
};
|
||||
}
|
||||
235
nodes/hosts/common/home/jay/programs/hyprland.nix
Normal file
@@ -0,0 +1,235 @@
|
||||
{ ... }: {
|
||||
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)$"
|
||||
];
|
||||
};
|
||||
};
|
||||
}
|
||||
3
nodes/hosts/common/home/jay/programs/hyprlock.nix
Normal file
@@ -0,0 +1,3 @@
|
||||
{ ... }: {
|
||||
programs.hyprlock.enable = true;
|
||||
}
|
||||
511
nodes/hosts/common/home/jay/programs/hyprpanel.nix
Normal file
@@ -0,0 +1,511 @@
|
||||
{ ... }: {
|
||||
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";
|
||||
};
|
||||
};
|
||||
}
|
||||
|
||||
3
nodes/hosts/common/home/jay/programs/lazygit.nix
Normal file
@@ -0,0 +1,3 @@
|
||||
{ ... }: {
|
||||
programs.lazygit.enable = true;
|
||||
}
|
||||
16
nodes/hosts/common/home/jay/programs/mangohud.nix
Normal file
@@ -0,0 +1,16 @@
|
||||
{ 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;
|
||||
};
|
||||
};
|
||||
}
|
||||
36
nodes/hosts/common/home/jay/programs/nixcord.nix
Normal file
@@ -0,0 +1,36 @@
|
||||
{ ... }: {
|
||||
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;
|
||||
};
|
||||
};
|
||||
};
|
||||
}
|
||||
7
nodes/hosts/common/home/jay/programs/oh-my-posh.nix
Normal file
@@ -0,0 +1,7 @@
|
||||
{ ... }: {
|
||||
programs.oh-my-posh = {
|
||||
enable = true;
|
||||
enableBashIntegration = true;
|
||||
useTheme = "blueish";
|
||||
};
|
||||
}
|
||||
6
nodes/hosts/common/home/jay/programs/qutebrowser.nix
Normal file
@@ -0,0 +1,6 @@
|
||||
{ ... }: {
|
||||
programs.qutebrowser = {
|
||||
enable = true;
|
||||
};
|
||||
}
|
||||
|
||||
3
nodes/hosts/common/home/jay/programs/rbw.nix
Normal file
@@ -0,0 +1,3 @@
|
||||
{ ... }: {
|
||||
programs.rbw.enable = true;
|
||||
}
|
||||
6
nodes/hosts/common/home/jay/programs/rofi.nix
Normal file
@@ -0,0 +1,6 @@
|
||||
{ pkgs, ...} : {
|
||||
programs.rofi = {
|
||||
enable = true;
|
||||
package = pkgs.rofi-wayland;
|
||||
};
|
||||
}
|
||||
16
nodes/hosts/common/home/jay/programs/stylix.nix
Normal file
@@ -0,0 +1,16 @@
|
||||
{ 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;
|
||||
};
|
||||
};
|
||||
}
|
||||
18
nodes/hosts/common/home/jay/programs/yazi.nix
Normal file
@@ -0,0 +1,18 @@
|
||||
{ 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;
|
||||
};
|
||||
};
|
||||
}
|
||||
3
nodes/hosts/common/home/jay/services/arrpc.nix
Normal file
@@ -0,0 +1,3 @@
|
||||
{ ... }: {
|
||||
services.arrpc.enable = true;
|
||||
}
|
||||
6
nodes/hosts/common/home/jay/services/fluidsynth.nix
Normal file
@@ -0,0 +1,6 @@
|
||||
{ ... }: {
|
||||
services.fluidsynth = {
|
||||
enable = true;
|
||||
soundService = "pipewire-pulse";
|
||||
};
|
||||
}
|
||||
17
nodes/hosts/common/home/jay/services/hypridle.nix
Normal file
@@ -0,0 +1,17 @@
|
||||
{ ... }: {
|
||||
services.hypridle = {
|
||||
enable = true;
|
||||
settings = {
|
||||
general = {
|
||||
lock_cmd = "pidof hyprlock || hyprlock";
|
||||
};
|
||||
|
||||
listener = [
|
||||
{
|
||||
timeout = 300;
|
||||
on-timeout = "loginctl lock-session";
|
||||
}
|
||||
];
|
||||
};
|
||||
};
|
||||
}
|
||||
5
nodes/hosts/common/programs/appimage.nix
Normal file
@@ -0,0 +1,5 @@
|
||||
{ ... }: {
|
||||
programs.appimage.enable = true;
|
||||
programs.appimage.binfmt = true;
|
||||
}
|
||||
|
||||
40
nodes/hosts/common/programs/appimages/drop.nix
Normal file
@@ -0,0 +1,40 @@
|
||||
{ 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;})
|
||||
];
|
||||
}
|
||||
11
nodes/hosts/common/programs/drop.nix
Normal file
@@ -0,0 +1,11 @@
|
||||
{ pkgs, lib, inputs, ... }:
|
||||
|
||||
let
|
||||
dropApp = import ./appimages/drop.nix { inherit pkgs; };
|
||||
in
|
||||
{
|
||||
# ...
|
||||
environment.systemPackages = with pkgs; [
|
||||
dropApp
|
||||
];
|
||||
}
|
||||
@@ -1,4 +1,4 @@
|
||||
{ pkgs, inputs, ... }: {
|
||||
{ pkgs, ... }: {
|
||||
# List packages installed in system profile. To search, run:
|
||||
# $ nix search wget
|
||||
environment.systemPackages = [
|
||||
@@ -13,5 +13,9 @@
|
||||
services.flatpak.packages = [
|
||||
"io.github.ryubing.Ryujinx"
|
||||
];
|
||||
|
||||
environment.shellAliases = {
|
||||
ryujinx = "flatpak run io.github.ryubing.Ryujinx";
|
||||
};
|
||||
}
|
||||
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
{ pkgs, ... }: {
|
||||
{ ... }: {
|
||||
programs.firefox.enable = true;
|
||||
}
|
||||
|
||||
|
||||
84
nodes/hosts/common/programs/fonts.nix
Normal file
@@ -0,0 +1,84 @@
|
||||
{ pkgs, ... }: {
|
||||
fonts.packages = [
|
||||
pkgs.adwaita-fonts
|
||||
pkgs.anakron
|
||||
pkgs.nerd-fonts._0xproto
|
||||
pkgs.nerd-fonts._3270
|
||||
pkgs.nerd-fonts.agave
|
||||
pkgs.nerd-fonts.anonymice
|
||||
pkgs.nerd-fonts.arimo
|
||||
pkgs.nerd-fonts.aurulent-sans-mono
|
||||
pkgs.nerd-fonts.bigblue-terminal
|
||||
pkgs.nerd-fonts.bitstream-vera-sans-mono
|
||||
pkgs.nerd-fonts.blex-mono
|
||||
pkgs.nerd-fonts.caskaydia-cove
|
||||
pkgs.nerd-fonts.caskaydia-mono
|
||||
pkgs.nerd-fonts.code-new-roman
|
||||
pkgs.nerd-fonts.comic-shanns-mono
|
||||
pkgs.nerd-fonts.commit-mono
|
||||
pkgs.nerd-fonts.cousine
|
||||
pkgs.nerd-fonts.d2coding
|
||||
pkgs.nerd-fonts.daddy-time-mono
|
||||
pkgs.nerd-fonts.departure-mono
|
||||
pkgs.nerd-fonts.dejavu-sans-mono
|
||||
pkgs.nerd-fonts.droid-sans-mono
|
||||
pkgs.nerd-fonts.envy-code-r
|
||||
pkgs.nerd-fonts.fantasque-sans-mono
|
||||
pkgs.nerd-fonts.fira-code
|
||||
pkgs.nerd-fonts.fira-mono
|
||||
pkgs.nerd-fonts.geist-mono
|
||||
pkgs.nerd-fonts.go-mono
|
||||
pkgs.nerd-fonts.gohufont
|
||||
pkgs.nerd-fonts.hack
|
||||
pkgs.nerd-fonts.hasklug
|
||||
pkgs.nerd-fonts.heavy-data
|
||||
pkgs.nerd-fonts.hurmit
|
||||
pkgs.nerd-fonts.im-writing
|
||||
pkgs.nerd-fonts.inconsolata
|
||||
pkgs.nerd-fonts.inconsolata-go
|
||||
pkgs.nerd-fonts.inconsolata-lgc
|
||||
pkgs.nerd-fonts.intone-mono
|
||||
pkgs.nerd-fonts.iosevka
|
||||
pkgs.nerd-fonts.iosevka-term
|
||||
pkgs.nerd-fonts.iosevka-term-slab
|
||||
pkgs.nerd-fonts.jetbrains-mono
|
||||
pkgs.nerd-fonts.lekton
|
||||
pkgs.nerd-fonts.liberation
|
||||
pkgs.nerd-fonts.lilex
|
||||
pkgs.nerd-fonts.martian-mono
|
||||
pkgs.nerd-fonts.meslo-lg
|
||||
pkgs.nerd-fonts.monaspace
|
||||
pkgs.nerd-fonts.monofur
|
||||
pkgs.nerd-fonts.monoid
|
||||
pkgs.nerd-fonts.mononoki
|
||||
pkgs.nerd-fonts.noto
|
||||
pkgs.nerd-fonts.open-dyslexic
|
||||
pkgs.nerd-fonts.overpass
|
||||
pkgs.nerd-fonts.profont
|
||||
pkgs.nerd-fonts.proggy-clean-tt
|
||||
pkgs.nerd-fonts.recursive-mono
|
||||
pkgs.nerd-fonts.roboto-mono
|
||||
pkgs.nerd-fonts.shure-tech-mono
|
||||
pkgs.nerd-fonts.sauce-code-pro
|
||||
pkgs.nerd-fonts.space-mono
|
||||
pkgs.nerd-fonts.symbols-only
|
||||
pkgs.nerd-fonts.terminess-ttf
|
||||
pkgs.nerd-fonts.tinos
|
||||
pkgs.nerd-fonts.ubuntu
|
||||
pkgs.nerd-fonts.ubuntu-mono
|
||||
pkgs.nerd-fonts.ubuntu-sans
|
||||
pkgs.nerd-fonts.victor-mono
|
||||
pkgs.nerd-fonts.zed-mono
|
||||
pkgs.noto-fonts
|
||||
pkgs.noto-fonts-cjk-sans
|
||||
pkgs.noto-fonts-emoji
|
||||
pkgs.liberation_ttf
|
||||
pkgs.fira-code
|
||||
pkgs.fira-code-symbols
|
||||
pkgs.mplus-outline-fonts.githubRelease
|
||||
pkgs.dina-font
|
||||
pkgs.proggyfonts
|
||||
pkgs.font-awesome
|
||||
];
|
||||
}
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
{ pkgs, ... }: {
|
||||
{ pkgs, pkgs-unstable, ... }: {
|
||||
# List packages installed in system profile. To search, run:
|
||||
# $ nix search wget
|
||||
environment.systemPackages = [
|
||||
@@ -11,6 +11,8 @@
|
||||
pkgs.protonup-qt
|
||||
pkgs.wineWowPackages.stable
|
||||
pkgs.winetricks
|
||||
pkgs-unstable.nero-umu
|
||||
pkgs-unstable.protonplus
|
||||
];
|
||||
}
|
||||
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
{ config, inputs, lib, pkgs, ... }: {
|
||||
{ pkgs, pkgs', ... }: {
|
||||
# List packages installed in system profile. To search, run:
|
||||
# $ nix search wget
|
||||
|
||||
@@ -11,19 +11,21 @@
|
||||
|
||||
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.gpustat
|
||||
pkgs.gnumake
|
||||
#pkgs.gpustat
|
||||
pkgs.hdrop
|
||||
pkgs.htop
|
||||
pkgs.libmpg123
|
||||
@@ -31,11 +33,14 @@
|
||||
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
|
||||
@@ -45,12 +50,15 @@
|
||||
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.xorg.xev
|
||||
pkgs.zip
|
||||
pkgs'.nixverse
|
||||
];
|
||||
}
|
||||
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
{ pkgs, ... }: {
|
||||
{ ... }: {
|
||||
programs.git.enable = true;
|
||||
}
|
||||
|
||||
|
||||
15
nodes/hosts/common/programs/gstreamer.nix
Normal file
@@ -0,0 +1,15 @@
|
||||
{ pkgs, ... }: {
|
||||
# List packages installed in system profile. To search, run:
|
||||
# $ nix search wget
|
||||
|
||||
environment.systemPackages = [
|
||||
pkgs.gst_all_1.gstreamer
|
||||
pkgs.gst_all_1.gst-plugins-base
|
||||
pkgs.gst_all_1.gst-plugins-good
|
||||
pkgs.gst_all_1.gst-plugins-bad
|
||||
pkgs.gst_all_1.gst-plugins-ugly
|
||||
pkgs.gst_all_1.gst-libav
|
||||
pkgs.gst_all_1.gst-vaapi
|
||||
];
|
||||
}
|
||||
|
||||
29
nodes/hosts/common/programs/hyprland.nix
Normal file
@@ -0,0 +1,29 @@
|
||||
{ pkgs, ... }: {
|
||||
# Install hyprland
|
||||
programs.hyprland = {
|
||||
enable = true;
|
||||
#package = inputs.hyprland.packages."${pkgs.system}".hyprland;
|
||||
xwayland.enable = true;
|
||||
};
|
||||
|
||||
xdg.portal.enable = true;
|
||||
|
||||
programs.hyprlock.enable = true;
|
||||
environment.systemPackages = [
|
||||
# Fix for hyprpanel network icon
|
||||
pkgs.adwaita-icon-theme
|
||||
pkgs.cava
|
||||
pkgs.grim
|
||||
pkgs.hyprpicker
|
||||
pkgs.hyprshot
|
||||
pkgs.jq
|
||||
pkgs.libnotify
|
||||
pkgs.swww
|
||||
pkgs.wl-clipboard
|
||||
pkgs.wlr-randr
|
||||
pkgs.xdg-desktop-portal-gtk
|
||||
pkgs.xdg-desktop-portal-wlr
|
||||
pkgs.xdotool
|
||||
];
|
||||
}
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
{ pkgs, inputs, ... }: {
|
||||
{ pkgs, ... }: {
|
||||
# List packages installed in system profile. To search, run:
|
||||
# $ nix search wget
|
||||
environment.systemPackages = [
|
||||
|
||||
17
nodes/hosts/common/programs/obs-studio.nix
Normal file
@@ -0,0 +1,17 @@
|
||||
{ pkgs, ... }: {
|
||||
programs.obs-studio = {
|
||||
enable = true;
|
||||
package = (pkgs.obs-studio.override {
|
||||
cudaSupport = true;
|
||||
});
|
||||
|
||||
plugins = with pkgs.obs-studio-plugins; [
|
||||
wlrobs
|
||||
obs-backgroundremoval
|
||||
obs-pipewire-audio-capture
|
||||
obs-vkcapture
|
||||
advanced-scene-switcher
|
||||
];
|
||||
};
|
||||
}
|
||||
|
||||
10
nodes/hosts/common/programs/open-tv.nix
Normal file
@@ -0,0 +1,10 @@
|
||||
{ ... }: {
|
||||
services.flatpak.packages = [
|
||||
"dev.fredol.open-tv"
|
||||
];
|
||||
|
||||
environment.shellAliases = {
|
||||
open-tv = "flatpak run dev.fredol.open-tv";
|
||||
};
|
||||
}
|
||||
|
||||
@@ -2,7 +2,10 @@
|
||||
# Install steam.
|
||||
programs = {
|
||||
gamemode.enable = true;
|
||||
gamescope.enable = true;
|
||||
gamescope = {
|
||||
enable = true;
|
||||
capSysNice = true;
|
||||
};
|
||||
|
||||
steam = {
|
||||
enable = true;
|
||||
@@ -10,6 +13,10 @@
|
||||
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
|
||||
@@ -23,7 +30,7 @@
|
||||
};
|
||||
|
||||
environment.systemPackages = [
|
||||
pkgs.mangohud
|
||||
pkgs.samrewritten
|
||||
];
|
||||
}
|
||||
|
||||
|
||||
3
nodes/hosts/common/services/blueman.nix
Normal file
@@ -0,0 +1,3 @@
|
||||
{ ... }: {
|
||||
services.blueman.enable = true;
|
||||
}
|
||||
7
nodes/hosts/common/services/btrfs.nix
Normal file
@@ -0,0 +1,7 @@
|
||||
{...}: {
|
||||
services.btrfs.autoScrub = {
|
||||
enable = true;
|
||||
interval = "weekly";
|
||||
fileSystems = [ "/" ];
|
||||
};
|
||||
}
|
||||
@@ -1,4 +1,4 @@
|
||||
{ pkgs, ...}: {
|
||||
{ ... }: {
|
||||
services.flatpak = {
|
||||
enable = true;
|
||||
update.onActivation = true;
|
||||
|
||||
@@ -1,14 +1,22 @@
|
||||
{ ... }: {
|
||||
{ pkgs, ... }: {
|
||||
|
||||
# Enable sound with pipewire.
|
||||
services.pulseaudio.enable = false;
|
||||
services.pulseaudio = {
|
||||
enable = false;
|
||||
package = pkgs.pulseaudioFull;
|
||||
};
|
||||
|
||||
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;
|
||||
|
||||
@@ -1,5 +1,29 @@
|
||||
{ ... }: {
|
||||
hardware.bluetooth.enable = true; # enables support for Bluetooth
|
||||
hardware.bluetooth.powerOnBoot = true; # powers up the default Bluetooth controller on boot
|
||||
{ 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";
|
||||
Privacy = "device";
|
||||
JustWorksRepairing = "always";
|
||||
Class = "0x000100";
|
||||
Experimental = true;
|
||||
FastConnectable = true;
|
||||
};
|
||||
|
||||
Policy = {
|
||||
AutoEnable = true;
|
||||
};
|
||||
};
|
||||
};
|
||||
}
|
||||
|
||||
|
||||
37
nodes/hosts/common/system/bootloader.nix
Normal file
@@ -0,0 +1,37 @@
|
||||
{ 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;
|
||||
};
|
||||
}
|
||||
|
||||
17
nodes/hosts/common/system/environment.nix
Normal file
@@ -0,0 +1,17 @@
|
||||
{ pkgs, ... }: {
|
||||
|
||||
environment = {
|
||||
# Optional, hint electron apps to use wayland:
|
||||
sessionVariables = {
|
||||
NIXOS_OZONE_WL = "1";
|
||||
STEAM_EXTRA_COMPAT_TOOLS_PATHS = "/home/jay/.steam/root/compatibilitytools.d";
|
||||
};
|
||||
|
||||
shellAliases = {
|
||||
ls = "lsd -la";
|
||||
};
|
||||
|
||||
# Get plasma integration with browsers to work better.
|
||||
etc."chromium/native-messaging-hosts/org.kde.plasma.browser_integration.json".source = "${pkgs.kdePackages.plasma-browser-integration}/etc/chromium/native-messaging-hosts/org.kde.plasma.browser_integration.json";
|
||||
};
|
||||
}
|
||||
5
nodes/hosts/common/system/networking.nix
Normal file
@@ -0,0 +1,5 @@
|
||||
{ lib, ... }: {
|
||||
networking.networkmanager.enable = true;
|
||||
networking.useDHCP = lib.mkDefault true;
|
||||
}
|
||||
|
||||
17
nodes/hosts/common/system/nixos.nix
Normal file
@@ -0,0 +1,17 @@
|
||||
{ ... }: {
|
||||
nix = {
|
||||
gc.options = "--delete-older-than 30d";
|
||||
optimise.automatic = true;
|
||||
settings = {
|
||||
experimental-features = [ "nix-command" "flakes" ];
|
||||
substituters = ["https://hyprland.cachix.org"];
|
||||
trusted-public-keys = ["hyprland.cachix.org-1:a7pgxzMz7+chwVL3/pzj6jIBMioiJM7ypFP8PwtkuGc="];
|
||||
};
|
||||
};
|
||||
|
||||
# Allow unfree packages
|
||||
nixpkgs.config.allowUnfree = true;
|
||||
|
||||
# Use some of our RAM as swap space.
|
||||
zramSwap.enable = true;
|
||||
}
|
||||
@@ -10,10 +10,13 @@
|
||||
];
|
||||
};
|
||||
|
||||
# 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;
|
||||
|
||||
12
nodes/hosts/common/system/sops.nix
Normal file
@@ -0,0 +1,12 @@
|
||||
{ ... }: {
|
||||
# Setting up secrets, incomplete at the moment.
|
||||
sops = {
|
||||
#defaultSopsFile = ../../../../private/secrets.yaml;
|
||||
#secrets = {
|
||||
# jay_password_hash = {
|
||||
# neededForUsers = true;
|
||||
# };
|
||||
#};
|
||||
};
|
||||
}
|
||||
|
||||
@@ -1,11 +1,24 @@
|
||||
{ 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.password_hash.path;
|
||||
hashedPassword = "$6$RTOXVXRP1iLIXnQb$rVtTeqlJ7g3AcZgftmVdKFnT2ggCsnVayPlT4beLST9Oz2LHGT2fdcOC/yaQkISK3wzFLqh47fSHgQvRUWpl41";
|
||||
extraGroups = [ "networkmanager" "wheel" ];
|
||||
{ ... }: {
|
||||
# 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 = {
|
||||
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" ];
|
||||
};
|
||||
};
|
||||
}
|
||||
|
||||
|
||||
BIN
nodes/hosts/common/wallpapers/210888.jpg
Normal file
|
After Width: | Height: | Size: 623 KiB |
BIN
nodes/hosts/common/wallpapers/jjying.jpg
Executable file
|
After Width: | Height: | Size: 876 KiB |
BIN
nodes/hosts/common/wallpapers/nixos-wallpaper.png
Normal file
|
After Width: | Height: | Size: 299 KiB |
BIN
nodes/hosts/common/wallpapers/qat02.png
Executable file
|
After Width: | Height: | Size: 2.3 MiB |
BIN
nodes/hosts/common/wallpapers/wipeout.mkv
Normal file
BIN
nodes/hosts/common/wallpapers/wipeout.png
Normal file
|
After Width: | Height: | Size: 433 KiB |
BIN
nodes/hosts/common/wallpapers/wipeoutreverse.png
Normal file
|
After Width: | Height: | Size: 1.1 MiB |
BIN
nodes/hosts/common/wallpapers/wpgrey.jpg
Normal file
|
After Width: | Height: | Size: 168 KiB |
@@ -4,4 +4,8 @@
|
||||
channel = "stable";
|
||||
};
|
||||
lappy = {};
|
||||
nixy = {
|
||||
deploy.local = true;
|
||||
};
|
||||
nixwork = {};
|
||||
}
|
||||
|
||||
@@ -2,94 +2,21 @@
|
||||
# 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
|
||||
./filesystems.nix
|
||||
./programs/sof-firmware.nix
|
||||
# Not working yet.
|
||||
#./services/fprintd.nix
|
||||
./services/touchpad.nix
|
||||
./system/bootloader.nix
|
||||
./system/filesystems.nix
|
||||
./system/networking.nix
|
||||
];
|
||||
|
||||
# Use the systemd-boot EFI boot loader.
|
||||
nixpkgs.hostPlatform = "x86_64-linux";
|
||||
boot.loader.systemd-boot.enable = true;
|
||||
boot.loader.efi.canTouchEfiVariables = true;
|
||||
|
||||
# Use latest kernel.
|
||||
boot.kernelPackages = pkgs.linuxPackages_latest;
|
||||
|
||||
networking.hostName = "lappy"; # Define your hostname.
|
||||
# Pick only one of the below networking options.
|
||||
# networking.wireless.enable = true; # Enables wireless support via wpa_supplicant.
|
||||
networking.networkmanager.enable = true; # Easiest to use and most distros use this by default.
|
||||
|
||||
# Configure network proxy if necessary
|
||||
# networking.proxy.default = "http://user:password@proxy:port/";
|
||||
# networking.proxy.noProxy = "127.0.0.1,localhost,internal.domain";
|
||||
|
||||
# Enable the X11 windowing system.
|
||||
services.xserver.enable = true;
|
||||
|
||||
|
||||
|
||||
|
||||
# Configure keymap in X11
|
||||
services.xserver.xkb.layout = "us";
|
||||
# services.xserver.xkb.options = "eurosign:e,caps:escape";
|
||||
|
||||
# Enable touchpad support (enabled default in most desktopManager).
|
||||
services.libinput.enable = true;
|
||||
|
||||
# List packages installed in system profile.
|
||||
# You can use https://search.nixos.org/ to find more packages (and options).
|
||||
# environment.systemPackages = with pkgs; [
|
||||
# vim # Do not forget to add an editor to edit configuration.nix! The Nano editor is also installed by default.
|
||||
# wget
|
||||
# ];
|
||||
|
||||
# Some programs need SUID wrappers, can be configured further or are
|
||||
# started in user sessions.
|
||||
# programs.mtr.enable = true;
|
||||
# programs.gnupg.agent = {
|
||||
# enable = true;
|
||||
# enableSSHSupport = true;
|
||||
# };
|
||||
|
||||
# List services that you want to enable:
|
||||
|
||||
# Enable the OpenSSH daemon.
|
||||
# services.openssh.enable = true;
|
||||
|
||||
# Open ports in the firewall.
|
||||
# networking.firewall.allowedTCPPorts = [ ... ];
|
||||
# networking.firewall.allowedUDPPorts = [ ... ];
|
||||
# Or disable the firewall altogether.
|
||||
# networking.firewall.enable = false;
|
||||
|
||||
# Copy the NixOS configuration file and link it from the resulting system
|
||||
# (/run/current-system/configuration.nix). This is useful in case you
|
||||
# accidentally delete configuration.nix.
|
||||
# system.copySystemConfiguration = true;
|
||||
|
||||
# This option defines the first version of NixOS you have installed on this particular machine,
|
||||
# and is used to maintain compatibility with application data (e.g. databases) created on older NixOS versions.
|
||||
#
|
||||
# Most users should NEVER change this value after the initial install, for any reason,
|
||||
# even if you've upgraded your system to a new NixOS release.
|
||||
#
|
||||
# This value does NOT affect the Nixpkgs version your packages and OS are pulled from,
|
||||
# so changing it will NOT upgrade your system - see https://nixos.org/manual/nixos/stable/#sec-upgrading for how
|
||||
# to actually do that.
|
||||
#
|
||||
# This value being lower than the current NixOS release does NOT mean your system is
|
||||
# out of date, out of support, or vulnerable.
|
||||
#
|
||||
# Do NOT change this value unless you have manually inspected all the changes it would make to your configuration,
|
||||
# and migrated your data accordingly.
|
||||
#
|
||||
# For more information, see `man configuration.nix` or https://nixos.org/manual/nixos/stable/options#opt-system.stateVersion .
|
||||
system.stateVersion = "25.05"; # Did you read the comment?
|
||||
|
||||
}
|
||||
|
||||
|
||||
@@ -48,6 +48,21 @@
|
||||
"noatime"
|
||||
];
|
||||
};
|
||||
"/root-blank" = {
|
||||
mountOptions = [
|
||||
"subvol=root-blank"
|
||||
"nodatacow"
|
||||
"noatime"
|
||||
];
|
||||
};
|
||||
"/home" = {
|
||||
mountpoint = "/home";
|
||||
mountOptions = [
|
||||
"subvol=home"
|
||||
"compress=zstd"
|
||||
"noatime"
|
||||
];
|
||||
};
|
||||
"/nix" = {
|
||||
mountpoint = "/nix";
|
||||
mountOptions = [
|
||||
@@ -72,6 +87,14 @@
|
||||
"noatime"
|
||||
];
|
||||
};
|
||||
"/lib" = {
|
||||
mountpoint = "/var/lib";
|
||||
mountOptions = [
|
||||
"subvol=lib"
|
||||
"compress=zstd"
|
||||
"noatime"
|
||||
];
|
||||
};
|
||||
};
|
||||
};
|
||||
};
|
||||
@@ -81,6 +104,7 @@
|
||||
};
|
||||
};
|
||||
};
|
||||
fileSystems."/nix/persist".neededForBoot = true;
|
||||
fileSystems."/persist".neededForBoot = true;
|
||||
fileSystems."/var/log".neededForBoot = true;
|
||||
fileSystems."/var/lib".neededForBoot = true;
|
||||
}
|
||||
|
||||
@@ -1,26 +1,14 @@
|
||||
# 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, ... }:
|
||||
{ config, lib, modulesPath, ... }:
|
||||
|
||||
{
|
||||
imports =
|
||||
[ (modulesPath + "/installer/scan/not-detected.nix")
|
||||
];
|
||||
|
||||
boot.initrd.availableKernelModules = [ "xhci_pci" "thunderbolt" "nvme" "usb_storage" "sd_mod" ];
|
||||
boot.initrd.kernelModules = [ ];
|
||||
boot.kernelModules = [ "kvm-intel" ];
|
||||
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.enp0s20f0u1.useDHCP = lib.mkDefault true;
|
||||
# networking.interfaces.wlo1.useDHCP = lib.mkDefault true;
|
||||
|
||||
nixpkgs.hostPlatform = lib.mkDefault "x86_64-linux";
|
||||
hardware.cpu.intel.updateMicrocode = lib.mkDefault config.hardware.enableRedistributableFirmware;
|
||||
hardware.xpadneo.enable = true;
|
||||
}
|
||||
|
||||
8
nodes/hosts/lappy/home/jay/home.nix
Normal file
@@ -0,0 +1,8 @@
|
||||
{ ... }:
|
||||
{
|
||||
imports = [
|
||||
./programs/hyprland.nix
|
||||
./programs/hyprpanel.nix
|
||||
];
|
||||
}
|
||||
|
||||
7
nodes/hosts/lappy/home/jay/programs/hyprland.nix
Normal file
@@ -0,0 +1,7 @@
|
||||
{ ... }: {
|
||||
wayland.windowManager.hyprland = {
|
||||
settings = {
|
||||
"monitor" = "eDP-1, 2880x1800@120, 0x0, 1";
|
||||
};
|
||||
};
|
||||
}
|
||||
19
nodes/hosts/lappy/home/jay/programs/hyprpanel.nix
Normal file
@@ -0,0 +1,19 @@
|
||||
{ lib, ... }: {
|
||||
programs.hyprpanel = {
|
||||
settings = {
|
||||
"bar.layouts" = {
|
||||
"0" = {
|
||||
right = [ "battery" ];
|
||||
};
|
||||
};
|
||||
|
||||
bar = {
|
||||
customModules = {
|
||||
cava = {
|
||||
framerate = lib.mkForce 120;
|
||||
};
|
||||
};
|
||||
};
|
||||
};
|
||||
};
|
||||
}
|
||||
8
nodes/hosts/lappy/programs/sof-firmware.nix
Normal file
@@ -0,0 +1,8 @@
|
||||
{ pkgs, ... }: {
|
||||
# List packages installed in system profile. To search, run:
|
||||
# $ nix search wget
|
||||
environment.systemPackages = [
|
||||
pkgs.sof-firmware
|
||||
];
|
||||
}
|
||||
|
||||
5
nodes/hosts/lappy/services/fprintd.nix
Normal file
@@ -0,0 +1,5 @@
|
||||
{ pkgs, ...}: {
|
||||
services.fprintd.enable = true;
|
||||
services.fprintd.tod.enable = true;
|
||||
services.fprintd.tod.driver = pkgs.libfprint-2-tod1-goodix-550a;
|
||||
}
|
||||
4
nodes/hosts/lappy/services/touchpad.nix
Normal file
@@ -0,0 +1,4 @@
|
||||
{ ... }: {
|
||||
# Enable touchpad support (enabled default in most desktopManager).
|
||||
services.libinput.enable = true;
|
||||
}
|
||||
52
nodes/hosts/lappy/system/bootloader.nix
Normal file
@@ -0,0 +1,52 @@
|
||||
{ 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" ];
|
||||
|
||||
};
|
||||
};
|
||||
}
|
||||
|
||||
54
nodes/hosts/lappy/system/filesystems.nix
Normal file
@@ -0,0 +1,54 @@
|
||||
{ ... }: {
|
||||
|
||||
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;
|
||||
}];
|
||||
|
||||
}
|
||||
|
||||
4
nodes/hosts/lappy/system/networking.nix
Normal file
@@ -0,0 +1,4 @@
|
||||
{ ... }: {
|
||||
networking.hostName = "lappy"; # Define your hostname.
|
||||
}
|
||||
|
||||
24
nodes/hosts/nixwork/configuration.nix
Normal file
@@ -0,0 +1,24 @@
|
||||
# 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?
|
||||
}
|
||||
|
||||
110
nodes/hosts/nixwork/disk-config.nix
Normal file
@@ -0,0 +1,110 @@
|
||||
{
|
||||
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;
|
||||
}
|
||||
26
nodes/hosts/nixwork/hardware-configuration.nix
Normal file
@@ -0,0 +1,26 @@
|
||||
# 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;
|
||||
}
|
||||
8
nodes/hosts/nixwork/home/jay/home.nix
Normal file
@@ -0,0 +1,8 @@
|
||||
{ ... }:
|
||||
{
|
||||
imports = [
|
||||
./programs/hyprland.nix
|
||||
./programs/hyprpanel.nix
|
||||
];
|
||||
}
|
||||
|
||||
7
nodes/hosts/nixwork/home/jay/programs/hyprland.nix
Normal file
@@ -0,0 +1,7 @@
|
||||
{ ... }: {
|
||||
wayland.windowManager.hyprland = {
|
||||
settings = {
|
||||
"monitor" = "eDP-1, 2560x1600@60, 0x0, 1";
|
||||
};
|
||||
};
|
||||
}
|
||||
13
nodes/hosts/nixwork/home/jay/programs/hyprpanel.nix
Normal file
@@ -0,0 +1,13 @@
|
||||
{ lib, ... }: {
|
||||
programs.hyprpanel = {
|
||||
settings = {
|
||||
bar = {
|
||||
customModules = {
|
||||
cava = {
|
||||
framerate = lib.mkForce 120;
|
||||
};
|
||||
};
|
||||
};
|
||||
};
|
||||
};
|
||||
}
|
||||
4
nodes/hosts/nixwork/node.nix
Normal file
@@ -0,0 +1,4 @@
|
||||
{
|
||||
os = "nixos";
|
||||
channel = "stable";
|
||||
}
|
||||
8
nodes/hosts/nixwork/programs/sof-firmware.nix
Normal file
@@ -0,0 +1,8 @@
|
||||
{ pkgs, ... }: {
|
||||
# List packages installed in system profile. To search, run:
|
||||
# $ nix search wget
|
||||
environment.systemPackages = [
|
||||
pkgs.sof-firmware
|
||||
];
|
||||
}
|
||||
|
||||
3
nodes/hosts/nixwork/services/fprintd.nix
Normal file
@@ -0,0 +1,3 @@
|
||||
{ pkgs, ...}: {
|
||||
services.fprintd.enable = true;
|
||||
}
|
||||
4
nodes/hosts/nixwork/services/lidswitch.nix
Normal file
@@ -0,0 +1,4 @@
|
||||
{ pkgs, ...}: {
|
||||
services.logind.lidSwitch = "poweroff";
|
||||
services.logind.lidSwitchExternalPower = "lock";
|
||||
}
|
||||
4
nodes/hosts/nixwork/services/touchpad.nix
Normal file
@@ -0,0 +1,4 @@
|
||||
{ ... }: {
|
||||
# Enable touchpad support (enabled default in most desktopManager).
|
||||
services.libinput.enable = true;
|
||||
}
|
||||
52
nodes/hosts/nixwork/system/bootloader.nix
Normal file
@@ -0,0 +1,52 @@
|
||||
{ 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" ];
|
||||
|
||||
};
|
||||
};
|
||||
}
|
||||
|
||||
54
nodes/hosts/nixwork/system/filesystems.nix
Normal file
@@ -0,0 +1,54 @@
|
||||
{ ... }: {
|
||||
|
||||
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;
|
||||
}];
|
||||
|
||||
}
|
||||
|
||||
4
nodes/hosts/nixwork/system/networking.nix
Normal file
@@ -0,0 +1,4 @@
|
||||
{ ... }: {
|
||||
networking.hostName = "nixwork"; # Define your hostname.
|
||||
}
|
||||
|
||||
24
nodes/hosts/nixy/configuration.nix
Normal file
@@ -0,0 +1,24 @@
|
||||
# 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?
|
||||
}
|
||||
|
||||
119
nodes/hosts/nixy/disk-config.nix
Normal file
@@ -0,0 +1,119 @@
|
||||
{
|
||||
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;
|
||||
}
|
||||
21
nodes/hosts/nixy/hardware-configuration.nix
Normal file
@@ -0,0 +1,21 @@
|
||||
# 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;
|
||||
}
|
||||
22
nodes/hosts/nixy/home/jay/home.nix
Normal file
@@ -0,0 +1,22 @@
|
||||
{ lib, ... }:
|
||||
|
||||
{
|
||||
programs.hyprpanel = {
|
||||
settings = {
|
||||
bar = {
|
||||
customModules = {
|
||||
cava = {
|
||||
framerate = lib.mkForce 165;
|
||||
};
|
||||
};
|
||||
};
|
||||
};
|
||||
};
|
||||
|
||||
wayland.windowManager.hyprland = {
|
||||
settings = {
|
||||
"monitor" = "DP-2, 3440x1440@165, 0x0, 1";
|
||||
};
|
||||
};
|
||||
}
|
||||
|
||||
42
nodes/hosts/nixy/impermanence.nix
Normal file
@@ -0,0 +1,42 @@
|
||||
{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 = [
|
||||
];
|
||||
};
|
||||
}
|
||||
4
nodes/hosts/nixy/node.nix
Normal file
@@ -0,0 +1,4 @@
|
||||
{
|
||||
os = "nixos";
|
||||
channel = "stable";
|
||||
}
|
||||
8
nodes/hosts/nixy/programs/streamcontroller.nix
Normal file
@@ -0,0 +1,8 @@
|
||||
{ pkgs, ... }: {
|
||||
# List packages installed in system profile. To search, run:
|
||||
# $ nix search wget
|
||||
environment.systemPackages = [
|
||||
pkgs.streamcontroller
|
||||
];
|
||||
}
|
||||
|
||||
13
nodes/hosts/nixy/services/xserver.nix
Normal file
@@ -0,0 +1,13 @@
|
||||
{ ... }: {
|
||||
# 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" ];
|
||||
};
|
||||
}
|
||||
52
nodes/hosts/nixy/system/bootloader.nix
Normal file
@@ -0,0 +1,52 @@
|
||||
{ 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" ];
|
||||
|
||||
};
|
||||
};
|
||||
}
|
||||
|
||||
13
nodes/hosts/nixy/system/environment.nix
Normal file
@@ -0,0 +1,13 @@
|
||||
{ ... }: {
|
||||
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";
|
||||
};
|
||||
};
|
||||
}
|
||||