Compare commits
233 Commits
0290dd0108
...
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 |
3
.gitmodules
vendored
Normal file
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
2
.sops.yaml
Normal file
@@ -0,0 +1,2 @@
|
|||||||
|
creation_rules:
|
||||||
|
- age: age1kn9632x2upcckl5jr9h2xda9l9j6r23u3pzjdp4v7vdjs42fpq3qur2qf0
|
||||||
67
README.md
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
|
||||||
|
|||||||
465
flake.lock
generated
465
flake.lock
generated
@@ -1,46 +1,22 @@
|
|||||||
{
|
{
|
||||||
"nodes": {
|
"nodes": {
|
||||||
"ags": {
|
"auto-cpufreq-stable-nixos": {
|
||||||
"inputs": {
|
"inputs": {
|
||||||
"astal": "astal",
|
|
||||||
"nixpkgs": [
|
"nixpkgs": [
|
||||||
"hyprpanel-stable-nixos",
|
|
||||||
"nixpkgs"
|
"nixpkgs"
|
||||||
]
|
]
|
||||||
},
|
},
|
||||||
"locked": {
|
"locked": {
|
||||||
"lastModified": 1736090999,
|
"lastModified": 1752998173,
|
||||||
"narHash": "sha256-B5CJuHqfJrzPa7tObK0H9669/EClSHpa/P7B9EuvElU=",
|
"narHash": "sha256-ZlYpBp2WOe03UrpjJGz5KTOL/pp7A452hJO/Vc8C4/0=",
|
||||||
"owner": "aylur",
|
"owner": "AdnanHodzic",
|
||||||
"repo": "ags",
|
"repo": "auto-cpufreq",
|
||||||
"rev": "5527c3c07d92c11e04e7fd99d58429493dba7e3c",
|
"rev": "562278377ffa96f3c1af49c7b499df028ce8d8bd",
|
||||||
"type": "github"
|
"type": "github"
|
||||||
},
|
},
|
||||||
"original": {
|
"original": {
|
||||||
"owner": "aylur",
|
"owner": "AdnanHodzic",
|
||||||
"repo": "ags",
|
"repo": "auto-cpufreq",
|
||||||
"type": "github"
|
|
||||||
}
|
|
||||||
},
|
|
||||||
"astal": {
|
|
||||||
"inputs": {
|
|
||||||
"nixpkgs": [
|
|
||||||
"hyprpanel-stable-nixos",
|
|
||||||
"ags",
|
|
||||||
"nixpkgs"
|
|
||||||
]
|
|
||||||
},
|
|
||||||
"locked": {
|
|
||||||
"lastModified": 1735172721,
|
|
||||||
"narHash": "sha256-rtEAwGsHSppnkR3Qg3eRJ6Xh/F84IY9CrBBLzYabalY=",
|
|
||||||
"owner": "aylur",
|
|
||||||
"repo": "astal",
|
|
||||||
"rev": "6c84b64efc736e039a8a10774a4a1bf772c37aa2",
|
|
||||||
"type": "github"
|
|
||||||
},
|
|
||||||
"original": {
|
|
||||||
"owner": "aylur",
|
|
||||||
"repo": "astal",
|
|
||||||
"type": "github"
|
"type": "github"
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
@@ -120,11 +96,11 @@
|
|||||||
]
|
]
|
||||||
},
|
},
|
||||||
"locked": {
|
"locked": {
|
||||||
"lastModified": 1734088167,
|
"lastModified": 1749200714,
|
||||||
"narHash": "sha256-OIitVU+IstPbX/NWn2jLF+/sT9dVKcO2FKeRAzlyX6c=",
|
"narHash": "sha256-W8KiJIrVwmf43JOPbbTu5lzq+cmdtRqaNbOsZigjioY=",
|
||||||
"owner": "nix-community",
|
"owner": "nix-community",
|
||||||
"repo": "disko",
|
"repo": "disko",
|
||||||
"rev": "d32f2d1750d61a476a236526b725ec5a32e16342",
|
"rev": "17d08c65c241b1d65b3ddf79e3fac1ddc870b0f6",
|
||||||
"type": "github"
|
"type": "github"
|
||||||
},
|
},
|
||||||
"original": {
|
"original": {
|
||||||
@@ -141,11 +117,11 @@
|
|||||||
]
|
]
|
||||||
},
|
},
|
||||||
"locked": {
|
"locked": {
|
||||||
"lastModified": 1750903843,
|
"lastModified": 1756733629,
|
||||||
"narHash": "sha256-Ng9+f0H5/dW+mq/XOKvB9uwvGbsuiiO6HrPdAcVglCs=",
|
"narHash": "sha256-dwWGlDhcO5SMIvMSTB4mjQ5Pvo2vtxvpIknhVnSz2I8=",
|
||||||
"owner": "nix-community",
|
"owner": "nix-community",
|
||||||
"repo": "disko",
|
"repo": "disko",
|
||||||
"rev": "83c4da299c1d7d300f8c6fd3a72ac46cb0d59aae",
|
"rev": "a5c4f2ab72e3d1ab43e3e65aa421c6f2bd2e12a1",
|
||||||
"type": "github"
|
"type": "github"
|
||||||
},
|
},
|
||||||
"original": {
|
"original": {
|
||||||
@@ -170,35 +146,16 @@
|
|||||||
"type": "github"
|
"type": "github"
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
"flake-compat": {
|
|
||||||
"locked": {
|
|
||||||
"lastModified": 1747046372,
|
|
||||||
"narHash": "sha256-CIVLLkVgvHYbgI2UpXvIIBJ12HWgX+fjA8Xf8PUmqCY=",
|
|
||||||
"owner": "edolstra",
|
|
||||||
"repo": "flake-compat",
|
|
||||||
"rev": "9100a0f413b0c601e0533d1d94ffd501ce2e7885",
|
|
||||||
"type": "github"
|
|
||||||
},
|
|
||||||
"original": {
|
|
||||||
"owner": "edolstra",
|
|
||||||
"repo": "flake-compat",
|
|
||||||
"type": "github"
|
|
||||||
}
|
|
||||||
},
|
|
||||||
"flake-parts": {
|
"flake-parts": {
|
||||||
"inputs": {
|
"inputs": {
|
||||||
"nixpkgs-lib": [
|
"nixpkgs-lib": "nixpkgs-lib"
|
||||||
"nixverse",
|
|
||||||
"nixos-anywhere",
|
|
||||||
"nixpkgs"
|
|
||||||
]
|
|
||||||
},
|
},
|
||||||
"locked": {
|
"locked": {
|
||||||
"lastModified": 1733312601,
|
"lastModified": 1754487366,
|
||||||
"narHash": "sha256-4pDvzqnegAfRkPwO3wmwBhVi/Sye1mzps0zHWYnP88c=",
|
"narHash": "sha256-pHYj8gUBapuUzKV/kN/tR3Zvqc7o6gdFB9XKXIp1SQ8=",
|
||||||
"owner": "hercules-ci",
|
"owner": "hercules-ci",
|
||||||
"repo": "flake-parts",
|
"repo": "flake-parts",
|
||||||
"rev": "205b12d8b7cd4802fbcb8e8ef6a0f1408781a4f9",
|
"rev": "af66ad14b28a127c5c0f3bbb298218fc63528a18",
|
||||||
"type": "github"
|
"type": "github"
|
||||||
},
|
},
|
||||||
"original": {
|
"original": {
|
||||||
@@ -210,16 +167,17 @@
|
|||||||
"flake-parts_2": {
|
"flake-parts_2": {
|
||||||
"inputs": {
|
"inputs": {
|
||||||
"nixpkgs-lib": [
|
"nixpkgs-lib": [
|
||||||
"stylix-stable-nixos",
|
"nixverse",
|
||||||
|
"nixos-anywhere",
|
||||||
"nixpkgs"
|
"nixpkgs"
|
||||||
]
|
]
|
||||||
},
|
},
|
||||||
"locked": {
|
"locked": {
|
||||||
"lastModified": 1743550720,
|
"lastModified": 1748821116,
|
||||||
"narHash": "sha256-hIshGgKZCgWh6AYJpJmRgFdR3WUbkY04o82X05xqQiY=",
|
"narHash": "sha256-F82+gS044J1APL0n4hH50GYdPRv/5JWm34oCJYmVKdE=",
|
||||||
"owner": "hercules-ci",
|
"owner": "hercules-ci",
|
||||||
"repo": "flake-parts",
|
"repo": "flake-parts",
|
||||||
"rev": "c621e8422220273271f52058f618c94e405bb0f5",
|
"rev": "49f0870db23e8c1ca0b5259734a02cd9e1e371a1",
|
||||||
"type": "github"
|
"type": "github"
|
||||||
},
|
},
|
||||||
"original": {
|
"original": {
|
||||||
@@ -228,6 +186,45 @@
|
|||||||
"type": "github"
|
"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": {
|
"fromYaml": {
|
||||||
"flake": false,
|
"flake": false,
|
||||||
"locked": {
|
"locked": {
|
||||||
@@ -244,54 +241,6 @@
|
|||||||
"type": "github"
|
"type": "github"
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
"git-hooks": {
|
|
||||||
"inputs": {
|
|
||||||
"flake-compat": [
|
|
||||||
"stylix-stable-nixos",
|
|
||||||
"flake-compat"
|
|
||||||
],
|
|
||||||
"gitignore": "gitignore",
|
|
||||||
"nixpkgs": [
|
|
||||||
"stylix-stable-nixos",
|
|
||||||
"nixpkgs"
|
|
||||||
]
|
|
||||||
},
|
|
||||||
"locked": {
|
|
||||||
"lastModified": 1747372754,
|
|
||||||
"narHash": "sha256-2Y53NGIX2vxfie1rOW0Qb86vjRZ7ngizoo+bnXU9D9k=",
|
|
||||||
"owner": "cachix",
|
|
||||||
"repo": "git-hooks.nix",
|
|
||||||
"rev": "80479b6ec16fefd9c1db3ea13aeb038c60530f46",
|
|
||||||
"type": "github"
|
|
||||||
},
|
|
||||||
"original": {
|
|
||||||
"owner": "cachix",
|
|
||||||
"repo": "git-hooks.nix",
|
|
||||||
"type": "github"
|
|
||||||
}
|
|
||||||
},
|
|
||||||
"gitignore": {
|
|
||||||
"inputs": {
|
|
||||||
"nixpkgs": [
|
|
||||||
"stylix-stable-nixos",
|
|
||||||
"git-hooks",
|
|
||||||
"nixpkgs"
|
|
||||||
]
|
|
||||||
},
|
|
||||||
"locked": {
|
|
||||||
"lastModified": 1709087332,
|
|
||||||
"narHash": "sha256-HG2cCnktfHsKV0s4XW83gU3F57gaTljL9KNSuG6bnQs=",
|
|
||||||
"owner": "hercules-ci",
|
|
||||||
"repo": "gitignore.nix",
|
|
||||||
"rev": "637db329424fd7e46cf4185293b9cc8c88c95394",
|
|
||||||
"type": "github"
|
|
||||||
},
|
|
||||||
"original": {
|
|
||||||
"owner": "hercules-ci",
|
|
||||||
"repo": "gitignore.nix",
|
|
||||||
"type": "github"
|
|
||||||
}
|
|
||||||
},
|
|
||||||
"gnome-shell": {
|
"gnome-shell": {
|
||||||
"flake": false,
|
"flake": false,
|
||||||
"locked": {
|
"locked": {
|
||||||
@@ -312,16 +261,16 @@
|
|||||||
"home-manager": {
|
"home-manager": {
|
||||||
"inputs": {
|
"inputs": {
|
||||||
"nixpkgs": [
|
"nixpkgs": [
|
||||||
"stylix-stable-nixos",
|
"hyprpanel-stable-nixos",
|
||||||
"nixpkgs"
|
"nixpkgs"
|
||||||
]
|
]
|
||||||
},
|
},
|
||||||
"locked": {
|
"locked": {
|
||||||
"lastModified": 1748737919,
|
"lastModified": 1750798083,
|
||||||
"narHash": "sha256-5kvBbLYdp+n7Ftanjcs6Nv+UO6sBhelp6MIGJ9nWmjQ=",
|
"narHash": "sha256-DTCCcp6WCFaYXWKFRA6fiI2zlvOLCf5Vwx8+/0R8Wc4=",
|
||||||
"owner": "nix-community",
|
"owner": "nix-community",
|
||||||
"repo": "home-manager",
|
"repo": "home-manager",
|
||||||
"rev": "5675a9686851d9626560052a032c4e14e533c1fa",
|
"rev": "ff31a4677c1a8ae506aa7e003a3dba08cb203f82",
|
||||||
"type": "github"
|
"type": "github"
|
||||||
},
|
},
|
||||||
"original": {
|
"original": {
|
||||||
@@ -337,16 +286,16 @@
|
|||||||
]
|
]
|
||||||
},
|
},
|
||||||
"locked": {
|
"locked": {
|
||||||
"lastModified": 1750704637,
|
"lastModified": 1756679287,
|
||||||
"narHash": "sha256-PHhDLtkEBkH+ee27YCsMziijpbypsRGDTuOuz6mG7iE=",
|
"narHash": "sha256-Xd1vOeY9ccDf5VtVK12yM0FS6qqvfUop8UQlxEB+gTQ=",
|
||||||
"owner": "nix-community",
|
"owner": "nix-community",
|
||||||
"repo": "home-manager",
|
"repo": "home-manager",
|
||||||
"rev": "873c5b2dc5c9387bf67e59a12abc4de12a4b8697",
|
"rev": "07fc025fe10487dd80f2ec694f1cd790e752d0e8",
|
||||||
"type": "github"
|
"type": "github"
|
||||||
},
|
},
|
||||||
"original": {
|
"original": {
|
||||||
"owner": "nix-community",
|
"owner": "nix-community",
|
||||||
"ref": "873c5b2dc5c9387bf67e59a12abc4de12a4b8697",
|
"ref": "release-25.05",
|
||||||
"repo": "home-manager",
|
"repo": "home-manager",
|
||||||
"type": "github"
|
"type": "github"
|
||||||
}
|
}
|
||||||
@@ -359,11 +308,11 @@
|
|||||||
]
|
]
|
||||||
},
|
},
|
||||||
"locked": {
|
"locked": {
|
||||||
"lastModified": 1743604125,
|
"lastModified": 1752603129,
|
||||||
"narHash": "sha256-ZD61DNbsBt1mQbinAaaEqKaJk2RFo9R/j+eYWeGMx7A=",
|
"narHash": "sha256-S+wmHhwNQ5Ru689L2Gu8n1OD6s9eU9n9mD827JNR+kw=",
|
||||||
"owner": "nix-community",
|
"owner": "nix-community",
|
||||||
"repo": "home-manager",
|
"repo": "home-manager",
|
||||||
"rev": "180fd43eea296e62ae68e079fcf56aba268b9a1a",
|
"rev": "e8c19a3cec2814c754f031ab3ae7316b64da085b",
|
||||||
"type": "github"
|
"type": "github"
|
||||||
},
|
},
|
||||||
"original": {
|
"original": {
|
||||||
@@ -374,21 +323,36 @@
|
|||||||
},
|
},
|
||||||
"hyprpanel-stable-nixos": {
|
"hyprpanel-stable-nixos": {
|
||||||
"inputs": {
|
"inputs": {
|
||||||
"ags": "ags",
|
"flake-utils": "flake-utils",
|
||||||
|
"home-manager": "home-manager",
|
||||||
"nixpkgs": "nixpkgs"
|
"nixpkgs": "nixpkgs"
|
||||||
},
|
},
|
||||||
"locked": {
|
"locked": {
|
||||||
"lastModified": 1748284447,
|
"lastModified": 1755569534,
|
||||||
"narHash": "sha256-99/GrZHZ+e8MLgUvEqLM0tXlVbgKBEYuGMHTigjYgvQ=",
|
"narHash": "sha256-ukXfV1cAsxoar0IVEO2/s3qnVEZpZf0wvqE3PIESobw=",
|
||||||
"owner": "Jas-SinghFSU",
|
"owner": "Jas-SinghFSU",
|
||||||
"repo": "HyprPanel",
|
"repo": "Hyprpanel",
|
||||||
"rev": "436dcbfcf2458784203d83c4b96e7b0c3fb66762",
|
"rev": "6385f2e15df908e0c13bed800f4b091300e5b981",
|
||||||
"type": "github"
|
"type": "github"
|
||||||
},
|
},
|
||||||
"original": {
|
"original": {
|
||||||
"owner": "Jas-SinghFSU",
|
"owner": "Jas-SinghFSU",
|
||||||
"repo": "HyprPanel",
|
"repo": "Hyprpanel",
|
||||||
"rev": "436dcbfcf2458784203d83c4b96e7b0c3fb66762",
|
"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"
|
"type": "github"
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
@@ -400,11 +364,11 @@
|
|||||||
]
|
]
|
||||||
},
|
},
|
||||||
"locked": {
|
"locked": {
|
||||||
"lastModified": 1750618568,
|
"lastModified": 1751313918,
|
||||||
"narHash": "sha256-w9EG5FOXrjXGfbqCcQg9x1lMnTwzNDW5BMXp8ddy15E=",
|
"narHash": "sha256-HsJM3XLa43WpG+665aGEh8iS8AfEwOIQWk3Mke3e7nk=",
|
||||||
"owner": "lnl7",
|
"owner": "lnl7",
|
||||||
"repo": "nix-darwin",
|
"repo": "nix-darwin",
|
||||||
"rev": "1dd19f19e4b53a1fd2e8e738a08dd5fe635ec7e5",
|
"rev": "e04a388232d9a6ba56967ce5b53a8a6f713cdfcf",
|
||||||
"type": "github"
|
"type": "github"
|
||||||
},
|
},
|
||||||
"original": {
|
"original": {
|
||||||
@@ -429,10 +393,54 @@
|
|||||||
"type": "github"
|
"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": {
|
"nixos-anywhere": {
|
||||||
"inputs": {
|
"inputs": {
|
||||||
"disko": "disko",
|
"disko": "disko",
|
||||||
"flake-parts": "flake-parts",
|
"flake-parts": "flake-parts_2",
|
||||||
|
"nix-vm-test": "nix-vm-test",
|
||||||
"nixos-images": "nixos-images",
|
"nixos-images": "nixos-images",
|
||||||
"nixos-stable": "nixos-stable",
|
"nixos-stable": "nixos-stable",
|
||||||
"nixpkgs": [
|
"nixpkgs": [
|
||||||
@@ -442,17 +450,32 @@
|
|||||||
"treefmt-nix": "treefmt-nix"
|
"treefmt-nix": "treefmt-nix"
|
||||||
},
|
},
|
||||||
"locked": {
|
"locked": {
|
||||||
"lastModified": 1740657886,
|
"lastModified": 1750078927,
|
||||||
"narHash": "sha256-7kHxBQuzb7gcHzVmLGljJ4kF6BDDSYVCIxYFDmYPnAo=",
|
"narHash": "sha256-7iTUVUP6xgEYXdl9aCYBbYMYVsQmOvMoLUsUS2aoDNA=",
|
||||||
"owner": "nix-community",
|
"owner": "nix-community",
|
||||||
"repo": "nixos-anywhere",
|
"repo": "nixos-anywhere",
|
||||||
"rev": "77e6a4e14baa93a29952ea9f0e4a59a29cca09e9",
|
"rev": "ff87db6a952191648ffaea97ec5559784c7223c6",
|
||||||
"type": "github"
|
"type": "github"
|
||||||
},
|
},
|
||||||
"original": {
|
"original": {
|
||||||
"owner": "nix-community",
|
"owner": "nix-community",
|
||||||
"repo": "nixos-anywhere",
|
"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"
|
"type": "github"
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
@@ -470,11 +493,11 @@
|
|||||||
]
|
]
|
||||||
},
|
},
|
||||||
"locked": {
|
"locked": {
|
||||||
"lastModified": 1740452541,
|
"lastModified": 1749086071,
|
||||||
"narHash": "sha256-aa5gPveHysMTVkxj+0iH0BdcSn8+v8lZPud+IItOSaQ=",
|
"narHash": "sha256-4+fY7i+q78F3t6APz0cMC4kRxsyCb+UTyfhbckkCd7Q=",
|
||||||
"owner": "nix-community",
|
"owner": "nix-community",
|
||||||
"repo": "nixos-images",
|
"repo": "nixos-images",
|
||||||
"rev": "283bbacb81bd2c1a7b89f33e011ecabe398a564e",
|
"rev": "aa38dbbdf0e955baef7e03dfc4265ae3fdac4808",
|
||||||
"type": "github"
|
"type": "github"
|
||||||
},
|
},
|
||||||
"original": {
|
"original": {
|
||||||
@@ -485,27 +508,27 @@
|
|||||||
},
|
},
|
||||||
"nixos-stable": {
|
"nixos-stable": {
|
||||||
"locked": {
|
"locked": {
|
||||||
"lastModified": 1733808091,
|
"lastModified": 1749086602,
|
||||||
"narHash": "sha256-KWwINTQelKOoQgrXftxoqxmKFZb9pLVfnRvK270nkVk=",
|
"narHash": "sha256-DJcgJMekoxVesl9kKjfLPix2Nbr42i7cpEHJiTnBUwU=",
|
||||||
"owner": "NixOS",
|
"owner": "NixOS",
|
||||||
"repo": "nixpkgs",
|
"repo": "nixpkgs",
|
||||||
"rev": "a0f3e10d94359665dba45b71b4227b0aeb851f8e",
|
"rev": "4792576cb003c994bd7cc1edada3129def20b27d",
|
||||||
"type": "github"
|
"type": "github"
|
||||||
},
|
},
|
||||||
"original": {
|
"original": {
|
||||||
"owner": "NixOS",
|
"owner": "NixOS",
|
||||||
"ref": "nixos-24.11",
|
"ref": "nixos-25.05",
|
||||||
"repo": "nixpkgs",
|
"repo": "nixpkgs",
|
||||||
"type": "github"
|
"type": "github"
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
"nixpkgs": {
|
"nixpkgs": {
|
||||||
"locked": {
|
"locked": {
|
||||||
"lastModified": 1736344531,
|
"lastModified": 1750776420,
|
||||||
"narHash": "sha256-8YVQ9ZbSfuUk2bUf2KRj60NRraLPKPS0Q4QFTbc+c2c=",
|
"narHash": "sha256-/CG+w0o0oJ5itVklOoLbdn2dGB0wbZVOoDm4np6w09A=",
|
||||||
"owner": "nixos",
|
"owner": "nixos",
|
||||||
"repo": "nixpkgs",
|
"repo": "nixpkgs",
|
||||||
"rev": "bffc22eb12172e6db3c5dde9e3e5628f8e3e7912",
|
"rev": "30a61f056ac492e3b7cdcb69c1e6abdcf00e39cf",
|
||||||
"type": "github"
|
"type": "github"
|
||||||
},
|
},
|
||||||
"original": {
|
"original": {
|
||||||
@@ -515,13 +538,28 @@
|
|||||||
"type": "github"
|
"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": {
|
"nixpkgs-stable-nixos": {
|
||||||
"locked": {
|
"locked": {
|
||||||
"lastModified": 1751211869,
|
"lastModified": 1756886854,
|
||||||
"narHash": "sha256-1Cu92i1KSPbhPCKxoiVG5qnoRiKTgR5CcGSRyLpOd7Y=",
|
"narHash": "sha256-6tooT142NLcFjt24Gi4B0G1pgWLvfw7y93sYEfSHlLI=",
|
||||||
"owner": "nixos",
|
"owner": "nixos",
|
||||||
"repo": "nixpkgs",
|
"repo": "nixpkgs",
|
||||||
"rev": "b43c397f6c213918d6cfe6e3550abfe79b5d1c51",
|
"rev": "0e6684e6c5755325f801bda1751a8a4038145d7d",
|
||||||
"type": "github"
|
"type": "github"
|
||||||
},
|
},
|
||||||
"original": {
|
"original": {
|
||||||
@@ -531,13 +569,29 @@
|
|||||||
"type": "github"
|
"type": "github"
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
"nixpkgs_2": {
|
"nixpkgs-unstable": {
|
||||||
"locked": {
|
"locked": {
|
||||||
"lastModified": 1751180975,
|
"lastModified": 1756819007,
|
||||||
"narHash": "sha256-BKk4yDiXr4LdF80OTVqYJ53Q74rOcA/82EClXug8xsY=",
|
"narHash": "sha256-12V64nKG/O/guxSYnr5/nq1EfqwJCdD2+cIGmhz3nrE=",
|
||||||
"owner": "NixOS",
|
"owner": "NixOS",
|
||||||
"repo": "nixpkgs",
|
"repo": "nixpkgs",
|
||||||
"rev": "a48741b083d4f36dd79abd9f760c84da6b4dc0e5",
|
"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"
|
"type": "github"
|
||||||
},
|
},
|
||||||
"original": {
|
"original": {
|
||||||
@@ -554,15 +608,16 @@
|
|||||||
]
|
]
|
||||||
},
|
},
|
||||||
"locked": {
|
"locked": {
|
||||||
"lastModified": 1751287013,
|
"lastModified": 1751773294,
|
||||||
"narHash": "sha256-UJ33jYiM/rn54NVvCigaKQNmC4k3/Hn/uA5i6ULU8kg=",
|
"narHash": "sha256-7SOb5tc8FARZHUBr8HeCO5016lpiG+S1qugQQdXzF/w=",
|
||||||
"owner": "hgl",
|
"owner": "hgl",
|
||||||
"repo": "nixverse",
|
"repo": "nixverse",
|
||||||
"rev": "af21fb55ba69cf586dabfa7d61176c67c436f01f",
|
"rev": "084a07f43829857fc760e70212c497d2f40eaa3c",
|
||||||
"type": "github"
|
"type": "github"
|
||||||
},
|
},
|
||||||
"original": {
|
"original": {
|
||||||
"owner": "hgl",
|
"owner": "hgl",
|
||||||
|
"ref": "084a07f43829857fc760e70212c497d2f40eaa3c",
|
||||||
"repo": "nixverse",
|
"repo": "nixverse",
|
||||||
"type": "github"
|
"type": "github"
|
||||||
}
|
}
|
||||||
@@ -580,11 +635,11 @@
|
|||||||
"treefmt-nix": "treefmt-nix_2"
|
"treefmt-nix": "treefmt-nix_2"
|
||||||
},
|
},
|
||||||
"locked": {
|
"locked": {
|
||||||
"lastModified": 1748730660,
|
"lastModified": 1751320053,
|
||||||
"narHash": "sha256-5LKmRYKdPuhm8j5GFe3AfrJL8dd8o57BQ34AGjJl1R0=",
|
"narHash": "sha256-3m6RMw0FbbaUUa01PNaMLoO7D99aBClmY5ed9V3vz+0=",
|
||||||
"owner": "nix-community",
|
"owner": "nix-community",
|
||||||
"repo": "NUR",
|
"repo": "NUR",
|
||||||
"rev": "2c0bc52fe14681e9ef60e3553888c4f086e46ecb",
|
"rev": "cbde1735782f9c2bb2c63d5e05fba171a14a4670",
|
||||||
"type": "github"
|
"type": "github"
|
||||||
},
|
},
|
||||||
"original": {
|
"original": {
|
||||||
@@ -595,17 +650,43 @@
|
|||||||
},
|
},
|
||||||
"root": {
|
"root": {
|
||||||
"inputs": {
|
"inputs": {
|
||||||
|
"auto-cpufreq-stable-nixos": "auto-cpufreq-stable-nixos",
|
||||||
"disko-stable-nixos": "disko-stable-nixos",
|
"disko-stable-nixos": "disko-stable-nixos",
|
||||||
"home-manager-stable-nixos": "home-manager-stable-nixos",
|
"home-manager-stable-nixos": "home-manager-stable-nixos",
|
||||||
"hyprpanel-stable-nixos": "hyprpanel-stable-nixos",
|
"hyprpanel-stable-nixos": "hyprpanel-stable-nixos",
|
||||||
|
"impermanence-stable-nixos": "impermanence-stable-nixos",
|
||||||
"nix-flatpak-stable-nixos": "nix-flatpak-stable-nixos",
|
"nix-flatpak-stable-nixos": "nix-flatpak-stable-nixos",
|
||||||
|
"nix-gaming-stable-nixos": "nix-gaming-stable-nixos",
|
||||||
|
"nixos-hardware-stable-nixos": "nixos-hardware-stable-nixos",
|
||||||
"nixpkgs": "nixpkgs_2",
|
"nixpkgs": "nixpkgs_2",
|
||||||
"nixpkgs-stable-nixos": "nixpkgs-stable-nixos",
|
"nixpkgs-stable-nixos": "nixpkgs-stable-nixos",
|
||||||
|
"nixpkgs-unstable": "nixpkgs-unstable",
|
||||||
"nixverse": "nixverse",
|
"nixverse": "nixverse",
|
||||||
|
"sops-nix-stable-nixos": "sops-nix-stable-nixos",
|
||||||
"stylix-stable-nixos": "stylix-stable-nixos",
|
"stylix-stable-nixos": "stylix-stable-nixos",
|
||||||
"zen-browser-stable-nixos": "zen-browser-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": {
|
"stylix-stable-nixos": {
|
||||||
"inputs": {
|
"inputs": {
|
||||||
"base16": "base16",
|
"base16": "base16",
|
||||||
@@ -613,16 +694,13 @@
|
|||||||
"base16-helix": "base16-helix",
|
"base16-helix": "base16-helix",
|
||||||
"base16-vim": "base16-vim",
|
"base16-vim": "base16-vim",
|
||||||
"firefox-gnome-theme": "firefox-gnome-theme",
|
"firefox-gnome-theme": "firefox-gnome-theme",
|
||||||
"flake-compat": "flake-compat",
|
"flake-parts": "flake-parts_3",
|
||||||
"flake-parts": "flake-parts_2",
|
|
||||||
"git-hooks": "git-hooks",
|
|
||||||
"gnome-shell": "gnome-shell",
|
"gnome-shell": "gnome-shell",
|
||||||
"home-manager": "home-manager",
|
|
||||||
"nixpkgs": [
|
"nixpkgs": [
|
||||||
"nixpkgs"
|
"nixpkgs"
|
||||||
],
|
],
|
||||||
"nur": "nur",
|
"nur": "nur",
|
||||||
"systems": "systems",
|
"systems": "systems_2",
|
||||||
"tinted-foot": "tinted-foot",
|
"tinted-foot": "tinted-foot",
|
||||||
"tinted-kitty": "tinted-kitty",
|
"tinted-kitty": "tinted-kitty",
|
||||||
"tinted-schemes": "tinted-schemes",
|
"tinted-schemes": "tinted-schemes",
|
||||||
@@ -630,16 +708,16 @@
|
|||||||
"tinted-zed": "tinted-zed"
|
"tinted-zed": "tinted-zed"
|
||||||
},
|
},
|
||||||
"locked": {
|
"locked": {
|
||||||
"lastModified": 1749755665,
|
"lastModified": 1756812894,
|
||||||
"narHash": "sha256-wHj2qCyJLF5RGl7sydnjJVQ8WKZmdkLy5MuqY9zivRs=",
|
"narHash": "sha256-wZfNe3ms+dS2cUEGe8ygqNxBHGQCRoJQuQM9xFgGad0=",
|
||||||
"owner": "danth",
|
"owner": "danth",
|
||||||
"repo": "stylix",
|
"repo": "stylix",
|
||||||
"rev": "75411fe2b90f67bfb4a2ad9cc3b1379758b64dbb",
|
"rev": "a9553a7486c86259b7678235cc26cfd70296251d",
|
||||||
"type": "github"
|
"type": "github"
|
||||||
},
|
},
|
||||||
"original": {
|
"original": {
|
||||||
"owner": "danth",
|
"owner": "danth",
|
||||||
"ref": "75411fe2b90f67bfb4a2ad9cc3b1379758b64dbb",
|
"ref": "release-25.05",
|
||||||
"repo": "stylix",
|
"repo": "stylix",
|
||||||
"type": "github"
|
"type": "github"
|
||||||
}
|
}
|
||||||
@@ -659,6 +737,21 @@
|
|||||||
"type": "github"
|
"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": {
|
"tinted-foot": {
|
||||||
"flake": false,
|
"flake": false,
|
||||||
"locked": {
|
"locked": {
|
||||||
@@ -695,11 +788,11 @@
|
|||||||
"tinted-schemes": {
|
"tinted-schemes": {
|
||||||
"flake": false,
|
"flake": false,
|
||||||
"locked": {
|
"locked": {
|
||||||
"lastModified": 1748180480,
|
"lastModified": 1750770351,
|
||||||
"narHash": "sha256-7n0XiZiEHl2zRhDwZd/g+p38xwEoWtT0/aESwTMXWG4=",
|
"narHash": "sha256-LI+BnRoFNRa2ffbe3dcuIRYAUcGklBx0+EcFxlHj0SY=",
|
||||||
"owner": "tinted-theming",
|
"owner": "tinted-theming",
|
||||||
"repo": "schemes",
|
"repo": "schemes",
|
||||||
"rev": "87d652edd26f5c0c99deda5ae13dfb8ece2ffe31",
|
"rev": "5a775c6ffd6e6125947b393872cde95867d85a2a",
|
||||||
"type": "github"
|
"type": "github"
|
||||||
},
|
},
|
||||||
"original": {
|
"original": {
|
||||||
@@ -711,11 +804,11 @@
|
|||||||
"tinted-tmux": {
|
"tinted-tmux": {
|
||||||
"flake": false,
|
"flake": false,
|
||||||
"locked": {
|
"locked": {
|
||||||
"lastModified": 1748740859,
|
"lastModified": 1751159871,
|
||||||
"narHash": "sha256-OEM12bg7F4N5WjZOcV7FHJbqRI6jtCqL6u8FtPrlZz4=",
|
"narHash": "sha256-UOHBN1fgHIEzvPmdNMHaDvdRMgLmEJh2hNmDrp3d3LE=",
|
||||||
"owner": "tinted-theming",
|
"owner": "tinted-theming",
|
||||||
"repo": "tinted-tmux",
|
"repo": "tinted-tmux",
|
||||||
"rev": "57d5f9683ff9a3b590643beeaf0364da819aedda",
|
"rev": "bded5e24407cec9d01bd47a317d15b9223a1546c",
|
||||||
"type": "github"
|
"type": "github"
|
||||||
},
|
},
|
||||||
"original": {
|
"original": {
|
||||||
@@ -727,11 +820,11 @@
|
|||||||
"tinted-zed": {
|
"tinted-zed": {
|
||||||
"flake": false,
|
"flake": false,
|
||||||
"locked": {
|
"locked": {
|
||||||
"lastModified": 1725758778,
|
"lastModified": 1751158968,
|
||||||
"narHash": "sha256-8P1b6mJWyYcu36WRlSVbuj575QWIFZALZMTg5ID/sM4=",
|
"narHash": "sha256-ksOyv7D3SRRtebpXxgpG4TK8gZSKFc4TIZpR+C98jX8=",
|
||||||
"owner": "tinted-theming",
|
"owner": "tinted-theming",
|
||||||
"repo": "base16-zed",
|
"repo": "base16-zed",
|
||||||
"rev": "122c9e5c0e6f27211361a04fae92df97940eccf9",
|
"rev": "86a470d94204f7652b906ab0d378e4231a5b3384",
|
||||||
"type": "github"
|
"type": "github"
|
||||||
},
|
},
|
||||||
"original": {
|
"original": {
|
||||||
@@ -749,11 +842,11 @@
|
|||||||
]
|
]
|
||||||
},
|
},
|
||||||
"locked": {
|
"locked": {
|
||||||
"lastModified": 1733761991,
|
"lastModified": 1749194973,
|
||||||
"narHash": "sha256-s4DalCDepD22jtKL5Nw6f4LP5UwoMcPzPZgHWjAfqbQ=",
|
"narHash": "sha256-eEy8cuS0mZ2j/r/FE0/LYBSBcIs/MKOIVakwHVuqTfk=",
|
||||||
"owner": "numtide",
|
"owner": "numtide",
|
||||||
"repo": "treefmt-nix",
|
"repo": "treefmt-nix",
|
||||||
"rev": "0ce9d149d99bc383d1f2d85f31f6ebd146e46085",
|
"rev": "a05be418a1af1198ca0f63facb13c985db4cb3c5",
|
||||||
"type": "github"
|
"type": "github"
|
||||||
},
|
},
|
||||||
"original": {
|
"original": {
|
||||||
@@ -792,11 +885,11 @@
|
|||||||
]
|
]
|
||||||
},
|
},
|
||||||
"locked": {
|
"locked": {
|
||||||
"lastModified": 1751278949,
|
"lastModified": 1756941389,
|
||||||
"narHash": "sha256-wjOCGMnHbTWsxWs/V7QT9ANG3T2wx+DHs4/cg5gl2dc=",
|
"narHash": "sha256-r7Km2PY1gxpNmq7dPbs89JiyHiJ5zRCF6cBPyb2WWGY=",
|
||||||
"owner": "0xc000022070",
|
"owner": "0xc000022070",
|
||||||
"repo": "zen-browser-flake",
|
"repo": "zen-browser-flake",
|
||||||
"rev": "9d1622af7aa4aaee79eb5e5da98f045f5b69d8f0",
|
"rev": "d197dd7556567a7a4174dee543286e5e65198379",
|
||||||
"type": "github"
|
"type": "github"
|
||||||
},
|
},
|
||||||
"original": {
|
"original": {
|
||||||
|
|||||||
43
flake.nix
43
flake.nix
@@ -2,39 +2,66 @@
|
|||||||
inputs = {
|
inputs = {
|
||||||
self.submodules = true;
|
self.submodules = true;
|
||||||
nixpkgs-stable-nixos.url = "github:nixos/nixpkgs/nixos-25.05";
|
nixpkgs-stable-nixos.url = "github:nixos/nixpkgs/nixos-25.05";
|
||||||
|
|
||||||
|
nixpkgs-unstable.url = "github:NixOS/nixpkgs/nixpkgs-unstable";
|
||||||
|
|
||||||
nixverse = {
|
nixverse = {
|
||||||
url = "github:hgl/nixverse";
|
url = "github:hgl/nixverse?ref=084a07f43829857fc760e70212c497d2f40eaa3c";
|
||||||
inputs.nixpkgs.follows = "nixpkgs-stable-nixos";
|
inputs.nixpkgs.follows = "nixpkgs-stable-nixos";
|
||||||
};
|
};
|
||||||
|
|
||||||
|
auto-cpufreq-stable-nixos = {
|
||||||
|
url = "github:AdnanHodzic/auto-cpufreq";
|
||||||
|
inputs.nixpkgs.follows = "nixpkgs";
|
||||||
|
};
|
||||||
|
|
||||||
disko-stable-nixos = {
|
disko-stable-nixos = {
|
||||||
url = "github:nix-community/disko";
|
url = "github:nix-community/disko";
|
||||||
inputs.nixpkgs.follows = "nixpkgs-stable-nixos";
|
inputs.nixpkgs.follows = "nixpkgs-stable-nixos";
|
||||||
};
|
};
|
||||||
|
|
||||||
home-manager-stable-nixos = {
|
home-manager-stable-nixos = {
|
||||||
#url = "github:nix-community/home-manager?ref=7aae0ee71a17b19708b93b3ed448a1a0952bf111";
|
url = "github:nix-community/home-manager/release-25.05";
|
||||||
url = "github:nix-community/home-manager?ref=873c5b2dc5c9387bf67e59a12abc4de12a4b8697";
|
|
||||||
#url = "github:nix-community/home-manager?ref=f5098b074051d1ae0e919adf434a60fc3f23347b";
|
|
||||||
inputs.nixpkgs.follows = "nixpkgs";
|
inputs.nixpkgs.follows = "nixpkgs";
|
||||||
};
|
};
|
||||||
|
|
||||||
hyprpanel-stable-nixos = {
|
hyprpanel-stable-nixos = {
|
||||||
url = "github:Jas-SinghFSU/HyprPanel?rev=436dcbfcf2458784203d83c4b96e7b0c3fb66762";
|
url = "github:Jas-SinghFSU/Hyprpanel";
|
||||||
};
|
};
|
||||||
|
|
||||||
nix-flatpak-stable-nixos = {
|
nix-flatpak-stable-nixos = {
|
||||||
url = "github:gmodena/nix-flatpak/?ref=latest";
|
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 = {
|
stylix-stable-nixos = {
|
||||||
#stylix.url = "github:danth/stylix/release-25.05";
|
url = "github:danth/stylix/release-25.05";
|
||||||
# Pin stylix to the last working version.
|
|
||||||
inputs.nixpkgs.follows = "nixpkgs";
|
inputs.nixpkgs.follows = "nixpkgs";
|
||||||
url = "github:danth/stylix?ref=75411fe2b90f67bfb4a2ad9cc3b1379758b64dbb";
|
|
||||||
};
|
};
|
||||||
|
|
||||||
zen-browser-stable-nixos = {
|
zen-browser-stable-nixos = {
|
||||||
|
#url = "github:0xc000022070/zen-browser-flake?ref=ea79cbda8e685dd0f9c6e88adcfa7762a83e9067";
|
||||||
url = "github:0xc000022070/zen-browser-flake";
|
url = "github:0xc000022070/zen-browser-flake";
|
||||||
inputs.nixpkgs.follows = "nixpkgs";
|
inputs.nixpkgs.follows = "nixpkgs";
|
||||||
};
|
};
|
||||||
|
|||||||
@@ -1,9 +1,12 @@
|
|||||||
{ pkgs, inputs, ... }:
|
{ inputs, ... }:
|
||||||
{
|
{
|
||||||
imports = [
|
imports = [
|
||||||
inputs.nix-flatpak.nixosModules.nix-flatpak
|
inputs.nix-flatpak.nixosModules.nix-flatpak
|
||||||
inputs.stylix.nixosModules.stylix
|
inputs.stylix.nixosModules.stylix
|
||||||
inputs.home-manager.nixosModules.home-manager
|
inputs.home-manager.nixosModules.home-manager
|
||||||
|
inputs.sops-nix.nixosModules.sops
|
||||||
|
inputs.nix-gaming.nixosModules.pipewireLowLatency
|
||||||
|
./programs/appimage.nix
|
||||||
./programs/emulation.nix
|
./programs/emulation.nix
|
||||||
./programs/firefox.nix
|
./programs/firefox.nix
|
||||||
./programs/fonts.nix
|
./programs/fonts.nix
|
||||||
@@ -14,9 +17,9 @@
|
|||||||
./programs/hyprland.nix
|
./programs/hyprland.nix
|
||||||
./programs/kde.nix
|
./programs/kde.nix
|
||||||
./programs/obs-studio.nix
|
./programs/obs-studio.nix
|
||||||
|
./programs/open-tv.nix
|
||||||
./programs/session-desktop.nix
|
./programs/session-desktop.nix
|
||||||
./programs/steam.nix
|
./programs/steam.nix
|
||||||
./programs/streamcontroller.nix
|
|
||||||
./programs/zen-browser.nix
|
./programs/zen-browser.nix
|
||||||
./scripts/upgrade-diff.nix
|
./scripts/upgrade-diff.nix
|
||||||
./services/blueman.nix
|
./services/blueman.nix
|
||||||
@@ -26,11 +29,13 @@
|
|||||||
./services/nix-flatpak.nix
|
./services/nix-flatpak.nix
|
||||||
./services/sound.nix
|
./services/sound.nix
|
||||||
./system/bluetooth.nix
|
./system/bluetooth.nix
|
||||||
|
./system/bootloader.nix
|
||||||
./system/environment.nix
|
./system/environment.nix
|
||||||
./system/locale.nix
|
./system/locale.nix
|
||||||
./system/networking.nix
|
./system/networking.nix
|
||||||
./system/nixos.nix
|
./system/nixos.nix
|
||||||
./system/security.nix
|
./system/security.nix
|
||||||
|
./system/sops.nix
|
||||||
./system/time.nix
|
./system/time.nix
|
||||||
./system/users.nix
|
./system/users.nix
|
||||||
];
|
];
|
||||||
|
|||||||
@@ -1,12 +1,35 @@
|
|||||||
{ config, pkgs, inputs, lib, ... }:
|
{ pkgs, inputs, ... }:
|
||||||
|
|
||||||
{
|
{
|
||||||
# Home Manager needs a bit of information about you and the paths it should
|
# Home Manager needs a bit of information about you and the paths it should
|
||||||
# manage.
|
# manag:e.
|
||||||
home.username = "jay";
|
home.username = "jay";
|
||||||
home.homeDirectory = "/home/jay";
|
home.homeDirectory = "/home/jay";
|
||||||
|
|
||||||
imports = [ inputs.hyprpanel.homeManagerModules.hyprpanel ];
|
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
|
# This value determines the Home Manager release that your configuration is
|
||||||
@@ -21,519 +44,34 @@
|
|||||||
# The home.packages option allows you to install Nix packages into your
|
# The home.packages option allows you to install Nix packages into your
|
||||||
# environment.
|
# environment.
|
||||||
home.packages = [
|
home.packages = [
|
||||||
pkgs.legcord
|
|
||||||
pkgs.libgtop
|
pkgs.libgtop
|
||||||
pkgs.mpvpaper
|
pkgs.powertop
|
||||||
|
pkgs.upower
|
||||||
|
#pkgs.mpvpaper
|
||||||
# pkgs.hyprlandPlugins.hyprtrails
|
# pkgs.hyprlandPlugins.hyprtrails
|
||||||
];
|
];
|
||||||
|
|
||||||
# Home Manager is pretty good at managing dotfiles. The primary way to manage
|
# Home Manager is pretty good at managing dotfiles. The primary way to manage
|
||||||
# plain files is through 'home.file'.
|
# plain files is through 'home.file'.
|
||||||
home.file = {
|
home.file = {
|
||||||
# ".config/elinks/elinks.conf".source = ../../dotfiles/elinks/elinks.conf;
|
".config/elinks/elinks.conf".source = ../../../../../private/dotfiles/elinks/elinks.conf;
|
||||||
# ".config/jellyfin-tui/config.yaml".source = ../../dotfiles/jellyfin-tui/config.yaml;
|
".config/jellyfin-tui/config.yaml".source = ../../../../../private/dotfiles/jellyfin-tui/config.yaml;
|
||||||
# ".config/newsboat/config".source = ../../dotfiles/newsboat/config;
|
".config/jellyfin-rpc/urls.json".source = ../../../../../private/dotfiles/jellyfin-rpc/urls.json;
|
||||||
# "quickemu/kubuntu-24.04.conf".source = ../../dotfiles/quickemu/kubuntu-24.04.conf;
|
".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 = {
|
home.sessionVariables = {
|
||||||
EDITOR = "nano";
|
EDITOR = "nano";
|
||||||
};
|
};
|
||||||
|
|
||||||
programs.bash.enable = true;
|
|
||||||
|
|
||||||
programs.alacritty = lib.mkForce {
|
|
||||||
enable = true;
|
|
||||||
settings = {
|
|
||||||
window.opacity = 0.00;
|
|
||||||
# window.blur = true;
|
|
||||||
font.normal = {
|
|
||||||
family = "BigBlueTermPlus Nerd Font";
|
|
||||||
style = "Regular";
|
|
||||||
};
|
|
||||||
};
|
|
||||||
};
|
|
||||||
|
|
||||||
programs.rofi = {
|
|
||||||
enable = true;
|
|
||||||
package = pkgs.rofi-wayland;
|
|
||||||
};
|
|
||||||
|
|
||||||
programs.lazygit.enable = true;
|
|
||||||
|
|
||||||
programs.git = {
|
|
||||||
enable = true;
|
|
||||||
userEmail = "jay@zerojay.com";
|
|
||||||
userName = "jay";
|
|
||||||
extraConfig = {
|
|
||||||
credential.helper = "${
|
|
||||||
pkgs.git.override { withLibsecret = true; }
|
|
||||||
}/bin/git-credential-libsecret";
|
|
||||||
};
|
|
||||||
};
|
|
||||||
|
|
||||||
|
|
||||||
programs.yazi = {
|
|
||||||
enable = true;
|
|
||||||
package = pkgs.yazi;
|
|
||||||
plugins = {
|
|
||||||
"bypass" = pkgs.yaziPlugins.bypass;
|
|
||||||
"chmod" = pkgs.yaziPlugins.chmod;
|
|
||||||
"full-border" = pkgs.yaziPlugins.full-border;
|
|
||||||
"lazygit" = pkgs.yaziPlugins.lazygit;
|
|
||||||
"mediainfo" = pkgs.yaziPlugins.mediainfo;
|
|
||||||
"no-status" = pkgs.yaziPlugins.no-status;
|
|
||||||
"ouch" = pkgs.yaziPlugins.ouch;
|
|
||||||
"restore" = pkgs.yaziPlugins.restore;
|
|
||||||
"smart-enter" = pkgs.yaziPlugins.smart-enter;
|
|
||||||
"toggle-pane" = pkgs.yaziPlugins.toggle-pane;
|
|
||||||
};
|
|
||||||
};
|
|
||||||
|
|
||||||
|
|
||||||
programs.oh-my-posh = {
|
|
||||||
enable = true;
|
|
||||||
enableBashIntegration = true;
|
|
||||||
useTheme = "blueish";
|
|
||||||
};
|
|
||||||
|
|
||||||
programs.rbw = {
|
|
||||||
enable = true;
|
|
||||||
# settings = {
|
|
||||||
# email = "jay@zerojay.com";
|
|
||||||
# base_url = "https://bw.zerojay.com";
|
|
||||||
# };
|
|
||||||
};
|
|
||||||
|
|
||||||
# Let Home Manager install and manage itself.
|
# Let Home Manager install and manage itself.
|
||||||
programs.home-manager.enable = true;
|
programs.home-manager.enable = true;
|
||||||
|
|
||||||
programs.hyprlock = {
|
|
||||||
enable = true;
|
|
||||||
};
|
|
||||||
|
|
||||||
# programs.starship.presets = [ "nerd-font-symbols" ];
|
# programs.starship.presets = [ "nerd-font-symbols" ];
|
||||||
|
|
||||||
programs.hyprpanel = {
|
|
||||||
enable = true;
|
|
||||||
overlay.enable = true;
|
|
||||||
hyprland.enable = true;
|
|
||||||
settings = {
|
|
||||||
layout = {
|
|
||||||
"bar.layouts" = {
|
|
||||||
"0" = {
|
|
||||||
left = [ "dashboard" "separator" "microphone" "volume" "bluetooth" "separator" "network" "separator" "workspaces" "windowtitle" ];
|
|
||||||
middle = [ "media" "cava" ];
|
|
||||||
right = [ "cpu" "cputemp" "ram" "storage" "separator" "systray" "notifications" "separator" "weather" "clock" ];
|
|
||||||
};
|
|
||||||
};
|
|
||||||
};
|
|
||||||
|
|
||||||
bar = {
|
|
||||||
customModules = {
|
|
||||||
cava = {
|
|
||||||
showIcon = false;
|
|
||||||
};
|
|
||||||
cpuTemp.sensor = "/sys/devices/pci0000\:00/0000\:00\:18.3/hwmon/hwmon2/temp3_input";
|
|
||||||
netstat.rateUnit = "MiB";
|
|
||||||
weather.unit = "metric";
|
|
||||||
updates = {
|
|
||||||
label = true;
|
|
||||||
autoHide = false;
|
|
||||||
padZero = true;
|
|
||||||
pollingInterval = 14400000;
|
|
||||||
updateCommand = "cd ~/nixos-config/ && nix flake update && nix build .#nixosConfigurations.nixos.config.system.build.toplevel && nvd diff /run/current-system ./result | grep -e '\[U' | wc -l";
|
|
||||||
icon = {
|
|
||||||
pending = "";
|
|
||||||
updated = "";
|
|
||||||
};
|
|
||||||
};
|
|
||||||
};
|
|
||||||
|
|
||||||
launcher.autoDetectIcon = true;
|
|
||||||
media = {
|
|
||||||
truncation = true;
|
|
||||||
truncation_size = 70;
|
|
||||||
};
|
|
||||||
workspaces = {
|
|
||||||
show_icons = true;
|
|
||||||
showApplicationIcons = true;
|
|
||||||
ignored = "-\\\\d+";
|
|
||||||
};
|
|
||||||
network = {
|
|
||||||
showWifiInfo = true;
|
|
||||||
truncation = false;
|
|
||||||
label = true;
|
|
||||||
};
|
|
||||||
windowtitle = {
|
|
||||||
class_name = false;
|
|
||||||
custom_title = false;
|
|
||||||
truncation = true;
|
|
||||||
truncation_size = 70;
|
|
||||||
};
|
|
||||||
};
|
|
||||||
|
|
||||||
#theme.name = "nord";
|
|
||||||
# Wipeout HD Theme
|
|
||||||
#theme.name = "catppuccin_latte";
|
|
||||||
# Wipeout HD Reverse Theme
|
|
||||||
theme.name = "monochrome";
|
|
||||||
|
|
||||||
menus.clock = {
|
|
||||||
time = {
|
|
||||||
military = true;
|
|
||||||
hideSeconds = true;
|
|
||||||
};
|
|
||||||
weather = {
|
|
||||||
location = "Montreal";
|
|
||||||
key = "0bec3053c1c64737a5b42727251005";
|
|
||||||
unit = "metric";
|
|
||||||
};
|
|
||||||
};
|
|
||||||
|
|
||||||
menus.dashboard = {
|
|
||||||
directories = {
|
|
||||||
enabled = true;
|
|
||||||
left = {
|
|
||||||
directory1.command = "bash -c \"xdg-open $HOME/downloads/\"";
|
|
||||||
directory2.command = "bash -c \"xdg-open $HOME/videos/\"";
|
|
||||||
directory3.command = "bash -c \"xdg-open $HOME/games/\"";
|
|
||||||
directory3.label = " Games";
|
|
||||||
};
|
|
||||||
right = {
|
|
||||||
directory1.command = "bash -c \"xdg-open $HOME/documents/\"";
|
|
||||||
directory2.command = "bash -c \"xdg-open $HOME/pictures/\"";
|
|
||||||
directory3.command = "bash -c \"xdg-open $HOME/\"";
|
|
||||||
};
|
|
||||||
};
|
|
||||||
shortcuts = {
|
|
||||||
left = {
|
|
||||||
shortcut1 = {
|
|
||||||
command = "zen-twilight";
|
|
||||||
icon = "";
|
|
||||||
tooltip = "Zen Twilight";
|
|
||||||
};
|
|
||||||
shortcut2 = {
|
|
||||||
command = "steam --disable-gpu-compositing";
|
|
||||||
icon = "";
|
|
||||||
tooltip = "Steam";
|
|
||||||
};
|
|
||||||
shortcut3 = {
|
|
||||||
command = "vesktop";
|
|
||||||
tooltip = "Vesktop";
|
|
||||||
};
|
|
||||||
};
|
|
||||||
|
|
||||||
right = {
|
|
||||||
shortcut3.command = "hyprshot -zm region --clipboard-only";
|
|
||||||
};
|
|
||||||
};
|
|
||||||
stats.enable_gpu = true;
|
|
||||||
recording.path = "$HOME/Videos/recording";
|
|
||||||
};
|
|
||||||
|
|
||||||
menus.media = {
|
|
||||||
displayTime = true;
|
|
||||||
displayTimeTooltip = true;
|
|
||||||
};
|
|
||||||
|
|
||||||
theme = {
|
|
||||||
bar = {
|
|
||||||
transparent = true;
|
|
||||||
floating = false;
|
|
||||||
};
|
|
||||||
|
|
||||||
font = {
|
|
||||||
size = "12px";
|
|
||||||
name = "BigBlueTermPlus Nerd Font";
|
|
||||||
};
|
|
||||||
};
|
|
||||||
|
|
||||||
wallpaper.enable = false;
|
|
||||||
|
|
||||||
#bar.workspaces.workspaceIconMap = {
|
|
||||||
# "1" = "";
|
|
||||||
# "3" = "";
|
|
||||||
# "4" = "";
|
|
||||||
# };
|
|
||||||
};
|
|
||||||
};
|
|
||||||
|
|
||||||
stylix = {
|
|
||||||
enable = true;
|
|
||||||
base16Scheme = "${pkgs.base16-schemes}/share/themes/onedark.yaml";
|
|
||||||
#image = ./qat02.png;
|
|
||||||
# Wipeout HD Theme
|
|
||||||
#image = ./wipeout.png;
|
|
||||||
# Wipeout HD Reverse Theme
|
|
||||||
#image = ./wipeoutreverse.png;
|
|
||||||
targets = {
|
|
||||||
# hyprpaper.enable = lib.mkForce false;
|
|
||||||
mako.enable = false;
|
|
||||||
qt.enable = false;
|
|
||||||
};
|
|
||||||
|
|
||||||
};
|
|
||||||
|
|
||||||
services = {
|
|
||||||
fluidsynth = {
|
|
||||||
enable = true;
|
|
||||||
soundService = "pipewire-pulse";
|
|
||||||
};
|
|
||||||
|
|
||||||
hypridle = {
|
|
||||||
enable = true;
|
|
||||||
settings = {
|
|
||||||
general = {
|
|
||||||
lock_cmd = "pidof hyprlock || hyprlock";
|
|
||||||
#before_sleep_cmd = "loginctl lock-session";
|
|
||||||
#after_sleep_cmd = "hyprctl dispatch dpms on";
|
|
||||||
};
|
|
||||||
|
|
||||||
listener = [
|
|
||||||
{
|
|
||||||
timeout = 300;
|
|
||||||
on-timeout = "loginctl lock-session";
|
|
||||||
}
|
|
||||||
];
|
|
||||||
};
|
|
||||||
};
|
|
||||||
};
|
|
||||||
|
|
||||||
wayland.windowManager.hyprland = {
|
|
||||||
# Allow home-manager to configure hyprland
|
|
||||||
enable = true;
|
|
||||||
xwayland.enable = true;
|
|
||||||
systemd.enable = true;
|
|
||||||
|
|
||||||
plugins = [
|
|
||||||
#pkgs.hyprlandPlugins.hyprtrails
|
|
||||||
#pkgs.hyprlandPlugins.hyprbars
|
|
||||||
#inputs.hyprland-plugins.packages."${pkgs.system}".hyprtrails
|
|
||||||
#inputs.hypr-darkwindow.packages.${pkgs.system}.Hypr-DarkWindow
|
|
||||||
];
|
|
||||||
|
|
||||||
settings = {
|
|
||||||
"$terminal" = "alacritty";
|
|
||||||
"$filemanager" = "dolphin";
|
|
||||||
"$menu" = "rofi -show drun -show-icons";
|
|
||||||
|
|
||||||
"$mainMod" = "SUPER";
|
|
||||||
|
|
||||||
bind = [
|
|
||||||
"$mainMod, Q, exec, $terminal"
|
|
||||||
"$mainMod, C, killactive,"
|
|
||||||
"$mainMod, M, exit,"
|
|
||||||
"$mainMod, E, exec, $fileManager"
|
|
||||||
"$mainMod, F, togglefloating,"
|
|
||||||
"$mainMod, R, exec, $menu"
|
|
||||||
"$mainMod, P, pseudo"
|
|
||||||
"$mainMod, J, togglesplit"
|
|
||||||
"$mainMod, l, exec, hyprlock"
|
|
||||||
|
|
||||||
# "$mainMod, V, exec, cliphist list | rofi -dmenu | cliphost decode | wl-copy"
|
|
||||||
"$mainMod, V, exec, $terminal --class clipse -e 'clipse'"
|
|
||||||
|
|
||||||
"$mainMod, left, movefocus, l"
|
|
||||||
"$mainMod, right, movefocus, r"
|
|
||||||
"$mainMod, up, movefocus, u"
|
|
||||||
"$mainMod, down, movefocus, d"
|
|
||||||
|
|
||||||
"$mainMod, 1, workspace, 1"
|
|
||||||
"$mainMod, 2, workspace, 2"
|
|
||||||
"$mainMod, 3, workspace, 3"
|
|
||||||
"$mainMod, 4, workspace, 4"
|
|
||||||
"$mainMod, 5, workspace, 5"
|
|
||||||
"$mainMod, 6, workspace, 6"
|
|
||||||
"$mainMod, 7, workspace, 7"
|
|
||||||
"$mainMod, 8, workspace, 8"
|
|
||||||
"$mainMod, 9, workspace, 9"
|
|
||||||
"$mainMod, 0, workspace, 10"
|
|
||||||
|
|
||||||
"$mainMod SHIFT, Q, exec, hdrop --floating --gap 60 --width 50 $terminal --class alacritty"
|
|
||||||
|
|
||||||
"$mainMod SHIFT, 1, movetoworkspace, 1"
|
|
||||||
"$mainMod SHIFT, 2, movetoworkspace, 2"
|
|
||||||
"$mainMod SHIFT, 3, movetoworkspace, 3"
|
|
||||||
"$mainMod SHIFT, 4, movetoworkspace, 4"
|
|
||||||
"$mainMod SHIFT, 5, movetoworkspace, 5"
|
|
||||||
"$mainMod SHIFT, 6, movetoworkspace, 6"
|
|
||||||
"$mainMod SHIFT, 7, movetoworkspace, 7"
|
|
||||||
"$mainMod SHIFT, 8, movetoworkspace, 8"
|
|
||||||
"$mainMod SHIFT, 9, movetoworkspace, 9"
|
|
||||||
"$mainMod SHIFT, 0, movetoworkspace, 10"
|
|
||||||
|
|
||||||
"$mainMod SHIFT, right, resizeactive, 10 0"
|
|
||||||
"$mainMod SHIFT, left, resizeactive, -10 0"
|
|
||||||
"$mainMod SHIFT, up, resizeactive, 0 -10"
|
|
||||||
"$mainMod SHIFT, down, resizeactive, 0 10"
|
|
||||||
|
|
||||||
"$mainMod, S, exec, hyprshot -zm region --clipboard-only"
|
|
||||||
"$mainMod SHIFT, S, exec, hyprshot -zm region"
|
|
||||||
|
|
||||||
"$mainMod, F9, exec, playerctl previous"
|
|
||||||
"$mainMod, F10, exec, playerctl play-pause"
|
|
||||||
"$mainMod, F11, exec, playerctl next"
|
|
||||||
|
|
||||||
#"$mainMod, S, togglespecialworkspace, magic"
|
|
||||||
#"$mainMod SHIFT, S, movetoworkspace, special:magic"
|
|
||||||
];
|
|
||||||
|
|
||||||
bindm = [
|
|
||||||
"$mainMod, mouse:272, movewindow"
|
|
||||||
"$mainMod, mouse:273, resizewindow"
|
|
||||||
];
|
|
||||||
|
|
||||||
bindel = [
|
|
||||||
",XF86AudioRaiseVolume, exec, wpctl set-volume -l 1 @DEFAULT_AUDIO_SINK@ 5%+"
|
|
||||||
",XF86AudioLowerVolume, exec, wpctl set-volume @DEFAULT_AUDIO_SINK@ 5%-"
|
|
||||||
",XF86AudioMute, exec, wpctl set-mute @DEFAULT_AUDIO_SINK@ toggle"
|
|
||||||
",XF86AudioMicMute, exec, wpctl set-mute @DEFAULT_AUDIO_SOURCE@ toggle"
|
|
||||||
",XF86MonBrightnessUp, exec, brightnessctl s 10%+"
|
|
||||||
",XF86MonBrightnessDown, exec, brightnessctl s 10%-"
|
|
||||||
];
|
|
||||||
|
|
||||||
bindl = [
|
|
||||||
" , XF86AudioNext, exec, playerctl next"
|
|
||||||
" , XF86AudioPause, exec, playerctl play-pause"
|
|
||||||
" , XF86AudioPlay, exec, playerctl play-pause"
|
|
||||||
" , XF86AudioPrev, exec, playerctl previous"
|
|
||||||
];
|
|
||||||
|
|
||||||
env = [
|
|
||||||
"XCURSOR_SIZE,24"
|
|
||||||
"HYPRCURSOR_SIZE,24"
|
|
||||||
"LIBVA_DRIVER_NAME,nvidia"
|
|
||||||
"__GLX_VENDOR_LIBRARY_NAME,nvidia"
|
|
||||||
"ELECTRON_OZONE_PLATFORM_HINT,auto"
|
|
||||||
"NVD_BACKEND,direct"
|
|
||||||
];
|
|
||||||
|
|
||||||
general = {
|
|
||||||
layout = "dwindle";
|
|
||||||
gaps_in = 5;
|
|
||||||
gaps_out = 20;
|
|
||||||
border_size = 2;
|
|
||||||
#"col.active_border" = "rgba(33ccffee) rgba(00ff99ee) 45deg";
|
|
||||||
#"col.inactive_border" = "rgba(595959aa)";
|
|
||||||
|
|
||||||
|
|
||||||
allow_tearing = true;
|
|
||||||
resize_on_border = true;
|
|
||||||
};
|
|
||||||
|
|
||||||
misc = {
|
|
||||||
enable_anr_dialog = false;
|
|
||||||
vrr = 0;
|
|
||||||
# anr_missed_pings = 3;
|
|
||||||
disable_hyprland_logo = true;
|
|
||||||
};
|
|
||||||
|
|
||||||
debug = {
|
|
||||||
full_cm_proto = true;
|
|
||||||
};
|
|
||||||
|
|
||||||
decoration = {
|
|
||||||
rounding = 10;
|
|
||||||
rounding_power = 2;
|
|
||||||
active_opacity = 1.0;
|
|
||||||
inactive_opacity = 1.0;
|
|
||||||
blur = {
|
|
||||||
enabled = false;
|
|
||||||
vibrancy = 0.1696;
|
|
||||||
|
|
||||||
passes = 1;
|
|
||||||
size = 3;
|
|
||||||
};
|
|
||||||
shadow = {
|
|
||||||
enabled = true;
|
|
||||||
range = 4;
|
|
||||||
render_power = 3;
|
|
||||||
#color = "rgba(1a1a1aee)";
|
|
||||||
};
|
|
||||||
};
|
|
||||||
|
|
||||||
animations = {
|
|
||||||
enabled = true;
|
|
||||||
|
|
||||||
bezier = [
|
|
||||||
"easeOutQuint,0.23,1,0.32,1"
|
|
||||||
"easeInOutCubic,0.65,0.05,0.36,1"
|
|
||||||
"linear,0,0,1,1"
|
|
||||||
"almostLinear,0.5,0.5,0.75,1.0"
|
|
||||||
"quick,0.15,0,0.1,1"
|
|
||||||
];
|
|
||||||
|
|
||||||
animation = [
|
|
||||||
"global, 1, 10, default"
|
|
||||||
"border, 1, 5.39, easeOutQuint"
|
|
||||||
"windows, 1, 4.79, easeOutQuint"
|
|
||||||
"windowsIn, 1, 4.1, easeOutQuint, popin 87%"
|
|
||||||
"windowsOut, 1, 1.49, linear, popin 87%"
|
|
||||||
"fadeIn, 1, 1.73, almostLinear"
|
|
||||||
"fadeOut, 1, 1.46, almostLinear"
|
|
||||||
"fade, 1, 3.03, quick"
|
|
||||||
"layers, 1, 3.81, easeOutQuint"
|
|
||||||
"layersIn, 1, 4, easeOutQuint, fade"
|
|
||||||
"layersOut, 1, 1.5, linear, fade"
|
|
||||||
"fadeLayersIn, 1, 1.79, almostLinear"
|
|
||||||
"fadeLayersOut, 1, 1.39, almostLinear"
|
|
||||||
"workspaces, 1, 1.94, almostLinear, fade"
|
|
||||||
"workspacesIn, 1, 1.21, almostLinear, fade"
|
|
||||||
"workspacesOut, 1, 1.94, almostLinear, fade"
|
|
||||||
];
|
|
||||||
};
|
|
||||||
|
|
||||||
#"plugin:borders-plus-plus" = {
|
|
||||||
# add_borders = 1; # 0 - 9
|
|
||||||
|
|
||||||
# you can add up to 9 borders
|
|
||||||
#"col.border_1" = "rgb(ffffff)";
|
|
||||||
#"col.border_2" = "rgb(2222ff)";
|
|
||||||
|
|
||||||
# -1 means "default" as in the one defined in general:border_size
|
|
||||||
# border_size_1 = 10;
|
|
||||||
# border_size_2 = -1;
|
|
||||||
|
|
||||||
# makes outer edges match rounding of the parent. Turn on / off to better understand. Default = on.
|
|
||||||
# natural_rounding = "yes";
|
|
||||||
#};
|
|
||||||
|
|
||||||
#"plugin:hyprbars" = {
|
|
||||||
# enable = true;
|
|
||||||
#};
|
|
||||||
|
|
||||||
# Execute on startup.
|
|
||||||
exec-once = [
|
|
||||||
# "systemctl --user start hyprpolkitagent"
|
|
||||||
"steam --disable-gpu-compositing" # nvidia pls let me have nice things
|
|
||||||
#"vesktop"
|
|
||||||
"legcord"
|
|
||||||
# "[workspace 9 silent] ELECTRON_OZONE_PLATFORM_HINT=x11 1password" # fix for promts not showing up anymore
|
|
||||||
"zen-twilight"
|
|
||||||
# "${pkgs.xorg.xhost}/bin/xhost +"
|
|
||||||
#"${pkgs.waybar}/bin/waybar &"
|
|
||||||
#"${pkgs.dunst}/bin/dunst &"
|
|
||||||
"clipse -listen"
|
|
||||||
"streamcontroller"
|
|
||||||
#"session-desktop"
|
|
||||||
#"wl-clipboard-history -t"
|
|
||||||
#"wl-paste --watch cliphist store"
|
|
||||||
#"rm $HOME/.cache/cliphist/db"
|
|
||||||
#"hyprpanel &"
|
|
||||||
];
|
|
||||||
|
|
||||||
windowrulev2 = [
|
|
||||||
"workspace 1 silent, class:^(zen-twilight)$"
|
|
||||||
"workspace 2 silent, class:^(steam)$"
|
|
||||||
"workspace 3 silent, class:^(legcord)$"
|
|
||||||
"workspace 4 silent, class:^(com.core447.StreamController)$"
|
|
||||||
"float,class:(clipse)$"
|
|
||||||
"size 622 652,class:(clipse)$"
|
|
||||||
];
|
|
||||||
|
|
||||||
};
|
|
||||||
};
|
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
12
nodes/hosts/common/home/jay/programs/alacritty.nix
Normal file
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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:
|
# List packages installed in system profile. To search, run:
|
||||||
# $ nix search wget
|
# $ nix search wget
|
||||||
environment.systemPackages = [
|
environment.systemPackages = [
|
||||||
@@ -13,5 +13,9 @@
|
|||||||
services.flatpak.packages = [
|
services.flatpak.packages = [
|
||||||
"io.github.ryubing.Ryujinx"
|
"io.github.ryubing.Ryujinx"
|
||||||
];
|
];
|
||||||
|
|
||||||
|
environment.shellAliases = {
|
||||||
|
ryujinx = "flatpak run io.github.ryubing.Ryujinx";
|
||||||
|
};
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
@@ -1,4 +1,4 @@
|
|||||||
{ pkgs, ... }: {
|
{ ... }: {
|
||||||
programs.firefox.enable = true;
|
programs.firefox.enable = true;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
@@ -1,4 +1,4 @@
|
|||||||
{ pkgs, ... }: {
|
{ pkgs, pkgs-unstable, ... }: {
|
||||||
# List packages installed in system profile. To search, run:
|
# List packages installed in system profile. To search, run:
|
||||||
# $ nix search wget
|
# $ nix search wget
|
||||||
environment.systemPackages = [
|
environment.systemPackages = [
|
||||||
@@ -11,6 +11,8 @@
|
|||||||
pkgs.protonup-qt
|
pkgs.protonup-qt
|
||||||
pkgs.wineWowPackages.stable
|
pkgs.wineWowPackages.stable
|
||||||
pkgs.winetricks
|
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:
|
# List packages installed in system profile. To search, run:
|
||||||
# $ nix search wget
|
# $ nix search wget
|
||||||
|
|
||||||
@@ -11,19 +11,21 @@
|
|||||||
|
|
||||||
environment.systemPackages = [
|
environment.systemPackages = [
|
||||||
pkgs.age
|
pkgs.age
|
||||||
pkgs.arrpc
|
|
||||||
pkgs.alsa-utils
|
pkgs.alsa-utils
|
||||||
pkgs.bitwarden-cli
|
pkgs.bitwarden-cli
|
||||||
pkgs.bitwarden-menu
|
pkgs.bitwarden-menu
|
||||||
pkgs.btop
|
pkgs.btop
|
||||||
pkgs.chatterino2
|
pkgs.chatterino2
|
||||||
pkgs.clipse
|
pkgs.clipse
|
||||||
|
#(pkgs.discord.override { withMoonlight = true; })
|
||||||
pkgs.dmidecode
|
pkgs.dmidecode
|
||||||
pkgs.dysk
|
pkgs.dysk
|
||||||
pkgs.elinks
|
pkgs.elinks
|
||||||
pkgs.fastfetch
|
pkgs.fastfetch
|
||||||
|
pkgs.gearlever
|
||||||
pkgs.git
|
pkgs.git
|
||||||
pkgs.gpustat
|
pkgs.gnumake
|
||||||
|
#pkgs.gpustat
|
||||||
pkgs.hdrop
|
pkgs.hdrop
|
||||||
pkgs.htop
|
pkgs.htop
|
||||||
pkgs.libmpg123
|
pkgs.libmpg123
|
||||||
@@ -31,11 +33,14 @@
|
|||||||
pkgs.jellyfin-tui
|
pkgs.jellyfin-tui
|
||||||
pkgs.lsd
|
pkgs.lsd
|
||||||
pkgs.lshw
|
pkgs.lshw
|
||||||
|
pkgs.lunarvim
|
||||||
pkgs.neovim
|
pkgs.neovim
|
||||||
pkgs.newsboat
|
pkgs.newsboat
|
||||||
pkgs.nix-melt
|
pkgs.nix-melt
|
||||||
|
pkgs.nix-search-tv
|
||||||
pkgs.nvd
|
pkgs.nvd
|
||||||
pkgs.nyxt
|
pkgs.nyxt
|
||||||
|
pkgs.overlayed
|
||||||
pkgs.p7zip-rar
|
pkgs.p7zip-rar
|
||||||
pkgs.pciutils
|
pkgs.pciutils
|
||||||
pkgs.pinentry-curses
|
pkgs.pinentry-curses
|
||||||
@@ -45,11 +50,15 @@
|
|||||||
pkgs.rofi-rbw-wayland
|
pkgs.rofi-rbw-wayland
|
||||||
pkgs.sops
|
pkgs.sops
|
||||||
pkgs.teams-for-linux
|
pkgs.teams-for-linux
|
||||||
|
pkgs.television
|
||||||
pkgs.tree
|
pkgs.tree
|
||||||
pkgs.unrar
|
pkgs.unrar
|
||||||
pkgs.unzip
|
pkgs.unzip
|
||||||
pkgs.usbutils
|
pkgs.usbutils
|
||||||
|
pkgs.vlc
|
||||||
pkgs.wf-recorder
|
pkgs.wf-recorder
|
||||||
|
pkgs.zip
|
||||||
|
pkgs'.nixverse
|
||||||
];
|
];
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
@@ -1,4 +1,4 @@
|
|||||||
{ pkgs, ... }: {
|
{ ... }: {
|
||||||
programs.git.enable = true;
|
programs.git.enable = true;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
@@ -1,4 +1,4 @@
|
|||||||
{ config, inputs, lib, pkgs, ... }: {
|
{ pkgs, ... }: {
|
||||||
# List packages installed in system profile. To search, run:
|
# List packages installed in system profile. To search, run:
|
||||||
# $ nix search wget
|
# $ nix search wget
|
||||||
|
|
||||||
|
|||||||
@@ -1,4 +1,4 @@
|
|||||||
{ pkgs, inputs, ... }: {
|
{ pkgs, ... }: {
|
||||||
# Install hyprland
|
# Install hyprland
|
||||||
programs.hyprland = {
|
programs.hyprland = {
|
||||||
enable = true;
|
enable = true;
|
||||||
@@ -12,6 +12,7 @@
|
|||||||
environment.systemPackages = [
|
environment.systemPackages = [
|
||||||
# Fix for hyprpanel network icon
|
# Fix for hyprpanel network icon
|
||||||
pkgs.adwaita-icon-theme
|
pkgs.adwaita-icon-theme
|
||||||
|
pkgs.cava
|
||||||
pkgs.grim
|
pkgs.grim
|
||||||
pkgs.hyprpicker
|
pkgs.hyprpicker
|
||||||
pkgs.hyprshot
|
pkgs.hyprshot
|
||||||
|
|||||||
@@ -1,4 +1,4 @@
|
|||||||
{ pkgs, inputs, ... }: {
|
{ pkgs, ... }: {
|
||||||
# List packages installed in system profile. To search, run:
|
# List packages installed in system profile. To search, run:
|
||||||
# $ nix search wget
|
# $ nix search wget
|
||||||
environment.systemPackages = [
|
environment.systemPackages = [
|
||||||
|
|||||||
10
nodes/hosts/common/programs/open-tv.nix
Normal file
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.
|
# Install steam.
|
||||||
programs = {
|
programs = {
|
||||||
gamemode.enable = true;
|
gamemode.enable = true;
|
||||||
gamescope.enable = true;
|
gamescope = {
|
||||||
|
enable = true;
|
||||||
|
capSysNice = true;
|
||||||
|
};
|
||||||
|
|
||||||
steam = {
|
steam = {
|
||||||
enable = true;
|
enable = true;
|
||||||
@@ -10,6 +13,10 @@
|
|||||||
remotePlay.openFirewall = true; # Open ports in the firewall for Steam Remote Play
|
remotePlay.openFirewall = true; # Open ports in the firewall for Steam Remote Play
|
||||||
dedicatedServer.openFirewall = true; # Open ports in the firewall for Source Dedicated Server
|
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
|
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.
|
package = pkgs.steam.override { # Fix Overwatch and other games showing wrong timezone in-game.
|
||||||
extraProfile = ''
|
extraProfile = ''
|
||||||
unset TZ
|
unset TZ
|
||||||
@@ -23,7 +30,7 @@
|
|||||||
};
|
};
|
||||||
|
|
||||||
environment.systemPackages = [
|
environment.systemPackages = [
|
||||||
pkgs.mangohud
|
pkgs.samrewritten
|
||||||
];
|
];
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
@@ -1,3 +1,3 @@
|
|||||||
{ pkgs, ...}: {
|
{ ... }: {
|
||||||
services.blueman.enable = true;
|
services.blueman.enable = true;
|
||||||
}
|
}
|
||||||
|
|||||||
7
nodes/hosts/common/services/btrfs.nix
Normal file
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 = {
|
services.flatpak = {
|
||||||
enable = true;
|
enable = true;
|
||||||
update.onActivation = true;
|
update.onActivation = true;
|
||||||
|
|||||||
@@ -1,14 +1,22 @@
|
|||||||
{ ... }: {
|
{ pkgs, ... }: {
|
||||||
|
|
||||||
# Enable sound with pipewire.
|
# Enable sound with pipewire.
|
||||||
services.pulseaudio.enable = false;
|
services.pulseaudio = {
|
||||||
|
enable = false;
|
||||||
|
package = pkgs.pulseaudioFull;
|
||||||
|
};
|
||||||
|
|
||||||
services.pipewire = {
|
services.pipewire = {
|
||||||
enable = true;
|
enable = true;
|
||||||
alsa.enable = true;
|
alsa.enable = true;
|
||||||
alsa.support32Bit = true;
|
alsa.support32Bit = true;
|
||||||
pulse.enable = true;
|
pulse.enable = true;
|
||||||
|
#wireplumber.enable = true;
|
||||||
# If you want to use JACK applications, uncomment this
|
# If you want to use JACK applications, uncomment this
|
||||||
jack.enable = true;
|
jack.enable = true;
|
||||||
|
|
||||||
|
lowLatency.enable = false;
|
||||||
|
|
||||||
# use the example session manager (no others are packaged yet so this is enabled by default,
|
# 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)
|
# no need to redefine it in your config for now)
|
||||||
#media-session.enable = true;
|
#media-session.enable = true;
|
||||||
|
|||||||
@@ -1,13 +1,29 @@
|
|||||||
{ ... }: {
|
{ pkgs, ... }: {
|
||||||
hardware.bluetooth = {
|
hardware.bluetooth = {
|
||||||
enable = true; # enables support for Bluetooth
|
enable = true; # enables support for Bluetooth
|
||||||
|
package = pkgs.bluez-experimental;
|
||||||
powerOnBoot = true; # powers up the default Bluetooth controller on boot
|
powerOnBoot = true; # powers up the default Bluetooth controller on boot
|
||||||
settings.General = {
|
settings = {
|
||||||
|
LE = {
|
||||||
|
MinConnectionInterval = 16;
|
||||||
|
MaxConnectionInterval = 16;
|
||||||
|
ConnectionLatency = 10;
|
||||||
|
ConnectionSupervisionTimeout = 100;
|
||||||
|
};
|
||||||
|
|
||||||
|
General = {
|
||||||
|
Enable = "Source,Sink,Media,Socket";
|
||||||
Privacy = "device";
|
Privacy = "device";
|
||||||
JustWorksRepairing = "always";
|
JustWorksRepairing = "always";
|
||||||
Class = "0x000100";
|
Class = "0x000100";
|
||||||
|
Experimental = true;
|
||||||
FastConnectable = true;
|
FastConnectable = true;
|
||||||
};
|
};
|
||||||
|
|
||||||
|
Policy = {
|
||||||
|
AutoEnable = true;
|
||||||
|
};
|
||||||
|
};
|
||||||
};
|
};
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
37
nodes/hosts/common/system/bootloader.nix
Normal file
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;
|
||||||
|
};
|
||||||
|
}
|
||||||
|
|
||||||
@@ -9,7 +9,6 @@
|
|||||||
|
|
||||||
shellAliases = {
|
shellAliases = {
|
||||||
ls = "lsd -la";
|
ls = "lsd -la";
|
||||||
ryujinx = "flatpak run io.github.ryubing.Ryujinx";
|
|
||||||
};
|
};
|
||||||
|
|
||||||
# Get plasma integration with browsers to work better.
|
# Get plasma integration with browsers to work better.
|
||||||
|
|||||||
@@ -1,4 +1,4 @@
|
|||||||
{ config, lib, ...}: {
|
{ lib, ... }: {
|
||||||
networking.networkmanager.enable = true;
|
networking.networkmanager.enable = true;
|
||||||
networking.useDHCP = lib.mkDefault true;
|
networking.useDHCP = lib.mkDefault true;
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -12,5 +12,6 @@
|
|||||||
# Allow unfree packages
|
# Allow unfree packages
|
||||||
nixpkgs.config.allowUnfree = true;
|
nixpkgs.config.allowUnfree = true;
|
||||||
|
|
||||||
|
# Use some of our RAM as swap space.
|
||||||
zramSwap.enable = true;
|
zramSwap.enable = true;
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -10,10 +10,13 @@
|
|||||||
];
|
];
|
||||||
};
|
};
|
||||||
|
|
||||||
|
# For security reasons, we are disabling the use of regular sudo and...
|
||||||
sudo = {
|
sudo = {
|
||||||
enable = lib.mkForce false;
|
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 = {
|
sudo-rs = {
|
||||||
enable = true;
|
enable = true;
|
||||||
wheelNeedsPassword = true;
|
wheelNeedsPassword = true;
|
||||||
|
|||||||
12
nodes/hosts/common/system/sops.nix
Normal file
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’.
|
# Let's setup our user accounts here.
|
||||||
users.users.jay = {
|
|
||||||
|
#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;
|
isNormalUser = true;
|
||||||
description = "jay";
|
description = "jay";
|
||||||
#hashedPasswordFile = config.sops.secrets.password_hash.path;
|
#hashedPasswordFile = config.sops.secrets.jay_password_hash.path;
|
||||||
hashedPassword = "$6$RTOXVXRP1iLIXnQb$rVtTeqlJ7g3AcZgftmVdKFnT2ggCsnVayPlT4beLST9Oz2LHGT2fdcOC/yaQkISK3wzFLqh47fSHgQvRUWpl41";
|
hashedPassword = "$y$j9T$oomgQFsMbc0odlNIUXEpq/$dhgLjElzaJuU3rF1wXGcSXFUWC/fP1g5mAPZizKUFQ4";
|
||||||
extraGroups = [ "networkmanager" "wheel" ];
|
|
||||||
|
# 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/nixos-wallpaper.png
Normal file
BIN
nodes/hosts/common/wallpapers/nixos-wallpaper.png
Normal file
Binary file not shown.
|
After Width: | Height: | Size: 299 KiB |
@@ -4,4 +4,8 @@
|
|||||||
channel = "stable";
|
channel = "stable";
|
||||||
};
|
};
|
||||||
lappy = {};
|
lappy = {};
|
||||||
|
nixy = {
|
||||||
|
deploy.local = true;
|
||||||
|
};
|
||||||
|
nixwork = {};
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -2,13 +2,15 @@
|
|||||||
# your system. Help is available in the configuration.nix(5) man page, 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`).
|
# https://search.nixos.org/options and in the NixOS manual (`nixos-help`).
|
||||||
|
|
||||||
{ config, lib, pkgs, ... }:
|
{ ... }:
|
||||||
|
|
||||||
{
|
{
|
||||||
imports =
|
imports =
|
||||||
[ # Include the results of the hardware scan.
|
[ # Include the results of the hardware scan.
|
||||||
./hardware-configuration.nix
|
./hardware-configuration.nix
|
||||||
./programs/sof-firmware.nix
|
./programs/sof-firmware.nix
|
||||||
|
# Not working yet.
|
||||||
|
#./services/fprintd.nix
|
||||||
./services/touchpad.nix
|
./services/touchpad.nix
|
||||||
./system/bootloader.nix
|
./system/bootloader.nix
|
||||||
./system/filesystems.nix
|
./system/filesystems.nix
|
||||||
|
|||||||
@@ -48,6 +48,21 @@
|
|||||||
"noatime"
|
"noatime"
|
||||||
];
|
];
|
||||||
};
|
};
|
||||||
|
"/root-blank" = {
|
||||||
|
mountOptions = [
|
||||||
|
"subvol=root-blank"
|
||||||
|
"nodatacow"
|
||||||
|
"noatime"
|
||||||
|
];
|
||||||
|
};
|
||||||
|
"/home" = {
|
||||||
|
mountpoint = "/home";
|
||||||
|
mountOptions = [
|
||||||
|
"subvol=home"
|
||||||
|
"compress=zstd"
|
||||||
|
"noatime"
|
||||||
|
];
|
||||||
|
};
|
||||||
"/nix" = {
|
"/nix" = {
|
||||||
mountpoint = "/nix";
|
mountpoint = "/nix";
|
||||||
mountOptions = [
|
mountOptions = [
|
||||||
@@ -72,6 +87,13 @@
|
|||||||
"noatime"
|
"noatime"
|
||||||
];
|
];
|
||||||
};
|
};
|
||||||
|
"/lib" = {
|
||||||
|
mountpoint = "/var/lib";
|
||||||
|
mountOptions = [
|
||||||
|
"subvol=lib"
|
||||||
|
"compress=zstd"
|
||||||
|
"noatime"
|
||||||
|
];
|
||||||
};
|
};
|
||||||
};
|
};
|
||||||
};
|
};
|
||||||
@@ -81,6 +103,8 @@
|
|||||||
};
|
};
|
||||||
};
|
};
|
||||||
};
|
};
|
||||||
fileSystems."/nix/persist".neededForBoot = true;
|
};
|
||||||
|
fileSystems."/persist".neededForBoot = true;
|
||||||
fileSystems."/var/log".neededForBoot = true;
|
fileSystems."/var/log".neededForBoot = true;
|
||||||
|
fileSystems."/var/lib".neededForBoot = true;
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -1,7 +1,7 @@
|
|||||||
# Do not modify this file! It was generated by ‘nixos-generate-config’
|
# Do not modify this file! It was generated by ‘nixos-generate-config’
|
||||||
# and may be overwritten by future invocations. Please make changes
|
# and may be overwritten by future invocations. Please make changes
|
||||||
# to /etc/nixos/configuration.nix instead.
|
# to /etc/nixos/configuration.nix instead.
|
||||||
{ config, lib, pkgs, modulesPath, ... }:
|
{ config, lib, modulesPath, ... }:
|
||||||
|
|
||||||
{
|
{
|
||||||
imports =
|
imports =
|
||||||
|
|||||||
@@ -1,33 +1,8 @@
|
|||||||
{ config, pkgs, inputs, lib, ... }:
|
{ ... }:
|
||||||
|
|
||||||
{
|
{
|
||||||
programs.hyprpanel = {
|
imports = [
|
||||||
settings = {
|
./programs/hyprland.nix
|
||||||
layout = {
|
./programs/hyprpanel.nix
|
||||||
"bar.layouts" = {
|
|
||||||
"0" = {
|
|
||||||
right = [ "battery" ];
|
|
||||||
};
|
|
||||||
};
|
|
||||||
};
|
|
||||||
|
|
||||||
bar = {
|
|
||||||
customModules = {
|
|
||||||
cava = {
|
|
||||||
framerate = lib.mkForce 120;
|
|
||||||
};
|
|
||||||
};
|
|
||||||
};
|
|
||||||
};
|
|
||||||
};
|
|
||||||
|
|
||||||
wayland.windowManager.hyprland = {
|
|
||||||
settings = {
|
|
||||||
"monitor" = "eDP-1, 2880x1800@120, 0x0, 1";
|
|
||||||
exec-once = [
|
|
||||||
"mpvpaper -vfp -o 'no-audio no-keepaspect loop vf=lavfi=negate' eDP-1 ../../../common/wallpapers/wipeout.mkv"
|
|
||||||
];
|
];
|
||||||
};
|
|
||||||
};
|
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
7
nodes/hosts/lappy/home/jay/programs/hyprland.nix
Normal file
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
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;
|
||||||
|
};
|
||||||
|
};
|
||||||
|
};
|
||||||
|
};
|
||||||
|
};
|
||||||
|
}
|
||||||
5
nodes/hosts/lappy/services/fprintd.nix
Normal file
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;
|
||||||
|
}
|
||||||
@@ -1,4 +1,4 @@
|
|||||||
{ pkgs, ...}: {
|
{ ... }: {
|
||||||
# Enable touchpad support (enabled default in most desktopManager).
|
# Enable touchpad support (enabled default in most desktopManager).
|
||||||
services.libinput.enable = true;
|
services.libinput.enable = true;
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -1,10 +1,9 @@
|
|||||||
{ pkgs, config, ... }: {
|
{ config, ... }: {
|
||||||
boot = {
|
boot = {
|
||||||
loader = {
|
tmp = {
|
||||||
systemd-boot.enable = true;
|
useTmpfs = true;
|
||||||
efi.canTouchEfiVariables = true;
|
tmpfsSize = "50%";
|
||||||
};
|
};
|
||||||
kernelPackages = pkgs.linuxPackages_xanmod_stable;
|
|
||||||
kernelModules = [ "kvm-intel" ];
|
kernelModules = [ "kvm-intel" ];
|
||||||
extraModulePackages = with config.boot.kernelPackages; [ xpadneo ];
|
extraModulePackages = with config.boot.kernelPackages; [ xpadneo ];
|
||||||
extraModprobeConfig = '' options bluetooth disable_ertm=1 '';
|
extraModprobeConfig = '' options bluetooth disable_ertm=1 '';
|
||||||
@@ -38,10 +37,15 @@
|
|||||||
# /mnt/persist
|
# /mnt/persist
|
||||||
# /mnt/nix
|
# /mnt/nix
|
||||||
# /mnt
|
# /mnt
|
||||||
#luks.devices."cryptroot".device = "/dev/disk/by-uuid/e68d4928-961d-4c80-9d3c-921514ebc63c";
|
luks.devices."cryptroot" = {
|
||||||
|
device = "/dev/disk/by-partlabel/luks";
|
||||||
|
allowDiscards = true;
|
||||||
|
};
|
||||||
|
|
||||||
kernelModules = [ ];
|
kernelModules = [ ];
|
||||||
|
|
||||||
availableKernelModules = [ "nvme" "xhci_pci" "thunderbolt" "usb_storage" "sd_mod" ];
|
availableKernelModules = [ "nvme" "xhci_pci" "thunderbolt" "usb_storage" "sd_mod" ];
|
||||||
|
|
||||||
};
|
};
|
||||||
};
|
};
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -6,6 +6,12 @@
|
|||||||
options = [ "subvol=root" "compress=zstd" "noatime" ];
|
options = [ "subvol=root" "compress=zstd" "noatime" ];
|
||||||
};
|
};
|
||||||
|
|
||||||
|
fileSystems."/home" =
|
||||||
|
{ device = "/dev/mapper/cryptroot";
|
||||||
|
fsType = "btrfs";
|
||||||
|
options = [ "subvol=home" "compress=zstd" "noatime" ];
|
||||||
|
};
|
||||||
|
|
||||||
fileSystems."/nix" =
|
fileSystems."/nix" =
|
||||||
{ device = "/dev/mapper/cryptroot";
|
{ device = "/dev/mapper/cryptroot";
|
||||||
fsType = "btrfs";
|
fsType = "btrfs";
|
||||||
@@ -19,7 +25,14 @@
|
|||||||
neededForBoot = true;
|
neededForBoot = true;
|
||||||
};
|
};
|
||||||
|
|
||||||
fileSystems."/nix/persist" =
|
fileSystems."/var/lib" =
|
||||||
|
{ device = "/dev/mapper/cryptroot";
|
||||||
|
fsType = "btrfs";
|
||||||
|
options = [ "subvol=lib" "compress=zstd" "noatime" ];
|
||||||
|
neededForBoot = true;
|
||||||
|
};
|
||||||
|
|
||||||
|
fileSystems."/persist" =
|
||||||
{ device = "/dev/mapper/cryptroot";
|
{ device = "/dev/mapper/cryptroot";
|
||||||
fsType = "btrfs";
|
fsType = "btrfs";
|
||||||
options = [ "subvol=persist" "compress=zstd" "noatime" ];
|
options = [ "subvol=persist" "compress=zstd" "noatime" ];
|
||||||
@@ -34,7 +47,7 @@
|
|||||||
|
|
||||||
swapDevices = [{
|
swapDevices = [{
|
||||||
device = "/swapfile";
|
device = "/swapfile";
|
||||||
size = 16 * 1024;
|
size = 18 * 1024;
|
||||||
}];
|
}];
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -1,4 +1,4 @@
|
|||||||
{ config, ...}: {
|
{ ... }: {
|
||||||
networking.hostName = "lappy"; # Define your hostname.
|
networking.hostName = "lappy"; # Define your hostname.
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
24
nodes/hosts/nixwork/configuration.nix
Normal file
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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;
|
||||||
|
}
|
||||||
@@ -1,4 +1,4 @@
|
|||||||
{ config, pkgs, inputs, lib, ... }:
|
{ lib, ... }:
|
||||||
|
|
||||||
{
|
{
|
||||||
programs.hyprpanel = {
|
programs.hyprpanel = {
|
||||||
@@ -16,9 +16,6 @@
|
|||||||
wayland.windowManager.hyprland = {
|
wayland.windowManager.hyprland = {
|
||||||
settings = {
|
settings = {
|
||||||
"monitor" = "DP-2, 3440x1440@165, 0x0, 1";
|
"monitor" = "DP-2, 3440x1440@165, 0x0, 1";
|
||||||
exec-once = [
|
|
||||||
"mpvpaper -vfp -o 'no-audio no-keepaspect loop vf=lavfi=negate' DP-2 ../../../common/wallpapers/wipeout.mkv"
|
|
||||||
];
|
|
||||||
};
|
};
|
||||||
};
|
};
|
||||||
}
|
}
|
||||||
|
|||||||
42
nodes/hosts/nixy/impermanence.nix
Normal file
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
4
nodes/hosts/nixy/node.nix
Normal file
@@ -0,0 +1,4 @@
|
|||||||
|
{
|
||||||
|
os = "nixos";
|
||||||
|
channel = "stable";
|
||||||
|
}
|
||||||
13
nodes/hosts/nixy/services/xserver.nix
Normal file
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
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
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";
|
||||||
|
};
|
||||||
|
};
|
||||||
|
}
|
||||||
48
nodes/hosts/nixy/system/filesystems.nix
Normal file
48
nodes/hosts/nixy/system/filesystems.nix
Normal file
@@ -0,0 +1,48 @@
|
|||||||
|
{ ... }: {
|
||||||
|
|
||||||
|
fileSystems."/" =
|
||||||
|
{ device = "/dev/mapper/cryptroot";
|
||||||
|
fsType = "btrfs";
|
||||||
|
options = [ "subvol=root" "compress=zstd" "noatime" ];
|
||||||
|
};
|
||||||
|
|
||||||
|
fileSystems."/nix" =
|
||||||
|
{ device = "/dev/mapper/cryptroot";
|
||||||
|
fsType = "btrfs";
|
||||||
|
options = [ "subvol=nix" "compress=zstd" "noatime" ];
|
||||||
|
};
|
||||||
|
|
||||||
|
fileSystems."/var/log" =
|
||||||
|
{ device = "/dev/mapper/cryptroot";
|
||||||
|
fsType = "btrfs";
|
||||||
|
options = [ "subvol=log" "compress=zstd" "noatime" ];
|
||||||
|
neededForBoot = true;
|
||||||
|
};
|
||||||
|
|
||||||
|
fileSystems."/nix/persist" =
|
||||||
|
{ device = "/dev/mapper/cryptroot";
|
||||||
|
fsType = "btrfs";
|
||||||
|
options = [ "subvol=persist" "compress=zstd" "noatime" ];
|
||||||
|
neededForBoot = true;
|
||||||
|
};
|
||||||
|
|
||||||
|
fileSystems."/boot" =
|
||||||
|
{ device = "/dev/disk/by-partlabel/boot";
|
||||||
|
fsType = "vfat";
|
||||||
|
options = [ "fmask=0077" "dmask=0077" ];
|
||||||
|
};
|
||||||
|
|
||||||
|
fileSystems."/home" =
|
||||||
|
{ device = "/dev/mapper/crypthome";
|
||||||
|
fsType = "btrfs";
|
||||||
|
options = [ "subvol=home" "compress=zstd" "noatime" ];
|
||||||
|
neededForBoot = true;
|
||||||
|
};
|
||||||
|
|
||||||
|
swapDevices = [{
|
||||||
|
device = "/swapfile";
|
||||||
|
size = 16 * 1024;
|
||||||
|
}];
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
4
nodes/hosts/nixy/system/networking.nix
Normal file
4
nodes/hosts/nixy/system/networking.nix
Normal file
@@ -0,0 +1,4 @@
|
|||||||
|
{ ... }: {
|
||||||
|
networking.hostName = "nixy"; # Define your hostname.
|
||||||
|
}
|
||||||
|
|
||||||
43
nodes/hosts/nixy/system/nvidia.nix
Normal file
43
nodes/hosts/nixy/system/nvidia.nix
Normal file
@@ -0,0 +1,43 @@
|
|||||||
|
{ config, pkgs, ... }: {
|
||||||
|
# Enable OpenGL
|
||||||
|
hardware.graphics = {
|
||||||
|
enable32Bit = true;
|
||||||
|
enable = true;
|
||||||
|
extraPackages = [
|
||||||
|
pkgs.nvidia-vaapi-driver
|
||||||
|
];
|
||||||
|
};
|
||||||
|
|
||||||
|
hardware.nvidia = {
|
||||||
|
# Modesetting is required.
|
||||||
|
modesetting.enable = true;
|
||||||
|
|
||||||
|
# Nvidia power management. Experimental, and can cause sleep/suspend to fail.
|
||||||
|
# Enable this if you have graphical corruption issues or application crashes after waking
|
||||||
|
# up from sleep. This fixes it by saving the entire VRAM memory to /tmp/ instead
|
||||||
|
# of just the bare essentials.
|
||||||
|
powerManagement.enable = false;
|
||||||
|
|
||||||
|
# Fine-grained power management. Turns off GPU when not in use.
|
||||||
|
# Experimental and only works on modern Nvidia GPUs (Turing or newer).
|
||||||
|
powerManagement.finegrained = false;
|
||||||
|
|
||||||
|
# Use the NVidia open source kernel module (not to be confused with the
|
||||||
|
# independent third-party "nouveau" open source driver).
|
||||||
|
# Support is limited to the Turing and later architectures. Full list of
|
||||||
|
# supported GPUs is at:
|
||||||
|
# https://github.com/NVIDIA/open-gpu-kernel-modules#compatible-gpus
|
||||||
|
# Only available from driver 515.43.04+
|
||||||
|
open = false;
|
||||||
|
|
||||||
|
# Enable the Nvidia settings menu,
|
||||||
|
# accessible via `nvidia-settings`.
|
||||||
|
nvidiaSettings = true;
|
||||||
|
|
||||||
|
#forceFullCompositionPipeline = true;
|
||||||
|
|
||||||
|
# Optionally, you may need to select the appropriate driver version for your specific GPU.
|
||||||
|
package = config.boot.kernelPackages.nvidiaPackages.stable;
|
||||||
|
};
|
||||||
|
}
|
||||||
|
|
||||||
1
private
Submodule
1
private
Submodule
Submodule private added at 7d635d0d2f
Reference in New Issue
Block a user