Compare commits

...

158 Commits

Author SHA1 Message Date
jay
048c332fd0 Flake update. 2025-09-04 19:01:56 -04:00
jay
f41d63be54 Flake update. 2025-08-30 08:50:26 -04:00
jay
367070179f Flake update. 2025-08-28 20:09:34 -04:00
jay
632ff8cea0 Update flakes. 2025-08-26 17:32:26 -04:00
jay
6947f37f54 Disable drop. 2025-08-26 17:32:20 -04:00
jay
3119362823 Update drop. 2025-08-26 17:32:14 -04:00
jay
5e6983e106 Add gearlever. 2025-08-26 17:32:05 -04:00
jay
d1debc3a72 Set proper Drop appimage name. 2025-08-16 00:38:37 -04:00
jay
0a561deee0 Update drop hash. 2025-08-16 00:16:02 -04:00
jay
3aeeb648e5 Add drop. 2025-08-15 22:09:08 -04:00
jay
25a082e204 Move drop and try to get it working. 2025-08-15 22:03:52 -04:00
jay
f85ccc3aca Flake update. 2025-08-15 22:03:40 -04:00
jay
53e563c2e9 Add appimage setup. 2025-08-15 22:00:36 -04:00
jay
b6c241a1a1 Update drop path. 2025-08-15 21:57:06 -04:00
jay
cb64138b55 Flake update. 2025-08-15 21:55:38 -04:00
jay
00cfc16503 Add drop appimage. 2025-08-15 21:52:49 -04:00
jay
a5e7cd1513 Flake update. 2025-08-15 15:58:11 -04:00
jay
49265f2014 Flake update. 2025-08-12 21:56:18 -04:00
jay
7737c3554a Update README.md 2025-08-13 01:34:41 +00:00
jay
5ec35ea58f Flake update. 2025-08-10 21:01:52 -04:00
jay
5f9ecd2c4a Flake update. 2025-08-08 00:29:24 -04:00
jay
47d30fd708 Flake update. 2025-08-06 22:52:14 -04:00
jay
5bcd431bfb Set up power profiles from battery hyprpanel. 2025-08-03 10:56:00 -04:00
jay
7391b43d9a Add powertop and upower for hyprpanel dependencies. 2025-08-03 10:50:13 -04:00
jay
4f8ce52cc1 Flake update. 2025-08-03 10:49:54 -04:00
jay
4f151577ac Remove appimage. 2025-07-31 22:32:21 -04:00
jay
58f57f749b Add Drop dependencies for appimage. 2025-07-31 22:18:47 -04:00
jay
5505df82e3 Flake update. 2025-07-31 22:11:48 -04:00
jay
7b66d5a4b5 Add appimage.
Fix appimage.
2025-07-31 22:10:37 -04:00
jay
2131144535 Flake update. 2025-07-31 22:07:42 -04:00
jay
665ad9024f Flake update. 2025-07-30 01:06:48 -04:00
jay
4ad8eaef7a Fix hyprpanel temps. 2025-07-30 01:06:41 -04:00
jay
3249dcfaad Add discover-overlay. 2025-07-30 01:06:33 -04:00
jay
6aaad3ad7b Add legcord. 2025-07-28 13:19:30 -04:00
jay
3cc469278e Flake update. 2025-07-28 13:19:14 -04:00
jay
560cd5afb2 Added zip. 2025-07-27 00:59:52 -04:00
jay
d7e08bbe9c Flake update. 2025-07-27 00:59:47 -04:00
jay
52e1586cfe disable wireplumber. 2025-07-26 17:15:54 -04:00
jay
70f3fa3609 Flake update. 2025-07-26 17:02:17 -04:00
jay
81812dfafb Add betterdiscord installer. 2025-07-26 16:58:44 -04:00
jay
f4491974ca Move discord apps to its own file, setup betterdiscord. 2025-07-26 07:48:10 -04:00
jay
db78dd33c3 Flake update. 2025-07-26 07:37:30 -04:00
jay
643eb1cb33 Disable auto-cpufreq, flake update. 2025-07-25 13:53:08 -04:00
jay
6372c54d4c Disable low latency for audio dropouts. 2025-07-25 13:44:13 -04:00
jay
2957c442ac Create shell alias for open-tv flatpak, move shell alias for ryujinx. 2025-07-25 07:27:49 -04:00
jay
4eb1da9227 Flake update. 2025-07-25 07:27:24 -04:00
jay
070c684a01 Add open-tv flatpak. 2025-07-25 06:53:32 -04:00
jay
f41f628f4d Flake update. 2025-07-25 06:53:20 -04:00
jay
e2ea58c57c Fix temp sensor. 2025-07-24 19:30:02 -04:00
jay
e4917af55d Disable discord, install legcord again. 2025-07-24 00:23:52 -04:00
jay
b6f353194a Flake update, install discord with moonlight 2025-07-24 00:13:46 -04:00
jay
a2c4050f08 Reenable arrpc and moonlight. 2025-07-23 23:49:52 -04:00
jay
ec7420a218 Disable moonlight, enable discord. 2025-07-21 21:57:51 -04:00
jay
a8dfc7eda3 Disable equibop, add moonlight. 2025-07-21 21:53:17 -04:00
jay
d409f418d3 Add equibop. 2025-07-21 21:42:56 -04:00
jay
7d6d2ade10 Set goofcord to start on login. 2025-07-21 19:38:58 -04:00
jay
b3e8b77b8f Add goofcord. 2025-07-21 19:37:47 -04:00
jay
4efcdbbc0a Disable power profiles daemon. 2025-07-21 16:50:17 -04:00
jay
777f2b6821 Flake update. 2025-07-21 16:45:30 -04:00
jay
894babd3da Enable auto-cpufreq for battery savings. 2025-07-21 16:15:33 -04:00
jay
4310c9d517 Set lid switch for power. 2025-07-21 16:05:59 -04:00
jay
b154fad1a0 Flake update. 2025-07-21 16:03:43 -04:00
jay
3404b22e72 Change hostname for nixwork away from lappy. 2025-07-21 16:00:30 -04:00
jay
a9b9c0b5b8 Flake update. 2025-07-21 02:58:58 -04:00
jay
b74d05cdfb Set submodule path. 2025-07-21 02:53:00 -04:00
jay
a1515ff3eb Switch legcord for vesktop. 2025-07-21 02:28:34 -04:00
jay
16c74b4ffb Set private git path. 2025-07-21 02:28:24 -04:00
jay
3126b9fe0d Add overlayed. 2025-07-21 01:08:41 -04:00
jay
b702180b3a Add samrewritten. 2025-07-20 15:33:18 -04:00
jay
588f3a2e2c Reenable arrpc. 2025-07-20 10:23:31 -04:00
jay
b10401cb71 Flake update. 2025-07-20 01:00:43 -04:00
jay
51e45da8bf Set proper resolution for nixwork. 2025-07-20 00:44:55 -04:00
jay
2591c0389d Set proper submodules. 2025-07-20 00:44:32 -04:00
jay
a7dfe2ac8b Move protonplus and install the unstable version. 2025-07-19 23:38:48 -04:00
jay
711e042b5d Add protonplus. 2025-07-19 19:30:10 -04:00
jay
787492cb9f Fix adding nero-umu from unstable. 2025-07-19 19:28:09 -04:00
jay
4b59f6a4d7 Add nixpkgs-unstable. 2025-07-19 19:27:53 -04:00
jay
1c5cae9af4 Add nero-umu from unstable. 2025-07-19 18:25:10 -04:00
jay
d027fbfaac Add unstable. 2025-07-19 18:25:00 -04:00
jay
c19702fbaa Merge branch 'main' of https://git.zerojay.com/jay/nixverse 2025-07-17 20:21:06 -04:00
jay
ffa8781759 Add fingerprint reader stuff and framework default hardware profile.
Compilation fix.

Compilation fix.

Compilation fix.

Compilation fix.
2025-07-17 20:21:06 -04:00
jay
f87b8e3368 Update zen dotfiles. 2025-07-17 20:19:53 -04:00
jay
256fbf7bca Create nixwork device. 2025-07-17 20:50:30 +00:00
jay
956c23e606 Disable hiding bootup messages, flake update. 2025-07-17 05:11:48 -04:00
jay
f40f23a8b3 Flake update. 2025-07-16 21:55:54 -04:00
jay
3598a3e483 Enable emacs. 2025-07-16 21:53:33 -04:00
jay
8eedac4744 Add qutebrowser.
Move qutebrowser configuration to home manager.
2025-07-16 10:56:36 -04:00
jay
1661ea2fcd Flake update. 2025-07-16 10:47:05 -04:00
jay
6e6962314b Move btop to home, setup stylix theme and set transparency. 2025-07-16 09:58:34 -04:00
jay
cb659e768e Add transparency to mangohud. 2025-07-16 09:52:10 -04:00
jay
d414e58fad Flake update. 2025-07-16 09:52:00 -04:00
jay
ca7193633c Allow gamescope to change its own kernel niceness settings for smoother gameplay. 2025-07-16 00:13:42 -04:00
jay
e9c1aecbe9 Flake update. 2025-07-15 22:53:29 -04:00
jay
77800be925 Refactor mangohud config.
Refactor mangohud config.
2025-07-15 22:50:43 -04:00
jay
7bac3c13aa Flake update. 2025-07-15 20:31:01 -04:00
jay
b29f717c79 Zen-browser update, flake update. 2025-07-15 09:44:41 -04:00
jay
ff6bc2b602 Flake update, pin zen browser to previously working flake. 2025-07-15 07:30:54 -04:00
jay
729165ab99 Plymouth setup in bootloader. 2025-07-14 07:56:05 -04:00
jay
fa97388d6d Add plymouth bootup. 2025-07-14 07:44:42 -04:00
jay
4d55019f4e Set up bluetooth experimental, show battery info for devices, etc... 2025-07-14 07:23:28 -04:00
jay
e8e3288d0c Enable pipewire low latency. 2025-07-14 07:08:23 -04:00
jay
3b3fc54bf1 Set up pipewire low latency mode. 2025-07-14 07:02:05 -04:00
jay
194b346a8c Added nix-gaming repo, flake update. 2025-07-14 06:57:35 -04:00
jay
4d009c46bd Some documentation comments. 2025-07-13 20:17:46 -04:00
jay
9047f00910 Disable arrpc. 2025-07-13 13:06:58 -04:00
jay
b1df070912 Switch back to legcord. 2025-07-13 12:53:56 -04:00
jay
f09502773a Add nixcord plugins.
Compilation fix.
2025-07-13 12:10:41 -04:00
jay
eb232623a9 Enable vencord and openasar. 2025-07-13 11:50:24 -04:00
jay
840db2018d Fix nixcord input, flake update. 2025-07-13 11:48:32 -04:00
jay
c843704a11 Drop legcord, add nixcord with defaults.
Correct nixcord flake url.
2025-07-13 11:31:29 -04:00
jay
456081a657 Add home-manager integration for television config files. 2025-07-13 09:54:00 -04:00
jay
7cfdfd8d0f Added television dotfiles for nix-search-tv to use. 2025-07-13 09:53:39 -04:00
jay
97a4ad7815 Add television and nix-search-tv. 2025-07-13 09:46:47 -04:00
jay
c4181bfe42 Remove hypnotix, install vlc. 2025-07-13 03:52:56 -04:00
jay
3a35c461bd Add hypnotix iptv application. 2025-07-13 03:47:00 -04:00
jay
1f850493a7 Correct lvim config path. 2025-07-13 03:03:59 -04:00
jay
6223f62baa Set up lunarvim dotfiles. 2025-07-13 03:01:07 -04:00
jay
ae8d80b621 Added lunarvim config file. 2025-07-13 02:59:38 -04:00
jay
ec751bd1c2 Fix gamemode being unable to set cpu governor when launching a game. 2025-07-13 02:46:16 -04:00
jay
70b1c62466 Add proton-ge and steam-play-none. 2025-07-13 02:24:43 -04:00
jay
b1b1076d7d Flake update. 2025-07-13 02:24:20 -04:00
jay
c8d92b5812 Remove dead code. 2025-07-12 15:19:06 -04:00
jay
c301c0072a Flake update. 2025-07-12 15:12:22 -04:00
jay
5681827296 Unused bindings. 2025-07-12 13:55:40 -04:00
jay
adbd75a48a Remove unused bindings from nixy and nixy jay configs. 2025-07-12 13:53:13 -04:00
jay
ac132756e4 Remove unused bindings from lappy and lappy jay configs. 2025-07-12 13:50:23 -04:00
jay
64390aec8a Remove unused bindings from common jay config. 2025-07-12 13:46:39 -04:00
jay
04d52e047b Remove unused bindings from common config. 2025-07-12 13:42:05 -04:00
jay
d20e0e2837 Update readme. 2025-07-12 13:22:22 -04:00
jay
b6ce751431 Update readme. 2025-07-12 13:21:28 -04:00
jay
9fa0838587 Add lunarvim. 2025-07-12 13:11:02 -04:00
jay
eb1da112ab Disable password sops stuff. 2025-07-12 09:56:38 -04:00
jay
f664de7fcb Update secrets. 2025-07-12 09:56:28 -04:00
jay
262d488283 Remove Default sops file? 2025-07-12 09:49:31 -04:00
jay
d77df8748d Fix incorrect keyname. 2025-07-12 09:47:28 -04:00
jay
a83cdf7f7d Update secrets again. 2025-07-12 09:47:19 -04:00
jay
bd1722ab41 Update secrets, set nixy to local deploy. 2025-07-12 09:40:29 -04:00
jay
5b3c0f4ce3 Update secrets. 2025-07-12 09:40:15 -04:00
jay
acf1cdb9c3 More sops secret setup.
Compilation fix.
2025-07-12 09:22:44 -04:00
jay
b8d0f83d19 Set up sops secrets again. 2025-07-12 09:19:18 -04:00
jay
97a57a1a4d Added zen dotfiles into private repository. 2025-07-12 08:45:54 -04:00
jay
64a9fa9b7c Flake update. 2025-07-12 08:35:01 -04:00
jay
86b048cd68 Flake update. 2025-07-11 07:44:40 -04:00
jay
5df2e0d3f5 Fix password problem. 2025-07-10 14:15:55 +00:00
jay
0e4d790e30 Fix password_hash. 2025-07-10 07:45:24 -04:00
jay
9d30869c02 Add jay_password_hash to secrets and set up the jay user with that hashed password file. 2025-07-10 07:27:54 -04:00
jay
f3d41e4299 Update to-do list. 2025-07-10 01:09:31 -04:00
jay
3731d0bc01 Set up encryption keys for sops.
New sops key for jay on nixy.
2025-07-10 01:09:20 -04:00
jay
0898de9ff6 Don't forget to unmount the btrfs volume after! 2025-07-09 22:54:50 -04:00
jay
828bd3c295 Add btrfs snapshot cleanup procedure. 2025-07-09 22:53:58 -04:00
jay
6574d647aa Drop snapper/snapper-gui. 2025-07-09 22:38:55 -04:00
jay
b0ee1e9e59 Add snapper/snapper-gui for btrfs snapshots. 2025-07-09 22:34:05 -04:00
jay
6278366c75 Flake update. 2025-07-09 22:33:52 -04:00
jay
f2d280701c Let's keep our wifi and bluetooth connection info. 2025-07-09 21:34:17 -04:00
jay
3dcb5330e6 Fix impermanence on boot. 2025-07-09 20:37:10 -04:00
jay
e5b5d77b86 Remove gpustat as it keeps popping up the window. 2025-07-09 12:11:22 -04:00
jay
82af34de7d Readd cava. 2025-07-09 11:39:34 -04:00
jay
72d2f9d224 Flake update. 2025-07-09 11:39:28 -04:00
83 changed files with 854 additions and 125 deletions

2
.gitmodules vendored
View File

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

View File

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

View File

@@ -3,9 +3,11 @@ This NixOS setup is based off of https://github.com/hgl/nixverse and using its f
Machines
+ lappy - Samsung Galaxy Book 5 Pro 360 - Intel Core Ultra 7 256V, Intel Arc Graphics, 16GB RAM, 4TB SSD
Setup is working and being used currently, based upon the previous setup on nixy being ported to nixverse.
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
@@ -13,14 +15,15 @@ Machines
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.
Fully setup private git repository for secrets.
Integrate private git repository into nixverse setup.
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.
[ ] 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
@@ -51,4 +54,13 @@ Post-Install - Secrets Setup
- mkdir -p ~/.config/sops/age
- age-keygen -o ~/.config/sops/age/keys.txt
- nixverse secrets edit
- 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

173
flake.lock generated
View File

@@ -1,5 +1,25 @@
{
"nodes": {
"auto-cpufreq-stable-nixos": {
"inputs": {
"nixpkgs": [
"nixpkgs"
]
},
"locked": {
"lastModified": 1752998173,
"narHash": "sha256-ZlYpBp2WOe03UrpjJGz5KTOL/pp7A452hJO/Vc8C4/0=",
"owner": "AdnanHodzic",
"repo": "auto-cpufreq",
"rev": "562278377ffa96f3c1af49c7b499df028ce8d8bd",
"type": "github"
},
"original": {
"owner": "AdnanHodzic",
"repo": "auto-cpufreq",
"type": "github"
}
},
"base16": {
"inputs": {
"fromYaml": "fromYaml"
@@ -97,11 +117,11 @@
]
},
"locked": {
"lastModified": 1751854533,
"narHash": "sha256-U/OQFplExOR1jazZY4KkaQkJqOl59xlh21HP9mI79Vc=",
"lastModified": 1756733629,
"narHash": "sha256-dwWGlDhcO5SMIvMSTB4mjQ5Pvo2vtxvpIknhVnSz2I8=",
"owner": "nix-community",
"repo": "disko",
"rev": "16b74a1e304197248a1bc663280f2548dbfcae3c",
"rev": "a5c4f2ab72e3d1ab43e3e65aa421c6f2bd2e12a1",
"type": "github"
},
"original": {
@@ -127,6 +147,24 @@
}
},
"flake-parts": {
"inputs": {
"nixpkgs-lib": "nixpkgs-lib"
},
"locked": {
"lastModified": 1754487366,
"narHash": "sha256-pHYj8gUBapuUzKV/kN/tR3Zvqc7o6gdFB9XKXIp1SQ8=",
"owner": "hercules-ci",
"repo": "flake-parts",
"rev": "af66ad14b28a127c5c0f3bbb298218fc63528a18",
"type": "github"
},
"original": {
"owner": "hercules-ci",
"repo": "flake-parts",
"type": "github"
}
},
"flake-parts_2": {
"inputs": {
"nixpkgs-lib": [
"nixverse",
@@ -148,7 +186,7 @@
"type": "github"
}
},
"flake-parts_2": {
"flake-parts_3": {
"inputs": {
"nixpkgs-lib": [
"stylix-stable-nixos",
@@ -248,11 +286,11 @@
]
},
"locked": {
"lastModified": 1751810233,
"narHash": "sha256-kllkNbIqQi3VplgTMeGzuh1t8Gk8TauvkTRt93Km+tQ=",
"lastModified": 1756679287,
"narHash": "sha256-Xd1vOeY9ccDf5VtVK12yM0FS6qqvfUop8UQlxEB+gTQ=",
"owner": "nix-community",
"repo": "home-manager",
"rev": "9b0873b46c9f9e4b7aa01eb634952c206af53068",
"rev": "07fc025fe10487dd80f2ec694f1cd790e752d0e8",
"type": "github"
},
"original": {
@@ -270,11 +308,11 @@
]
},
"locked": {
"lastModified": 1743604125,
"narHash": "sha256-ZD61DNbsBt1mQbinAaaEqKaJk2RFo9R/j+eYWeGMx7A=",
"lastModified": 1752603129,
"narHash": "sha256-S+wmHhwNQ5Ru689L2Gu8n1OD6s9eU9n9mD827JNR+kw=",
"owner": "nix-community",
"repo": "home-manager",
"rev": "180fd43eea296e62ae68e079fcf56aba268b9a1a",
"rev": "e8c19a3cec2814c754f031ab3ae7316b64da085b",
"type": "github"
},
"original": {
@@ -290,11 +328,11 @@
"nixpkgs": "nixpkgs"
},
"locked": {
"lastModified": 1751528316,
"narHash": "sha256-MGJmxnjlERXJLDywrSHYSgpt7fhh3/HOHQboRrxDW64=",
"lastModified": 1755569534,
"narHash": "sha256-ukXfV1cAsxoar0IVEO2/s3qnVEZpZf0wvqE3PIESobw=",
"owner": "Jas-SinghFSU",
"repo": "Hyprpanel",
"rev": "343c9857bd7f1d302d591e8d5f3f9952dc84775b",
"rev": "6385f2e15df908e0c13bed800f4b091300e5b981",
"type": "github"
},
"original": {
@@ -355,6 +393,27 @@
"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": [
@@ -380,7 +439,7 @@
"nixos-anywhere": {
"inputs": {
"disko": "disko",
"flake-parts": "flake-parts",
"flake-parts": "flake-parts_2",
"nix-vm-test": "nix-vm-test",
"nixos-images": "nixos-images",
"nixos-stable": "nixos-stable",
@@ -404,6 +463,22 @@
"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"
}
},
"nixos-images": {
"inputs": {
"nixos-stable": [
@@ -463,13 +538,28 @@
"type": "github"
}
},
"nixpkgs-lib": {
"locked": {
"lastModified": 1753579242,
"narHash": "sha256-zvaMGVn14/Zz8hnp4VWT9xVnhc8vuL3TStRqwk22biA=",
"owner": "nix-community",
"repo": "nixpkgs.lib",
"rev": "0f36c44e01a6129be94e3ade315a5883f0228a6e",
"type": "github"
},
"original": {
"owner": "nix-community",
"repo": "nixpkgs.lib",
"type": "github"
}
},
"nixpkgs-stable-nixos": {
"locked": {
"lastModified": 1751943650,
"narHash": "sha256-7orTnNqkGGru8Je6Un6mq1T8YVVU/O5kyW4+f9C1mZQ=",
"lastModified": 1756886854,
"narHash": "sha256-6tooT142NLcFjt24Gi4B0G1pgWLvfw7y93sYEfSHlLI=",
"owner": "nixos",
"repo": "nixpkgs",
"rev": "88983d4b665fb491861005137ce2b11a9f89f203",
"rev": "0e6684e6c5755325f801bda1751a8a4038145d7d",
"type": "github"
},
"original": {
@@ -479,13 +569,29 @@
"type": "github"
}
},
"nixpkgs_2": {
"nixpkgs-unstable": {
"locked": {
"lastModified": 1751949589,
"narHash": "sha256-mgFxAPLWw0Kq+C8P3dRrZrOYEQXOtKuYVlo9xvPntt8=",
"lastModified": 1756819007,
"narHash": "sha256-12V64nKG/O/guxSYnr5/nq1EfqwJCdD2+cIGmhz3nrE=",
"owner": "NixOS",
"repo": "nixpkgs",
"rev": "9b008d60392981ad674e04016d25619281550a9d",
"rev": "aaff8c16d7fc04991cac6245bee1baa31f72b1e1",
"type": "github"
},
"original": {
"owner": "NixOS",
"ref": "nixpkgs-unstable",
"repo": "nixpkgs",
"type": "github"
}
},
"nixpkgs_2": {
"locked": {
"lastModified": 1756819007,
"narHash": "sha256-12V64nKG/O/guxSYnr5/nq1EfqwJCdD2+cIGmhz3nrE=",
"owner": "NixOS",
"repo": "nixpkgs",
"rev": "aaff8c16d7fc04991cac6245bee1baa31f72b1e1",
"type": "github"
},
"original": {
@@ -511,6 +617,7 @@
},
"original": {
"owner": "hgl",
"ref": "084a07f43829857fc760e70212c497d2f40eaa3c",
"repo": "nixverse",
"type": "github"
}
@@ -543,13 +650,17 @@
},
"root": {
"inputs": {
"auto-cpufreq-stable-nixos": "auto-cpufreq-stable-nixos",
"disko-stable-nixos": "disko-stable-nixos",
"home-manager-stable-nixos": "home-manager-stable-nixos",
"hyprpanel-stable-nixos": "hyprpanel-stable-nixos",
"impermanence-stable-nixos": "impermanence-stable-nixos",
"nix-flatpak-stable-nixos": "nix-flatpak-stable-nixos",
"nix-gaming-stable-nixos": "nix-gaming-stable-nixos",
"nixos-hardware-stable-nixos": "nixos-hardware-stable-nixos",
"nixpkgs": "nixpkgs_2",
"nixpkgs-stable-nixos": "nixpkgs-stable-nixos",
"nixpkgs-unstable": "nixpkgs-unstable",
"nixverse": "nixverse",
"sops-nix-stable-nixos": "sops-nix-stable-nixos",
"stylix-stable-nixos": "stylix-stable-nixos",
@@ -563,11 +674,11 @@
]
},
"locked": {
"lastModified": 1751606940,
"narHash": "sha256-KrDPXobG7DFKTOteqdSVeL1bMVitDcy7otpVZWDE6MA=",
"lastModified": 1754988908,
"narHash": "sha256-t+voe2961vCgrzPFtZxha0/kmFSHFobzF00sT8p9h0U=",
"owner": "Mic92",
"repo": "sops-nix",
"rev": "3633fc4acf03f43b260244d94c71e9e14a2f6e0d",
"rev": "3223c7a92724b5d804e9988c6b447a0d09017d48",
"type": "github"
},
"original": {
@@ -583,7 +694,7 @@
"base16-helix": "base16-helix",
"base16-vim": "base16-vim",
"firefox-gnome-theme": "firefox-gnome-theme",
"flake-parts": "flake-parts_2",
"flake-parts": "flake-parts_3",
"gnome-shell": "gnome-shell",
"nixpkgs": [
"nixpkgs"
@@ -597,11 +708,11 @@
"tinted-zed": "tinted-zed"
},
"locked": {
"lastModified": 1752014016,
"narHash": "sha256-Gn6cnUPchPenxUFDt+dh7836CNu3GM13aghTabfZUrU=",
"lastModified": 1756812894,
"narHash": "sha256-wZfNe3ms+dS2cUEGe8ygqNxBHGQCRoJQuQM9xFgGad0=",
"owner": "danth",
"repo": "stylix",
"rev": "26042c1f59ae868193fa4378f85e4f6240f25ff8",
"rev": "a9553a7486c86259b7678235cc26cfd70296251d",
"type": "github"
},
"original": {
@@ -774,11 +885,11 @@
]
},
"locked": {
"lastModified": 1752056590,
"narHash": "sha256-5ExDbMF1jrArC249TCmbBAbxcNoBShJmAGYIHv6Nejo=",
"lastModified": 1756941389,
"narHash": "sha256-r7Km2PY1gxpNmq7dPbs89JiyHiJ5zRCF6cBPyb2WWGY=",
"owner": "0xc000022070",
"repo": "zen-browser-flake",
"rev": "49269b4360a5aaf6fc0a418398e49f9bb0db08be",
"rev": "d197dd7556567a7a4174dee543286e5e65198379",
"type": "github"
},
"original": {

View File

@@ -2,11 +2,19 @@
inputs = {
self.submodules = true;
nixpkgs-stable-nixos.url = "github:nixos/nixpkgs/nixos-25.05";
nixpkgs-unstable.url = "github:NixOS/nixpkgs/nixpkgs-unstable";
nixverse = {
url = "github:hgl/nixverse";
url = "github:hgl/nixverse?ref=084a07f43829857fc760e70212c497d2f40eaa3c";
inputs.nixpkgs.follows = "nixpkgs-stable-nixos";
};
auto-cpufreq-stable-nixos = {
url = "github:AdnanHodzic/auto-cpufreq";
inputs.nixpkgs.follows = "nixpkgs";
};
disko-stable-nixos = {
url = "github:nix-community/disko";
inputs.nixpkgs.follows = "nixpkgs-stable-nixos";
@@ -25,10 +33,23 @@
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";
@@ -40,6 +61,7 @@
};
zen-browser-stable-nixos = {
#url = "github:0xc000022070/zen-browser-flake?ref=ea79cbda8e685dd0f9c6e88adcfa7762a83e9067";
url = "github:0xc000022070/zen-browser-flake";
inputs.nixpkgs.follows = "nixpkgs";
};
@@ -60,10 +82,6 @@
system:
let
pkgs = nixpkgs.legacyPackages.${system};
pkgs' = nixverse.loadPkgs' self {
inherit system;
nixpkgs = nixpkgs;
};
in
{
default = pkgs.mkShellNoCC {

View File

@@ -1,10 +1,12 @@
{ pkgs, inputs, ... }:
{ inputs, ... }:
{
imports = [
inputs.nix-flatpak.nixosModules.nix-flatpak
inputs.stylix.nixosModules.stylix
inputs.home-manager.nixosModules.home-manager
inputs.sops-nix.nixosModules.sops
inputs.nix-gaming.nixosModules.pipewireLowLatency
./programs/appimage.nix
./programs/emulation.nix
./programs/firefox.nix
./programs/fonts.nix
@@ -15,6 +17,7 @@
./programs/hyprland.nix
./programs/kde.nix
./programs/obs-studio.nix
./programs/open-tv.nix
./programs/session-desktop.nix
./programs/steam.nix
./programs/zen-browser.nix
@@ -32,6 +35,7 @@
./system/networking.nix
./system/nixos.nix
./system/security.nix
./system/sops.nix
./system/time.nix
./system/users.nix
];

View File

@@ -1,21 +1,27 @@
{ config, pkgs, inputs, lib, ... }:
{ pkgs, inputs, ... }:
{
# Home Manager needs a bit of information about you and the paths it should
# manage.
# manag:e.
home.username = "jay";
home.homeDirectory = "/home/jay";
imports = [
#inputs.nixcord.homeModules.nixcord
inputs.stylix.homeModules.stylix
./programs/alacritty.nix
./programs/bash.nix
./programs/btop.nix
./programs/emacs.nix
./programs/git.nix
./programs/hyprland.nix
./programs/hyprlock.nix
./programs/hyprpanel.nix
./programs/lazygit.nix
./programs/mangohud.nix
./programs/discord.nix
./programs/oh-my-posh.nix
./programs/qutebrowser.nix
./programs/rbw.nix
./programs/rofi.nix
./programs/stylix.nix
@@ -38,9 +44,10 @@
# The home.packages option allows you to install Nix packages into your
# environment.
home.packages = [
pkgs.legcord
pkgs.libgtop
#pkgs.mpvpaper
pkgs.powertop
pkgs.upower
#pkgs.mpvpaper
# pkgs.hyprlandPlugins.hyprtrails
];
@@ -51,7 +58,9 @@
".config/jellyfin-tui/config.yaml".source = ../../../../../private/dotfiles/jellyfin-tui/config.yaml;
".config/jellyfin-rpc/urls.json".source = ../../../../../private/dotfiles/jellyfin-rpc/urls.json;
".config/jellyfin-rpc/main.json".source = ../../../../../private/dotfiles/jellyfin-rpc/main.json;
".config/lvim/config.lua".source = ../../../../../private/dotfiles/lunarvim/config.lua;
".config/newsboat/config".source = ../../../../../private/dotfiles/newsboat/config;
".config/television/nix_channels.toml".source = ../../../../../private/dotfiles/television/nix_channels.toml;
"quickemu/kubuntu-24.04.conf".source = ../../../../../private/dotfiles/quickemu/kubuntu-24.04.conf;
};

View File

@@ -1,4 +1,4 @@
{ lib, pkgs, ...}: {
{ lib, ... }: {
programs.alacritty = lib.mkForce {
enable = true;
settings = {

View File

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

View File

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

View File

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

View File

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

View File

@@ -1,4 +1,4 @@
{ pkgs, ...}: {
{ ... }: {
wayland.windowManager.hyprland = {
# Allow home-manager to configure hyprland
enable = true;
@@ -207,7 +207,7 @@
# "systemctl --user start hyprpolkitagent"
"steam --disable-gpu-compositing" # nvidia pls let me have nice things
#"vesktop"
"legcord"
"goofcord"
# "[workspace 9 silent] ELECTRON_OZONE_PLATFORM_HINT=x11 1password" # fix for promts not showing up anymore
"zen-twilight"
# "${pkgs.xorg.xhost}/bin/xhost +"
@@ -225,7 +225,7 @@
windowrulev2 = [
"workspace 1 silent, class:^(zen-twilight)$"
"workspace 2 silent, class:^(steam)$"
"workspace 3 silent, class:^(legcord)$"
"workspace 3 silent, class:^(goofcord)$"
"workspace 4 silent, class:^(com.core447.StreamController)$"
"float,class:(clipse)$"
"size 622 652,class:(clipse)$"

View File

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

View File

@@ -1,4 +1,4 @@
{ pkgs, ...}: {
{ ... }: {
programs.hyprpanel = {
enable = true;
settings = {
@@ -6,7 +6,7 @@
"0" = {
left = [ "dashboard" "separator" "microphone" "volume" "bluetooth" "hypridle" "separator" "network" "separator" "workspaces" "windowtitle" ];
middle = [ "media" "cava" ];
right = [ "cpu" "cputemp" "ram" "storage" "separator" "systray" "notifications" "separator" "weather" "clock" ];
right = [ "cpu" "cputemp" "ram" "storage" "separator" "systray" "notifications" "battery" "separator" "weather" "clock" ];
};
};

View File

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

View 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;
};
};
}

View 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;
};
};
};
}

View File

@@ -1,4 +1,4 @@
{ pkgs, ...}: {
{ ... }: {
programs.oh-my-posh = {
enable = true;
enableBashIntegration = true;

View File

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

View File

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

View File

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

View File

@@ -1,4 +1,4 @@
{ pkgs, inputs, ...}: {
{ pkgs, ... }: {
stylix = {
enable = true;
base16Scheme = "${pkgs.base16-schemes}/share/themes/nord.yaml";

View File

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

View File

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

View File

@@ -1,4 +1,4 @@
{ pkgs, ...}: {
{ ... }: {
services.hypridle = {
enable = true;
settings = {

View File

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

View 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;})
];
}

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

@@ -1,4 +1,4 @@
{ pkgs, ...}: {
{...}: {
services.btrfs.autoScrub = {
enable = true;
interval = "weekly";

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

@@ -2,7 +2,7 @@
# your system. Help is available in the configuration.nix(5) man page, on
# https://search.nixos.org/options and in the NixOS manual (`nixos-help`).
{ config, lib, pkgs, ... }:
{ ... }:
{
imports =

View File

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

View File

@@ -1,4 +1,4 @@
{ config, pkgs, inputs, lib, ... }:
{ ... }:
{
imports = [
./programs/hyprland.nix

View File

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

View File

@@ -1,4 +1,4 @@
{ pkgs, lib, ... }: {
{ lib, ... }: {
programs.hyprpanel = {
settings = {
"bar.layouts" = {

View File

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

View File

@@ -1,4 +1,4 @@
{ pkgs, config, ... }: {
{ config, ... }: {
boot = {
tmp = {
useTmpfs = true;

View File

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

View 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?
}

View 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;
}

View 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;
}

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View 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" ];
};
};
}

View 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;
}];
}

View File

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

View File

@@ -2,7 +2,7 @@
# your system. Help is available in the configuration.nix(5) man page, on
# https://search.nixos.org/options and in the NixOS manual (`nixos-help`).
{ config, lib, pkgs, inputs, ... }:
{ inputs, ... }:
{
imports =

View File

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

View File

@@ -1,4 +1,4 @@
{ config, pkgs, inputs, lib, ... }:
{ lib, ... }:
{
programs.hyprpanel = {

View File

@@ -1,8 +1,8 @@
{lib, inputs, ...}: {
{lib, ... }: {
# Reset root subvolume on boot
boot.initrd.postResumeCommands = lib.mkAfter ''
mkdir /btrfs_tmp
mount /dev/disk/by-partlabel/luks /btrfs_tmp # CONFIRM THIS IS CORRECT FROM findmnt
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")
@@ -33,6 +33,8 @@
"/var/spool" # Mail queues, cron jobs
"/srv" # Web server data, etc.
"/root"
"/etc/NetworkManager/system-connections"
"/var/lib/bluetooth"
];
files = [
];

View File

@@ -1,4 +1,4 @@
{ pkgs, ...}: {
{ ... }: {
# Enable the X11 windowing system.
# You can disable this if you're only using the Wayland session.
services.xserver = {

View File

@@ -1,4 +1,4 @@
{ pkgs, config, ... }: {
{ config, ... }: {
boot = {
kernelModules = [ "kvm-amd" ];
extraModulePackages = with config.boot.kernelPackages; [ xpadneo ];

View File

@@ -1,4 +1,4 @@
{ pkgs, ... }: {
{ ... }: {
environment = {
variables = {
# Required to run the correct GBM backend for nvidia GPUs on wayland

View File

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

Submodule private updated: e285230419...7d635d0d2f