Oops. thats a big commit
This commit is contained in:
parent
dfcb53a44e
commit
c5ed13b511
25 changed files with 393 additions and 303 deletions
|
@ -15,10 +15,9 @@ each host should have these files:
|
||||||
- `hardware.nix`, hardware configuration.
|
- `hardware.nix`, hardware configuration.
|
||||||
|
|
||||||
## todo
|
## todo
|
||||||
- move common config such as bootloader and networking settings to [`default.nix`](./default.nix) or some other common spot
|
|
||||||
- multi architecture configuration ([nix-systems](https://github.com/nix-systems/nix-systems)?)
|
- multi architecture configuration ([nix-systems](https://github.com/nix-systems/nix-systems)?)
|
||||||
- divide steam and gamemode?
|
- divide steam and gamemode?
|
||||||
- cursor size theme option
|
- hidpi and cursor size option
|
||||||
- sddm x11 support, too. or maybe just remove x11
|
- better theming for hyprlock, nwg-drawer, dunst
|
||||||
- hyprcursor
|
- why is hyprlock broken???
|
||||||
- ags/quickshell?
|
- wallpaper cycling
|
|
@ -23,7 +23,7 @@ progress_bar_frame_width = 1
|
||||||
progress_bar_min_width = 150
|
progress_bar_min_width = 150
|
||||||
progress_bar_max_width = 300
|
progress_bar_max_width = 300
|
||||||
separator_height = 2
|
separator_height = 2
|
||||||
frame_width = 2
|
frame_width = 1
|
||||||
corner_radius = 8
|
corner_radius = 8
|
||||||
transparency = 1
|
transparency = 1
|
||||||
gap_size = 8
|
gap_size = 8
|
||||||
|
|
374
flake.lock
generated
374
flake.lock
generated
|
@ -1,5 +1,38 @@
|
||||||
{
|
{
|
||||||
"nodes": {
|
"nodes": {
|
||||||
|
"aquamarine": {
|
||||||
|
"inputs": {
|
||||||
|
"hyprutils": [
|
||||||
|
"hyprland",
|
||||||
|
"hyprutils"
|
||||||
|
],
|
||||||
|
"hyprwayland-scanner": [
|
||||||
|
"hyprland",
|
||||||
|
"hyprwayland-scanner"
|
||||||
|
],
|
||||||
|
"nixpkgs": [
|
||||||
|
"hyprland",
|
||||||
|
"nixpkgs"
|
||||||
|
],
|
||||||
|
"systems": [
|
||||||
|
"hyprland",
|
||||||
|
"systems"
|
||||||
|
]
|
||||||
|
},
|
||||||
|
"locked": {
|
||||||
|
"lastModified": 1728326504,
|
||||||
|
"narHash": "sha256-dQXAj+4d6neY7ldCiH6gNym3upP49PVxRzEPxXlD9Aw=",
|
||||||
|
"owner": "hyprwm",
|
||||||
|
"repo": "aquamarine",
|
||||||
|
"rev": "65dd97b5d21e917295159bbef1d52e06963f4eb0",
|
||||||
|
"type": "github"
|
||||||
|
},
|
||||||
|
"original": {
|
||||||
|
"owner": "hyprwm",
|
||||||
|
"repo": "aquamarine",
|
||||||
|
"type": "github"
|
||||||
|
}
|
||||||
|
},
|
||||||
"base16-schemes": {
|
"base16-schemes": {
|
||||||
"flake": false,
|
"flake": false,
|
||||||
"locked": {
|
"locked": {
|
||||||
|
@ -50,13 +83,51 @@
|
||||||
"type": "github"
|
"type": "github"
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
|
"flake-compat_2": {
|
||||||
|
"flake": false,
|
||||||
|
"locked": {
|
||||||
|
"lastModified": 1696426674,
|
||||||
|
"narHash": "sha256-kvjfFW7WAETZlt09AgDn1MrtKzP7t90Vf7vypd3OL1U=",
|
||||||
|
"owner": "edolstra",
|
||||||
|
"repo": "flake-compat",
|
||||||
|
"rev": "0f9255e01c2351cc7d116c072cb317785dd33b33",
|
||||||
|
"type": "github"
|
||||||
|
},
|
||||||
|
"original": {
|
||||||
|
"owner": "edolstra",
|
||||||
|
"repo": "flake-compat",
|
||||||
|
"type": "github"
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"gitignore": {
|
||||||
|
"inputs": {
|
||||||
|
"nixpkgs": [
|
||||||
|
"hyprland",
|
||||||
|
"pre-commit-hooks",
|
||||||
|
"nixpkgs"
|
||||||
|
]
|
||||||
|
},
|
||||||
|
"locked": {
|
||||||
|
"lastModified": 1709087332,
|
||||||
|
"narHash": "sha256-HG2cCnktfHsKV0s4XW83gU3F57gaTljL9KNSuG6bnQs=",
|
||||||
|
"owner": "hercules-ci",
|
||||||
|
"repo": "gitignore.nix",
|
||||||
|
"rev": "637db329424fd7e46cf4185293b9cc8c88c95394",
|
||||||
|
"type": "github"
|
||||||
|
},
|
||||||
|
"original": {
|
||||||
|
"owner": "hercules-ci",
|
||||||
|
"repo": "gitignore.nix",
|
||||||
|
"type": "github"
|
||||||
|
}
|
||||||
|
},
|
||||||
"hardware": {
|
"hardware": {
|
||||||
"locked": {
|
"locked": {
|
||||||
"lastModified": 1720737798,
|
"lastModified": 1728729581,
|
||||||
"narHash": "sha256-G/OtEAts7ZUvW5lrGMXSb8HqRp2Jr9I7reBuvCOL54w=",
|
"narHash": "sha256-oazkQ/z7r43YkDLLQdMg8oIB3CwWNb+2ZrYOxtLEWTQ=",
|
||||||
"owner": "nixos",
|
"owner": "nixos",
|
||||||
"repo": "nixos-hardware",
|
"repo": "nixos-hardware",
|
||||||
"rev": "c5013aa7ce2c7ec90acee5d965d950c8348db751",
|
"rev": "a8dd1b21995964b115b1e3ec639dd6ce24ab9806",
|
||||||
"type": "github"
|
"type": "github"
|
||||||
},
|
},
|
||||||
"original": {
|
"original": {
|
||||||
|
@ -72,11 +143,11 @@
|
||||||
]
|
]
|
||||||
},
|
},
|
||||||
"locked": {
|
"locked": {
|
||||||
"lastModified": 1721135958,
|
"lastModified": 1728337164,
|
||||||
"narHash": "sha256-H548rpPMsn25LDKn1PCFmPxmWlClJJGnvdzImHkqjuY=",
|
"narHash": "sha256-VdRTjJFyq4Q9U7Z/UoC2Q5jK8vSo6E86lHc2OanXtvc=",
|
||||||
"owner": "nix-community",
|
"owner": "nix-community",
|
||||||
"repo": "home-manager",
|
"repo": "home-manager",
|
||||||
"rev": "afd2021bedff2de92dfce0e257a3d03ae65c603d",
|
"rev": "038630363e7de57c36c417fd2f5d7c14773403e4",
|
||||||
"type": "github"
|
"type": "github"
|
||||||
},
|
},
|
||||||
"original": {
|
"original": {
|
||||||
|
@ -101,11 +172,11 @@
|
||||||
]
|
]
|
||||||
},
|
},
|
||||||
"locked": {
|
"locked": {
|
||||||
"lastModified": 1720108799,
|
"lastModified": 1727821604,
|
||||||
"narHash": "sha256-AxRkTJlbB8r7aG6gvc7IaLhc2T9TO4/8uqanKRxukBQ=",
|
"narHash": "sha256-hNw5J6xatedqytYowx0mJKgctjA4lQARZFdgnzM2RpM=",
|
||||||
"owner": "hyprwm",
|
"owner": "hyprwm",
|
||||||
"repo": "hyprcursor",
|
"repo": "hyprcursor",
|
||||||
"rev": "a5c0d57325c5f0814c39110a70ca19c070ae9486",
|
"rev": "d60e1e01e6e6633ef1c87148b9137cc1dd39263d",
|
||||||
"type": "github"
|
"type": "github"
|
||||||
},
|
},
|
||||||
"original": {
|
"original": {
|
||||||
|
@ -122,11 +193,11 @@
|
||||||
"systems": "systems"
|
"systems": "systems"
|
||||||
},
|
},
|
||||||
"locked": {
|
"locked": {
|
||||||
"lastModified": 1721162167,
|
"lastModified": 1727257269,
|
||||||
"narHash": "sha256-seS+vRTrXWMBPUHUM0MYLd5Sg1JBICSzZX5daA/Vw+c=",
|
"narHash": "sha256-b/j875k6RrxQLtbW+NCLw7NLToMd9KDYywjtUoihpq4=",
|
||||||
"owner": "hyprwm",
|
"owner": "hyprwm",
|
||||||
"repo": "hypridle",
|
"repo": "hypridle",
|
||||||
"rev": "fc4e3bd2dccd3b2e816c7cbe2dca25fa5e83a4bd",
|
"rev": "cc23f97836adbba1abc8edd48169fb1f1f698c32",
|
||||||
"type": "github"
|
"type": "github"
|
||||||
},
|
},
|
||||||
"original": {
|
"original": {
|
||||||
|
@ -137,20 +208,23 @@
|
||||||
},
|
},
|
||||||
"hyprland": {
|
"hyprland": {
|
||||||
"inputs": {
|
"inputs": {
|
||||||
|
"aquamarine": "aquamarine",
|
||||||
"hyprcursor": "hyprcursor",
|
"hyprcursor": "hyprcursor",
|
||||||
|
"hyprland-protocols": "hyprland-protocols",
|
||||||
"hyprlang": "hyprlang_2",
|
"hyprlang": "hyprlang_2",
|
||||||
"hyprutils": "hyprutils_2",
|
"hyprutils": "hyprutils_2",
|
||||||
"hyprwayland-scanner": "hyprwayland-scanner",
|
"hyprwayland-scanner": "hyprwayland-scanner",
|
||||||
"nixpkgs": "nixpkgs_3",
|
"nixpkgs": "nixpkgs_3",
|
||||||
|
"pre-commit-hooks": "pre-commit-hooks",
|
||||||
"systems": "systems_2",
|
"systems": "systems_2",
|
||||||
"xdph": "xdph"
|
"xdph": "xdph"
|
||||||
},
|
},
|
||||||
"locked": {
|
"locked": {
|
||||||
"lastModified": 1721248202,
|
"lastModified": 1728507606,
|
||||||
"narHash": "sha256-VAhuQQ4EKbw/6z7K2IoR83+gXUdMksLWFQOhJNhSvQE=",
|
"narHash": "sha256-Bt6aMwB63lmb8SqKLo6hKdi//camzM3KvJ5242gn+gQ=",
|
||||||
"ref": "refs/heads/main",
|
"ref": "refs/heads/main",
|
||||||
"rev": "300228b503b36e5977b0d58713c5b4cf1f07b8a9",
|
"rev": "c4eb1940336cd88ca65ba65582ce104e49dfc7c9",
|
||||||
"revCount": 4930,
|
"revCount": 5324,
|
||||||
"submodules": true,
|
"submodules": true,
|
||||||
"type": "git",
|
"type": "git",
|
||||||
"url": "https://github.com/hyprwm/Hyprland"
|
"url": "https://github.com/hyprwm/Hyprland"
|
||||||
|
@ -181,21 +255,19 @@
|
||||||
"inputs": {
|
"inputs": {
|
||||||
"nixpkgs": [
|
"nixpkgs": [
|
||||||
"hyprland",
|
"hyprland",
|
||||||
"xdph",
|
|
||||||
"nixpkgs"
|
"nixpkgs"
|
||||||
],
|
],
|
||||||
"systems": [
|
"systems": [
|
||||||
"hyprland",
|
"hyprland",
|
||||||
"xdph",
|
|
||||||
"systems"
|
"systems"
|
||||||
]
|
]
|
||||||
},
|
},
|
||||||
"locked": {
|
"locked": {
|
||||||
"lastModified": 1718746314,
|
"lastModified": 1728345020,
|
||||||
"narHash": "sha256-HUklK5u86w2Yh9dOkk4FdsL8eehcOZ95jPhLixGDRQY=",
|
"narHash": "sha256-xGbkc7U/Roe0/Cv3iKlzijIaFBNguasI31ynL2IlEoM=",
|
||||||
"owner": "hyprwm",
|
"owner": "hyprwm",
|
||||||
"repo": "hyprland-protocols",
|
"repo": "hyprland-protocols",
|
||||||
"rev": "1b61f0093afff20ab44d88ad707aed8bf2215290",
|
"rev": "a7c183800e74f337753de186522b9017a07a8cee",
|
||||||
"type": "github"
|
"type": "github"
|
||||||
},
|
},
|
||||||
"original": {
|
"original": {
|
||||||
|
@ -220,11 +292,11 @@
|
||||||
]
|
]
|
||||||
},
|
},
|
||||||
"locked": {
|
"locked": {
|
||||||
"lastModified": 1720381373,
|
"lastModified": 1721324361,
|
||||||
"narHash": "sha256-lyC/EZdHULsaAKVryK11lgHY9u6pXr7qR4irnxNWC7k=",
|
"narHash": "sha256-BiJKO0IIdnSwHQBSrEJlKlFr753urkLE48wtt0UhNG4=",
|
||||||
"owner": "hyprwm",
|
"owner": "hyprwm",
|
||||||
"repo": "hyprlang",
|
"repo": "hyprlang",
|
||||||
"rev": "5df0174fd09de4ac5475233d65ffc703e89b82eb",
|
"rev": "adbefbf49664a6c2c8bf36b6487fd31e3eb68086",
|
||||||
"type": "github"
|
"type": "github"
|
||||||
},
|
},
|
||||||
"original": {
|
"original": {
|
||||||
|
@ -249,11 +321,11 @@
|
||||||
]
|
]
|
||||||
},
|
},
|
||||||
"locked": {
|
"locked": {
|
||||||
"lastModified": 1720381373,
|
"lastModified": 1728168612,
|
||||||
"narHash": "sha256-lyC/EZdHULsaAKVryK11lgHY9u6pXr7qR4irnxNWC7k=",
|
"narHash": "sha256-AnB1KfiXINmuiW7BALYrKqcjCnsLZPifhb/7BsfPbns=",
|
||||||
"owner": "hyprwm",
|
"owner": "hyprwm",
|
||||||
"repo": "hyprlang",
|
"repo": "hyprlang",
|
||||||
"rev": "5df0174fd09de4ac5475233d65ffc703e89b82eb",
|
"rev": "f054f2e44d6a0b74607a6bc0f52dba337a3db38e",
|
||||||
"type": "github"
|
"type": "github"
|
||||||
},
|
},
|
||||||
"original": {
|
"original": {
|
||||||
|
@ -278,40 +350,11 @@
|
||||||
]
|
]
|
||||||
},
|
},
|
||||||
"locked": {
|
"locked": {
|
||||||
"lastModified": 1720381373,
|
"lastModified": 1717881852,
|
||||||
"narHash": "sha256-lyC/EZdHULsaAKVryK11lgHY9u6pXr7qR4irnxNWC7k=",
|
"narHash": "sha256-XeeVoKHQgfKuXoP6q90sUqKyl7EYy3ol2dVZGM+Jj94=",
|
||||||
"owner": "hyprwm",
|
"owner": "hyprwm",
|
||||||
"repo": "hyprlang",
|
"repo": "hyprlang",
|
||||||
"rev": "5df0174fd09de4ac5475233d65ffc703e89b82eb",
|
"rev": "ec6938c66253429192274d612912649a0cfe4d28",
|
||||||
"type": "github"
|
|
||||||
},
|
|
||||||
"original": {
|
|
||||||
"owner": "hyprwm",
|
|
||||||
"repo": "hyprlang",
|
|
||||||
"type": "github"
|
|
||||||
}
|
|
||||||
},
|
|
||||||
"hyprlang_4": {
|
|
||||||
"inputs": {
|
|
||||||
"hyprutils": [
|
|
||||||
"hyprpaper",
|
|
||||||
"hyprutils"
|
|
||||||
],
|
|
||||||
"nixpkgs": [
|
|
||||||
"hyprpaper",
|
|
||||||
"nixpkgs"
|
|
||||||
],
|
|
||||||
"systems": [
|
|
||||||
"hyprpaper",
|
|
||||||
"systems"
|
|
||||||
]
|
|
||||||
},
|
|
||||||
"locked": {
|
|
||||||
"lastModified": 1720381373,
|
|
||||||
"narHash": "sha256-lyC/EZdHULsaAKVryK11lgHY9u6pXr7qR4irnxNWC7k=",
|
|
||||||
"owner": "hyprwm",
|
|
||||||
"repo": "hyprlang",
|
|
||||||
"rev": "5df0174fd09de4ac5475233d65ffc703e89b82eb",
|
|
||||||
"type": "github"
|
"type": "github"
|
||||||
},
|
},
|
||||||
"original": {
|
"original": {
|
||||||
|
@ -342,28 +385,6 @@
|
||||||
"type": "github"
|
"type": "github"
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
"hyprpaper": {
|
|
||||||
"inputs": {
|
|
||||||
"hyprlang": "hyprlang_4",
|
|
||||||
"hyprutils": "hyprutils_4",
|
|
||||||
"hyprwayland-scanner": "hyprwayland-scanner_2",
|
|
||||||
"nixpkgs": "nixpkgs_5",
|
|
||||||
"systems": "systems_4"
|
|
||||||
},
|
|
||||||
"locked": {
|
|
||||||
"lastModified": 1721226775,
|
|
||||||
"narHash": "sha256-dO+jd4i9vitOnSNgJSR6zjS2Gi/mDscLwfo5OY9geN0=",
|
|
||||||
"owner": "hyprwm",
|
|
||||||
"repo": "hyprpaper",
|
|
||||||
"rev": "cbc16f939fc0ac742ac681c86e9009b9d48e1bfc",
|
|
||||||
"type": "github"
|
|
||||||
},
|
|
||||||
"original": {
|
|
||||||
"owner": "hyprwm",
|
|
||||||
"repo": "hyprpaper",
|
|
||||||
"type": "github"
|
|
||||||
}
|
|
||||||
},
|
|
||||||
"hyprutils": {
|
"hyprutils": {
|
||||||
"inputs": {
|
"inputs": {
|
||||||
"nixpkgs": [
|
"nixpkgs": [
|
||||||
|
@ -376,11 +397,11 @@
|
||||||
]
|
]
|
||||||
},
|
},
|
||||||
"locked": {
|
"locked": {
|
||||||
"lastModified": 1721071737,
|
"lastModified": 1721324102,
|
||||||
"narHash": "sha256-qmC9jGfbE4+EIBbbSAkrfR/p49wShjpv4/KztgE/P54=",
|
"narHash": "sha256-WAZ0X6yJW1hFG6otkHBfyJDKRpNP5stsRqdEuHrFRpk=",
|
||||||
"owner": "hyprwm",
|
"owner": "hyprwm",
|
||||||
"repo": "hyprutils",
|
"repo": "hyprutils",
|
||||||
"rev": "eb1ceff2b87f6820789249f63faa8e9dcb54d05f",
|
"rev": "962582a090bc233c4de9d9897f46794280288989",
|
||||||
"type": "github"
|
"type": "github"
|
||||||
},
|
},
|
||||||
"original": {
|
"original": {
|
||||||
|
@ -401,11 +422,11 @@
|
||||||
]
|
]
|
||||||
},
|
},
|
||||||
"locked": {
|
"locked": {
|
||||||
"lastModified": 1721071737,
|
"lastModified": 1727300645,
|
||||||
"narHash": "sha256-qmC9jGfbE4+EIBbbSAkrfR/p49wShjpv4/KztgE/P54=",
|
"narHash": "sha256-OvAtVLaSRPnbXzOwlR1fVqCXR7i+ICRX3aPMCdIiv+c=",
|
||||||
"owner": "hyprwm",
|
"owner": "hyprwm",
|
||||||
"repo": "hyprutils",
|
"repo": "hyprutils",
|
||||||
"rev": "eb1ceff2b87f6820789249f63faa8e9dcb54d05f",
|
"rev": "3f5293432b6dc6a99f26aca2eba3876d2660665c",
|
||||||
"type": "github"
|
"type": "github"
|
||||||
},
|
},
|
||||||
"original": {
|
"original": {
|
||||||
|
@ -426,36 +447,11 @@
|
||||||
]
|
]
|
||||||
},
|
},
|
||||||
"locked": {
|
"locked": {
|
||||||
"lastModified": 1721324102,
|
"lastModified": 1717881334,
|
||||||
"narHash": "sha256-WAZ0X6yJW1hFG6otkHBfyJDKRpNP5stsRqdEuHrFRpk=",
|
"narHash": "sha256-a0inRgJhPL6v9v7RPM/rx1kbXdfe3xJA1c9z0ZkYnh4=",
|
||||||
"owner": "hyprwm",
|
"owner": "hyprwm",
|
||||||
"repo": "hyprutils",
|
"repo": "hyprutils",
|
||||||
"rev": "962582a090bc233c4de9d9897f46794280288989",
|
"rev": "0693f9398ab693d89c9a0aa3b3d062dd61b7a60e",
|
||||||
"type": "github"
|
|
||||||
},
|
|
||||||
"original": {
|
|
||||||
"owner": "hyprwm",
|
|
||||||
"repo": "hyprutils",
|
|
||||||
"type": "github"
|
|
||||||
}
|
|
||||||
},
|
|
||||||
"hyprutils_4": {
|
|
||||||
"inputs": {
|
|
||||||
"nixpkgs": [
|
|
||||||
"hyprpaper",
|
|
||||||
"nixpkgs"
|
|
||||||
],
|
|
||||||
"systems": [
|
|
||||||
"hyprpaper",
|
|
||||||
"systems"
|
|
||||||
]
|
|
||||||
},
|
|
||||||
"locked": {
|
|
||||||
"lastModified": 1721071737,
|
|
||||||
"narHash": "sha256-qmC9jGfbE4+EIBbbSAkrfR/p49wShjpv4/KztgE/P54=",
|
|
||||||
"owner": "hyprwm",
|
|
||||||
"repo": "hyprutils",
|
|
||||||
"rev": "eb1ceff2b87f6820789249f63faa8e9dcb54d05f",
|
|
||||||
"type": "github"
|
"type": "github"
|
||||||
},
|
},
|
||||||
"original": {
|
"original": {
|
||||||
|
@ -476,36 +472,11 @@
|
||||||
]
|
]
|
||||||
},
|
},
|
||||||
"locked": {
|
"locked": {
|
||||||
"lastModified": 1720215857,
|
"lastModified": 1726874836,
|
||||||
"narHash": "sha256-JPdL+Qul+jEueAn8CARfcWP83eJgwkhMejQYfDvrgvU=",
|
"narHash": "sha256-VKR0sf0PSNCB0wPHVKSAn41mCNVCnegWmgkrneKDhHM=",
|
||||||
"owner": "hyprwm",
|
"owner": "hyprwm",
|
||||||
"repo": "hyprwayland-scanner",
|
"repo": "hyprwayland-scanner",
|
||||||
"rev": "d5fa094ca27e0039be5e94c0a80ae433145af8bb",
|
"rev": "500c81a9e1a76760371049a8d99e008ea77aa59e",
|
||||||
"type": "github"
|
|
||||||
},
|
|
||||||
"original": {
|
|
||||||
"owner": "hyprwm",
|
|
||||||
"repo": "hyprwayland-scanner",
|
|
||||||
"type": "github"
|
|
||||||
}
|
|
||||||
},
|
|
||||||
"hyprwayland-scanner_2": {
|
|
||||||
"inputs": {
|
|
||||||
"nixpkgs": [
|
|
||||||
"hyprpaper",
|
|
||||||
"nixpkgs"
|
|
||||||
],
|
|
||||||
"systems": [
|
|
||||||
"hyprpaper",
|
|
||||||
"systems"
|
|
||||||
]
|
|
||||||
},
|
|
||||||
"locked": {
|
|
||||||
"lastModified": 1720215857,
|
|
||||||
"narHash": "sha256-JPdL+Qul+jEueAn8CARfcWP83eJgwkhMejQYfDvrgvU=",
|
|
||||||
"owner": "hyprwm",
|
|
||||||
"repo": "hyprwayland-scanner",
|
|
||||||
"rev": "d5fa094ca27e0039be5e94c0a80ae433145af8bb",
|
|
||||||
"type": "github"
|
"type": "github"
|
||||||
},
|
},
|
||||||
"original": {
|
"original": {
|
||||||
|
@ -564,13 +535,29 @@
|
||||||
"type": "github"
|
"type": "github"
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
"nixpkgs_2": {
|
"nixpkgs-stable": {
|
||||||
"locked": {
|
"locked": {
|
||||||
"lastModified": 1720957393,
|
"lastModified": 1720386169,
|
||||||
"narHash": "sha256-oedh2RwpjEa+TNxhg5Je9Ch6d3W1NKi7DbRO1ziHemA=",
|
"narHash": "sha256-NGKVY4PjzwAa4upkGtAMz1npHGoRzWotlSnVlqI40mo=",
|
||||||
"owner": "NixOS",
|
"owner": "NixOS",
|
||||||
"repo": "nixpkgs",
|
"repo": "nixpkgs",
|
||||||
"rev": "693bc46d169f5af9c992095736e82c3488bf7dbb",
|
"rev": "194846768975b7ad2c4988bdb82572c00222c0d7",
|
||||||
|
"type": "github"
|
||||||
|
},
|
||||||
|
"original": {
|
||||||
|
"owner": "NixOS",
|
||||||
|
"ref": "nixos-24.05",
|
||||||
|
"repo": "nixpkgs",
|
||||||
|
"type": "github"
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"nixpkgs_2": {
|
||||||
|
"locked": {
|
||||||
|
"lastModified": 1721138476,
|
||||||
|
"narHash": "sha256-+W5eZOhhemLQxelojLxETfbFbc19NWawsXBlapYpqIA=",
|
||||||
|
"owner": "NixOS",
|
||||||
|
"repo": "nixpkgs",
|
||||||
|
"rev": "ad0b5eed1b6031efaed382844806550c3dcb4206",
|
||||||
"type": "github"
|
"type": "github"
|
||||||
},
|
},
|
||||||
"original": {
|
"original": {
|
||||||
|
@ -582,11 +569,11 @@
|
||||||
},
|
},
|
||||||
"nixpkgs_3": {
|
"nixpkgs_3": {
|
||||||
"locked": {
|
"locked": {
|
||||||
"lastModified": 1720957393,
|
"lastModified": 1728241625,
|
||||||
"narHash": "sha256-oedh2RwpjEa+TNxhg5Je9Ch6d3W1NKi7DbRO1ziHemA=",
|
"narHash": "sha256-yumd4fBc/hi8a9QgA9IT8vlQuLZ2oqhkJXHPKxH/tRw=",
|
||||||
"owner": "NixOS",
|
"owner": "NixOS",
|
||||||
"repo": "nixpkgs",
|
"repo": "nixpkgs",
|
||||||
"rev": "693bc46d169f5af9c992095736e82c3488bf7dbb",
|
"rev": "c31898adf5a8ed202ce5bea9f347b1c6871f32d1",
|
||||||
"type": "github"
|
"type": "github"
|
||||||
},
|
},
|
||||||
"original": {
|
"original": {
|
||||||
|
@ -598,11 +585,11 @@
|
||||||
},
|
},
|
||||||
"nixpkgs_4": {
|
"nixpkgs_4": {
|
||||||
"locked": {
|
"locked": {
|
||||||
"lastModified": 1720957393,
|
"lastModified": 1717602782,
|
||||||
"narHash": "sha256-oedh2RwpjEa+TNxhg5Je9Ch6d3W1NKi7DbRO1ziHemA=",
|
"narHash": "sha256-pL9jeus5QpX5R+9rsp3hhZ+uplVHscNJh8n8VpqscM0=",
|
||||||
"owner": "NixOS",
|
"owner": "NixOS",
|
||||||
"repo": "nixpkgs",
|
"repo": "nixpkgs",
|
||||||
"rev": "693bc46d169f5af9c992095736e82c3488bf7dbb",
|
"rev": "e8057b67ebf307f01bdcc8fba94d94f75039d1f6",
|
||||||
"type": "github"
|
"type": "github"
|
||||||
},
|
},
|
||||||
"original": {
|
"original": {
|
||||||
|
@ -614,15 +601,15 @@
|
||||||
},
|
},
|
||||||
"nixpkgs_5": {
|
"nixpkgs_5": {
|
||||||
"locked": {
|
"locked": {
|
||||||
"lastModified": 1720957393,
|
"lastModified": 1728241625,
|
||||||
"narHash": "sha256-oedh2RwpjEa+TNxhg5Je9Ch6d3W1NKi7DbRO1ziHemA=",
|
"narHash": "sha256-yumd4fBc/hi8a9QgA9IT8vlQuLZ2oqhkJXHPKxH/tRw=",
|
||||||
"owner": "NixOS",
|
"owner": "nixos",
|
||||||
"repo": "nixpkgs",
|
"repo": "nixpkgs",
|
||||||
"rev": "693bc46d169f5af9c992095736e82c3488bf7dbb",
|
"rev": "c31898adf5a8ed202ce5bea9f347b1c6871f32d1",
|
||||||
"type": "github"
|
"type": "github"
|
||||||
},
|
},
|
||||||
"original": {
|
"original": {
|
||||||
"owner": "NixOS",
|
"owner": "nixos",
|
||||||
"ref": "nixos-unstable",
|
"ref": "nixos-unstable",
|
||||||
"repo": "nixpkgs",
|
"repo": "nixpkgs",
|
||||||
"type": "github"
|
"type": "github"
|
||||||
|
@ -632,31 +619,39 @@
|
||||||
"locked": {
|
"locked": {
|
||||||
"lastModified": 1720957393,
|
"lastModified": 1720957393,
|
||||||
"narHash": "sha256-oedh2RwpjEa+TNxhg5Je9Ch6d3W1NKi7DbRO1ziHemA=",
|
"narHash": "sha256-oedh2RwpjEa+TNxhg5Je9Ch6d3W1NKi7DbRO1ziHemA=",
|
||||||
"owner": "nixos",
|
"owner": "NixOS",
|
||||||
"repo": "nixpkgs",
|
"repo": "nixpkgs",
|
||||||
"rev": "693bc46d169f5af9c992095736e82c3488bf7dbb",
|
"rev": "693bc46d169f5af9c992095736e82c3488bf7dbb",
|
||||||
"type": "github"
|
"type": "github"
|
||||||
},
|
},
|
||||||
"original": {
|
"original": {
|
||||||
"owner": "nixos",
|
"owner": "NixOS",
|
||||||
"ref": "nixos-unstable",
|
"ref": "nixos-unstable",
|
||||||
"repo": "nixpkgs",
|
"repo": "nixpkgs",
|
||||||
"type": "github"
|
"type": "github"
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
"nixpkgs_7": {
|
"pre-commit-hooks": {
|
||||||
|
"inputs": {
|
||||||
|
"flake-compat": "flake-compat",
|
||||||
|
"gitignore": "gitignore",
|
||||||
|
"nixpkgs": [
|
||||||
|
"hyprland",
|
||||||
|
"nixpkgs"
|
||||||
|
],
|
||||||
|
"nixpkgs-stable": "nixpkgs-stable"
|
||||||
|
},
|
||||||
"locked": {
|
"locked": {
|
||||||
"lastModified": 1720957393,
|
"lastModified": 1728092656,
|
||||||
"narHash": "sha256-oedh2RwpjEa+TNxhg5Je9Ch6d3W1NKi7DbRO1ziHemA=",
|
"narHash": "sha256-eMeCTJZ5xBeQ0f9Os7K8DThNVSo9gy4umZLDfF5q6OM=",
|
||||||
"owner": "NixOS",
|
"owner": "cachix",
|
||||||
"repo": "nixpkgs",
|
"repo": "git-hooks.nix",
|
||||||
"rev": "693bc46d169f5af9c992095736e82c3488bf7dbb",
|
"rev": "1211305a5b237771e13fcca0c51e60ad47326a9a",
|
||||||
"type": "github"
|
"type": "github"
|
||||||
},
|
},
|
||||||
"original": {
|
"original": {
|
||||||
"owner": "NixOS",
|
"owner": "cachix",
|
||||||
"ref": "nixos-unstable",
|
"repo": "git-hooks.nix",
|
||||||
"repo": "nixpkgs",
|
|
||||||
"type": "github"
|
"type": "github"
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
|
@ -669,9 +664,8 @@
|
||||||
"hyprland": "hyprland",
|
"hyprland": "hyprland",
|
||||||
"hyprland-catppuccin": "hyprland-catppuccin",
|
"hyprland-catppuccin": "hyprland-catppuccin",
|
||||||
"hyprlock": "hyprlock",
|
"hyprlock": "hyprlock",
|
||||||
"hyprpaper": "hyprpaper",
|
|
||||||
"nix-colors": "nix-colors",
|
"nix-colors": "nix-colors",
|
||||||
"nixpkgs": "nixpkgs_6",
|
"nixpkgs": "nixpkgs_5",
|
||||||
"waybar": "waybar",
|
"waybar": "waybar",
|
||||||
"waybar-catppuccin": "waybar-catppuccin"
|
"waybar-catppuccin": "waybar-catppuccin"
|
||||||
}
|
}
|
||||||
|
@ -721,25 +715,10 @@
|
||||||
"type": "github"
|
"type": "github"
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
"systems_4": {
|
|
||||||
"locked": {
|
|
||||||
"lastModified": 1689347949,
|
|
||||||
"narHash": "sha256-12tWmuL2zgBgZkdoB6qXZsgJEH9LR3oUgpaQq2RbI80=",
|
|
||||||
"owner": "nix-systems",
|
|
||||||
"repo": "default-linux",
|
|
||||||
"rev": "31732fcf5e8fea42e59c2488ad31a0e651500f68",
|
|
||||||
"type": "github"
|
|
||||||
},
|
|
||||||
"original": {
|
|
||||||
"owner": "nix-systems",
|
|
||||||
"repo": "default-linux",
|
|
||||||
"type": "github"
|
|
||||||
}
|
|
||||||
},
|
|
||||||
"waybar": {
|
"waybar": {
|
||||||
"inputs": {
|
"inputs": {
|
||||||
"flake-compat": "flake-compat",
|
"flake-compat": "flake-compat_2",
|
||||||
"nixpkgs": "nixpkgs_7"
|
"nixpkgs": "nixpkgs_6"
|
||||||
},
|
},
|
||||||
"locked": {
|
"locked": {
|
||||||
"lastModified": 1721250245,
|
"lastModified": 1721250245,
|
||||||
|
@ -773,11 +752,22 @@
|
||||||
},
|
},
|
||||||
"xdph": {
|
"xdph": {
|
||||||
"inputs": {
|
"inputs": {
|
||||||
"hyprland-protocols": "hyprland-protocols",
|
"hyprland-protocols": [
|
||||||
|
"hyprland",
|
||||||
|
"hyprland-protocols"
|
||||||
|
],
|
||||||
"hyprlang": [
|
"hyprlang": [
|
||||||
"hyprland",
|
"hyprland",
|
||||||
"hyprlang"
|
"hyprlang"
|
||||||
],
|
],
|
||||||
|
"hyprutils": [
|
||||||
|
"hyprland",
|
||||||
|
"hyprutils"
|
||||||
|
],
|
||||||
|
"hyprwayland-scanner": [
|
||||||
|
"hyprland",
|
||||||
|
"hyprwayland-scanner"
|
||||||
|
],
|
||||||
"nixpkgs": [
|
"nixpkgs": [
|
||||||
"hyprland",
|
"hyprland",
|
||||||
"nixpkgs"
|
"nixpkgs"
|
||||||
|
@ -788,11 +778,11 @@
|
||||||
]
|
]
|
||||||
},
|
},
|
||||||
"locked": {
|
"locked": {
|
||||||
"lastModified": 1720194466,
|
"lastModified": 1728166987,
|
||||||
"narHash": "sha256-Rizg9efi6ue95zOp0MeIV2ZedNo+5U9G2l6yirgBUnA=",
|
"narHash": "sha256-w6dVTguAn9zJ+7aPOhBQgDz8bn6YZ7b56cY8Kg5HJRI=",
|
||||||
"owner": "hyprwm",
|
"owner": "hyprwm",
|
||||||
"repo": "xdg-desktop-portal-hyprland",
|
"repo": "xdg-desktop-portal-hyprland",
|
||||||
"rev": "b9b97e5ba23fe7bd5fa4df54696102e8aa863cf6",
|
"rev": "fb9c8d665af0588bb087f97d0f673ddf0d501787",
|
||||||
"type": "github"
|
"type": "github"
|
||||||
},
|
},
|
||||||
"original": {
|
"original": {
|
||||||
|
|
|
@ -12,10 +12,10 @@
|
||||||
|
|
||||||
waybar.url = "github:Alexays/Waybar";
|
waybar.url = "github:Alexays/Waybar";
|
||||||
|
|
||||||
|
# hypr suite
|
||||||
hyprland.url = "git+https://github.com/hyprwm/Hyprland?submodules=1";
|
hyprland.url = "git+https://github.com/hyprwm/Hyprland?submodules=1";
|
||||||
hyprlock.url = "github:hyprwm/hyprlock?rev=b407128caeb551ae808cf8d0fb653a252a271709";
|
hyprlock.url = "github:hyprwm/hyprlock?rev=b407128caeb551ae808cf8d0fb653a252a271709";
|
||||||
hypridle.url = "github:hyprwm/hypridle";
|
hypridle.url = "github:hyprwm/hypridle";
|
||||||
hyprpaper.url = "github:hyprwm/hyprpaper";
|
|
||||||
|
|
||||||
waybar-catppuccin.url = "github:catppuccin/waybar";
|
waybar-catppuccin.url = "github:catppuccin/waybar";
|
||||||
waybar-catppuccin.flake = false;
|
waybar-catppuccin.flake = false;
|
||||||
|
|
|
@ -10,6 +10,8 @@
|
||||||
services.power-profiles-daemon.enable = true;
|
services.power-profiles-daemon.enable = true;
|
||||||
# manage fans for macbook devices
|
# manage fans for macbook devices
|
||||||
services.mbpfan.enable = true;
|
services.mbpfan.enable = true;
|
||||||
|
# disable tiny-dfr module from the nixos-hardware module
|
||||||
|
hardware.apple-t2.enableTinyDfr = false;
|
||||||
|
|
||||||
# better performance than the actual intel driver
|
# better performance than the actual intel driver
|
||||||
services.xserver.videoDrivers = [ "modesetting" ];
|
services.xserver.videoDrivers = [ "modesetting" ];
|
||||||
|
@ -31,17 +33,17 @@
|
||||||
${pkgs.kmod}/bin/modprobe brcmfmac_wcc
|
${pkgs.kmod}/bin/modprobe brcmfmac_wcc
|
||||||
'';
|
'';
|
||||||
|
|
||||||
# VA-API
|
# VA-API and opengl
|
||||||
hardware.graphics = {
|
hardware.graphics = {
|
||||||
extraPackages = with pkgs; [
|
extraPackages = with pkgs; [
|
||||||
intel-media-driver
|
intel-media-driver
|
||||||
intel-vaapi-driver
|
(intel-vaapi-driver.override { enableHybridCodec = true; })
|
||||||
libvdpau-va-gl
|
libvdpau-va-gl
|
||||||
];
|
];
|
||||||
|
|
||||||
extraPackages32 = with pkgs.pkgsi686Linux; [
|
extraPackages32 = with pkgs.pkgsi686Linux; [
|
||||||
intel-media-driver
|
intel-media-driver
|
||||||
intel-vaapi-driver
|
(intel-vaapi-driver.override { enableHybridCodec = true; })
|
||||||
libvdpau-va-gl
|
libvdpau-va-gl
|
||||||
];
|
];
|
||||||
};
|
};
|
||||||
|
@ -49,8 +51,6 @@
|
||||||
environment.variables = {
|
environment.variables = {
|
||||||
LIBVA_DRIVER_NAME= "iHD";
|
LIBVA_DRIVER_NAME= "iHD";
|
||||||
VDPAU_DRIVER = "va_gl";
|
VDPAU_DRIVER = "va_gl";
|
||||||
# VA-API on firefox
|
|
||||||
MOZ_DISABLE_RDD_SANDBOX = "1";
|
|
||||||
};
|
};
|
||||||
|
|
||||||
environment.systemPackages = with pkgs; [ intel-gpu-tools ];
|
environment.systemPackages = with pkgs; [ intel-gpu-tools ];
|
||||||
|
|
|
@ -17,7 +17,7 @@
|
||||||
# debug
|
# debug
|
||||||
strace ltrace lsof
|
strace ltrace lsof
|
||||||
# apps
|
# apps
|
||||||
firefox qalculate-gtk krita inkscape onlyoffice-bin vlc nicotine-plus transmission_4-gtk
|
firefox qalculate-gtk krita inkscape onlyoffice-desktopeditors vlc nicotine-plus transmission_4-gtk font-manager
|
||||||
# compatibility
|
# compatibility
|
||||||
wineWowPackages.waylandFull winetricks
|
wineWowPackages.waylandFull winetricks
|
||||||
# misc
|
# misc
|
||||||
|
@ -28,7 +28,7 @@
|
||||||
# none yet
|
# none yet
|
||||||
]) ++ (with pkgs.gnome; [
|
]) ++ (with pkgs.gnome; [
|
||||||
# yay gnomeware!!!!!!!!!!!!!! yum
|
# yay gnomeware!!!!!!!!!!!!!! yum
|
||||||
nautilus gnome-font-viewer gnome-disk-utility ghex pkgs.gnome-text-editor pkgs.baobab file-roller gnome-system-monitor loupe
|
nautilus gnome-disk-utility ghex pkgs.gnome-text-editor pkgs.baobab file-roller gnome-system-monitor loupe
|
||||||
]);
|
]);
|
||||||
|
|
||||||
modules = {
|
modules = {
|
||||||
|
@ -48,8 +48,8 @@
|
||||||
hyprland.enable = true;
|
hyprland.enable = true;
|
||||||
hyprlock.enable = true;
|
hyprlock.enable = true;
|
||||||
hypridle.enable = true;
|
hypridle.enable = true;
|
||||||
hyprpaper.enable = true;
|
|
||||||
|
|
||||||
|
swww.enable = true;
|
||||||
gnome-keyring.enable = true;
|
gnome-keyring.enable = true;
|
||||||
dunst.enable = true;
|
dunst.enable = true;
|
||||||
rofi.enable = true;
|
rofi.enable = true;
|
||||||
|
@ -88,7 +88,4 @@
|
||||||
tools.rbw.enable = true;
|
tools.rbw.enable = true;
|
||||||
};
|
};
|
||||||
};
|
};
|
||||||
|
|
||||||
networking.networkmanager.enable = true;
|
|
||||||
systemd.services.NetworkManager-wait-online.enable = false;
|
|
||||||
}
|
}
|
||||||
|
|
|
@ -21,13 +21,6 @@
|
||||||
boot.kernelModules = [ "kvm-intel" ];
|
boot.kernelModules = [ "kvm-intel" ];
|
||||||
boot.extraModulePackages = [ ];
|
boot.extraModulePackages = [ ];
|
||||||
|
|
||||||
boot.loader = {
|
|
||||||
# use systemd-boot over grub
|
|
||||||
grub.enable = lib.mkForce false;
|
|
||||||
systemd-boot.enable = true;
|
|
||||||
efi.canTouchEfiVariables = true;
|
|
||||||
};
|
|
||||||
|
|
||||||
fileSystems."/" =
|
fileSystems."/" =
|
||||||
{ device = "/dev/disk/by-uuid/0f09afdc-88e4-4764-818b-77828931278f";
|
{ device = "/dev/disk/by-uuid/0f09afdc-88e4-4764-818b-77828931278f";
|
||||||
fsType = "ext4";
|
fsType = "ext4";
|
||||||
|
|
|
@ -13,7 +13,7 @@ in {
|
||||||
};
|
};
|
||||||
|
|
||||||
config = mkIf cfg.enable {
|
config = mkIf cfg.enable {
|
||||||
hm.wayland.windowManager.hyprland.settings.exec-once = [
|
modules.desktop.execOnStart = [
|
||||||
# -w 20 -c 10 -d 5 -- set battery levels
|
# -w 20 -c 10 -d 5 -- set battery levels
|
||||||
# -p -- notify on plug/unplug
|
# -p -- notify on plug/unplug
|
||||||
# -m 2 -- set interval to 2 seconds
|
# -m 2 -- set interval to 2 seconds
|
||||||
|
|
|
@ -16,11 +16,10 @@ in {
|
||||||
# runtime dependencies
|
# runtime dependencies
|
||||||
user.packages = with pkgs; [ wl-clipboard ];
|
user.packages = with pkgs; [ wl-clipboard ];
|
||||||
|
|
||||||
|
modules.desktop.execOnStart = [ "${lib.getExe cfg.package} -listen-shell" ];
|
||||||
hm.wayland.windowManager.hyprland.settings = let
|
hm.wayland.windowManager.hyprland.settings = let
|
||||||
class = "clipse";
|
class = "clipse";
|
||||||
in {
|
in {
|
||||||
exec-once = [ "${lib.getExe cfg.package} -listen-shell" ];
|
|
||||||
|
|
||||||
windowrulev2 = [
|
windowrulev2 = [
|
||||||
"float, class:^${class}$"
|
"float, class:^${class}$"
|
||||||
"size 622 652, class:^${class}$"
|
"size 622 652, class:^${class}$"
|
||||||
|
|
|
@ -9,6 +9,11 @@ in {
|
||||||
type = types.nullOr (types.enum ["x11" "wayland"]);
|
type = types.nullOr (types.enum ["x11" "wayland"]);
|
||||||
description = "What display protocol to use";
|
description = "What display protocol to use";
|
||||||
};
|
};
|
||||||
|
execOnStart = mkOption {
|
||||||
|
type = types.listOf types.str;
|
||||||
|
description = "List of commands to run on startup";
|
||||||
|
default = null;
|
||||||
|
};
|
||||||
};
|
};
|
||||||
|
|
||||||
config = mkMerge [
|
config = mkMerge [
|
||||||
|
@ -16,8 +21,25 @@ in {
|
||||||
modules.desktop.fonts.enable = true;
|
modules.desktop.fonts.enable = true;
|
||||||
modules.desktop.fonts.baseFonts = true;
|
modules.desktop.fonts.baseFonts = true;
|
||||||
|
|
||||||
# mounting and trash functionality, the recommended solution for most file managers
|
# bootloader
|
||||||
|
boot.loader.systemd-boot.enable = true;
|
||||||
|
boot.loader.efi.canTouchEfiVariables = true;
|
||||||
|
|
||||||
|
# enable networking
|
||||||
|
networking.networkmanager.enable = true;
|
||||||
|
|
||||||
|
# speed up boot
|
||||||
|
# https://discourse.nixos.org/t/boot-faster-by-disabling-udev-settle-and-nm-wait-online/6339
|
||||||
|
systemd.services.systemd-udev-settle.enable = false;
|
||||||
|
systemd.services.NetworkManager-wait-online.enable = false;
|
||||||
|
|
||||||
|
# mounting, trash, and mtp support
|
||||||
services.gvfs.enable = true;
|
services.gvfs.enable = true;
|
||||||
|
|
||||||
|
# various evironment variables that are needed for everything desktop related
|
||||||
|
environment.sessionVariables = {
|
||||||
|
MOZ_DISABLE_RDD_SANDBOX = "1";
|
||||||
|
};
|
||||||
}
|
}
|
||||||
(mkIf (cfg.envProto == "wayland") {
|
(mkIf (cfg.envProto == "wayland") {
|
||||||
environment.sessionVariables = {
|
environment.sessionVariables = {
|
||||||
|
|
|
@ -9,7 +9,7 @@ in {
|
||||||
};
|
};
|
||||||
|
|
||||||
config = mkIf cfg.enable {
|
config = mkIf cfg.enable {
|
||||||
hm.wayland.windowManager.hyprland.settings.exec-once = [ "${pkgs.gammastep}/bin/gammastep-indicator" ];
|
modules.desktop.execOnStart = [ "${pkgs.gammastep}/bin/gammastep-indicator" ];
|
||||||
hm.services.gammastep = {
|
hm.services.gammastep = {
|
||||||
enable = true;
|
enable = true;
|
||||||
# portland, oregon
|
# portland, oregon
|
||||||
|
|
|
@ -14,6 +14,7 @@ in {
|
||||||
};
|
};
|
||||||
|
|
||||||
config = mkIf cfg.enable {
|
config = mkIf cfg.enable {
|
||||||
|
hm.home.packages = [ cfg.package ];
|
||||||
hm.services.hypridle = let
|
hm.services.hypridle = let
|
||||||
hyprctl = "${config.modules.desktop.hyprland.package}/bin/hyprctl";
|
hyprctl = "${config.modules.desktop.hyprland.package}/bin/hyprctl";
|
||||||
in {
|
in {
|
||||||
|
|
|
@ -179,7 +179,7 @@ in {
|
||||||
"${lib.getExe pkgs.networkmanagerapplet}" # network applet
|
"${lib.getExe pkgs.networkmanagerapplet}" # network applet
|
||||||
"${pkgs.polkit_gnome}/libexec/polkit-gnome-authentication-agent-1" # polkit agent
|
"${pkgs.polkit_gnome}/libexec/polkit-gnome-authentication-agent-1" # polkit agent
|
||||||
"${lib.getExe pkgs.wl-clip-persist} --clipboard regular" # to fix wl clipboards disappearing
|
"${lib.getExe pkgs.wl-clip-persist} --clipboard regular" # to fix wl clipboards disappearing
|
||||||
];
|
] ++ config.modules.desktop.execOnStart;
|
||||||
|
|
||||||
env = [
|
env = [
|
||||||
"XCURSOR_THEME,${config.modules.desktop.themes.cursorTheme.name}"
|
"XCURSOR_THEME,${config.modules.desktop.themes.cursorTheme.name}"
|
||||||
|
@ -269,14 +269,17 @@ in {
|
||||||
|
|
||||||
blur = {
|
blur = {
|
||||||
enabled = true;
|
enabled = true;
|
||||||
size = 4;
|
size = 10;
|
||||||
passes = 2;
|
passes = 3;
|
||||||
|
# popups and special workspace have blur disabled by default
|
||||||
popups = true;
|
popups = true;
|
||||||
|
special = true;
|
||||||
};
|
};
|
||||||
|
|
||||||
drop_shadow = true;
|
drop_shadow = true;
|
||||||
shadow_range = 4;
|
shadow_range = 6;
|
||||||
shadow_render_power = 3;
|
shadow_render_power = 3;
|
||||||
|
shadow_ignore_window = true;
|
||||||
};
|
};
|
||||||
|
|
||||||
animations = {
|
animations = {
|
||||||
|
@ -308,6 +311,8 @@ in {
|
||||||
|
|
||||||
gestures = {
|
gestures = {
|
||||||
workspace_swipe = true;
|
workspace_swipe = true;
|
||||||
|
workspace_swipe_min_speed_to_force = 0;
|
||||||
|
workspace_swipe_cancel_ratio = 0.1;
|
||||||
};
|
};
|
||||||
|
|
||||||
misc = {
|
misc = {
|
||||||
|
|
|
@ -15,6 +15,7 @@ in {
|
||||||
|
|
||||||
config = mkIf cfg.enable {
|
config = mkIf cfg.enable {
|
||||||
security.pam.services.hyprlock.text = "auth include login";
|
security.pam.services.hyprlock.text = "auth include login";
|
||||||
|
hm.home.packages = [ cfg.package ];
|
||||||
hm.programs.hyprlock = with config.colorScheme.palette; {
|
hm.programs.hyprlock = with config.colorScheme.palette; {
|
||||||
enable = true;
|
enable = true;
|
||||||
package = cfg.package;
|
package = cfg.package;
|
||||||
|
@ -26,7 +27,6 @@ in {
|
||||||
no_fade_out = true;
|
no_fade_out = true;
|
||||||
text_trim = false;
|
text_trim = false;
|
||||||
};
|
};
|
||||||
|
|
||||||
background = [
|
background = [
|
||||||
{
|
{
|
||||||
path = toString ../../assets/lockscreen.png;
|
path = toString ../../assets/lockscreen.png;
|
||||||
|
@ -35,46 +35,82 @@ in {
|
||||||
blur_size = 6;
|
blur_size = 6;
|
||||||
}
|
}
|
||||||
];
|
];
|
||||||
|
shape = [
|
||||||
|
{
|
||||||
|
size = "280, 280";
|
||||||
|
color = "rgb(${base00})";
|
||||||
|
rounding = 48;
|
||||||
|
|
||||||
|
position = "0, 45";
|
||||||
|
halign = "center"; valign = "center";
|
||||||
|
|
||||||
|
shadow_passes = 3;
|
||||||
|
shadow_size = 8;
|
||||||
|
}
|
||||||
|
];
|
||||||
label = [
|
label = [
|
||||||
{
|
{
|
||||||
text = "cmd[update:1000] echo \"$(date +'%H:%M')\"";
|
position = "0, 105";
|
||||||
font_size = 58;
|
text = "cmd[update:1000] echo \"<span font_weight='1000'>$(date +'%H')</span>\"";
|
||||||
color = "rgb(${base05})";
|
font_size = 78;
|
||||||
|
color = "rgb(f5c2e7)"; # catppuccin pink
|
||||||
font_family = config.modules.desktop.fonts.fonts.sansSerif.family;
|
font_family = config.modules.desktop.fonts.fonts.sansSerif.family;
|
||||||
position = "0, 30";
|
halign = "center"; valign = "center";
|
||||||
halign = "center";
|
|
||||||
valign = "center";
|
|
||||||
}
|
}
|
||||||
{
|
{
|
||||||
text = "cmd[update:1000] echo \"$(date +'%A %B %e')\"";
|
position = "0, 20";
|
||||||
|
text = "cmd[update:1000] echo \"<span font_weight='1000'>$(date +'%M')</span>\"";
|
||||||
|
font_size = 78;
|
||||||
|
color = "rgb(${base05})";
|
||||||
|
font_family = config.modules.desktop.fonts.fonts.sansSerif.family;
|
||||||
|
halign = "center"; valign = "center";
|
||||||
|
}
|
||||||
|
{
|
||||||
|
position = "0, -45";
|
||||||
|
text = "cmd[update:1000] echo \"$(date +'%A, %d %B')\"";
|
||||||
font_size = 14;
|
font_size = 14;
|
||||||
color = "rgb(${base05})";
|
color = "rgb(${base05})";
|
||||||
font_family = config.modules.desktop.fonts.fonts.sansSerif.family;
|
font_family = config.modules.desktop.fonts.fonts.sansSerif.family;
|
||||||
position = "0, 10";
|
halign = "center"; valign = "center";
|
||||||
halign = "center";
|
}
|
||||||
valign = "center";
|
{
|
||||||
|
position = "-15, -13";
|
||||||
|
halign = "right"; valign = "top";
|
||||||
|
color = "rgb(${base05})";
|
||||||
|
font_size = 14;
|
||||||
|
font_family = "Font Awesome 6 Free";
|
||||||
|
text = "";
|
||||||
|
|
||||||
|
shadow_passes = 3;
|
||||||
|
shadow_size = 8;
|
||||||
|
}
|
||||||
|
{
|
||||||
|
position = "-41, -10";
|
||||||
|
halign = "right"; valign = "top";
|
||||||
|
color = "rgb(${base05})";
|
||||||
|
font_size = 14;
|
||||||
|
font_family = config.modules.desktop.fonts.fonts.sansSerif.family;
|
||||||
|
text = "cmd[update:4000] echo \"<span font_weight='600'>$(cat /sys/class/power_supply/BAT0/capacity)%</span>\"";
|
||||||
|
|
||||||
|
shadow_passes = 3;
|
||||||
|
shadow_size = 8;
|
||||||
}
|
}
|
||||||
];
|
];
|
||||||
|
|
||||||
input-field = [
|
input-field = [
|
||||||
{
|
{
|
||||||
size = "300, 28";
|
position = "0, -140";
|
||||||
|
size = "280, 48";
|
||||||
outline_thickness = 2;
|
outline_thickness = 2;
|
||||||
dots_size = 0.2;
|
dots_size = 0.3;
|
||||||
fade_on_empty = false;
|
fade_on_empty = false;
|
||||||
placeholder_text = "";
|
placeholder_text = "";
|
||||||
|
|
||||||
outer_color = "rgb(${base0E})";
|
outer_color = "rgb(${base00})";
|
||||||
inner_color = "rgb(${base00})";
|
inner_color = "rgb(${base00})";
|
||||||
font_color = "rgb(${base05})";
|
font_color = "rgb(${base05})";
|
||||||
check_color = "rgb(${base02})";
|
check_color = "rgb(${base02})";
|
||||||
fail_color = "rgb(${base08})";
|
fail_color = "rgb(${base08})";
|
||||||
capslock_color = "rgb(${base09})";
|
capslock_color = "rgb(${base09})";
|
||||||
|
|
||||||
position = "0, -30";
|
|
||||||
halign = "center";
|
|
||||||
valign = "center";
|
|
||||||
}
|
}
|
||||||
];
|
];
|
||||||
};
|
};
|
||||||
|
|
|
@ -1,28 +0,0 @@
|
||||||
{ lib, config, inputs, system, ... }:
|
|
||||||
|
|
||||||
with lib;
|
|
||||||
let
|
|
||||||
cfg = config.modules.desktop.hyprpaper;
|
|
||||||
in {
|
|
||||||
options.modules.desktop.hyprpaper = {
|
|
||||||
enable = mkEnableOption "Enable hyprpaper, a wayland wallpaper utility";
|
|
||||||
package = mkOption {
|
|
||||||
type = types.package;
|
|
||||||
default = inputs.hyprpaper.packages.${system}.hyprpaper;
|
|
||||||
example = "pkgs.hyprpaper";
|
|
||||||
};
|
|
||||||
};
|
|
||||||
|
|
||||||
config = mkIf cfg.enable {
|
|
||||||
hm.wayland.windowManager.hyprland.settings.exec-once = [ "${lib.getExe cfg.package}" ];
|
|
||||||
hm.xdg.configFile."hypr/hyprpaper.conf" = let
|
|
||||||
img = ../../assets/wallpaper.png;
|
|
||||||
in {
|
|
||||||
text = ''
|
|
||||||
preload = ${img}
|
|
||||||
wallpaper = ,${img}
|
|
||||||
splash = false
|
|
||||||
'';
|
|
||||||
};
|
|
||||||
};
|
|
||||||
}
|
|
|
@ -9,7 +9,7 @@ in {
|
||||||
};
|
};
|
||||||
|
|
||||||
config = mkIf cfg.enable {
|
config = mkIf cfg.enable {
|
||||||
hm.wayland.windowManager.hyprland.settings.exec-once = [ "${lib.getExe pkgs.nwg-drawer} -r -nofs -nocats -ovl -term wezterm -spacing 15 -fm nautilus" ];
|
modules.desktop.execOnStart = [ "${lib.getExe pkgs.nwg-drawer} -r -nofs -nocats -ovl -term wezterm -spacing 15 -fm nautilus" ];
|
||||||
hm.xdg.configFile."nwg-drawer/drawer.css".text = builtins.concatStringsSep "\n" [
|
hm.xdg.configFile."nwg-drawer/drawer.css".text = builtins.concatStringsSep "\n" [
|
||||||
"@import \"${inputs.waybar-catppuccin}/themes/mocha.css\";"
|
"@import \"${inputs.waybar-catppuccin}/themes/mocha.css\";"
|
||||||
(lib.readFile ../../config/nwg-drawer.css)
|
(lib.readFile ../../config/nwg-drawer.css)
|
||||||
|
|
|
@ -9,7 +9,6 @@ in {
|
||||||
};
|
};
|
||||||
|
|
||||||
config = mkIf cfg.enable {
|
config = mkIf cfg.enable {
|
||||||
# unsure if it's correct to put this in `environment.systemPackages`
|
|
||||||
environment.systemPackages = with pkgs; [
|
environment.systemPackages = with pkgs; [
|
||||||
config.modules.desktop.themes.sddmTheme.package
|
config.modules.desktop.themes.sddmTheme.package
|
||||||
config.modules.desktop.themes.cursorTheme.package
|
config.modules.desktop.themes.cursorTheme.package
|
||||||
|
@ -19,7 +18,7 @@ in {
|
||||||
];
|
];
|
||||||
services.displayManager.sddm = {
|
services.displayManager.sddm = {
|
||||||
enable = true;
|
enable = true;
|
||||||
wayland.enable = true;
|
wayland.enable = config.modules.desktop.envProto == "wayland";
|
||||||
theme = config.modules.desktop.themes.sddmTheme.name;
|
theme = config.modules.desktop.themes.sddmTheme.name;
|
||||||
settings = {
|
settings = {
|
||||||
Theme = {
|
Theme = {
|
||||||
|
|
28
modules/desktop/swww.nix
Normal file
28
modules/desktop/swww.nix
Normal file
|
@ -0,0 +1,28 @@
|
||||||
|
{ lib, config, inputs, system, pkgs, ... }:
|
||||||
|
|
||||||
|
with lib;
|
||||||
|
let
|
||||||
|
cfg = config.modules.desktop.swww;
|
||||||
|
|
||||||
|
img = ../../assets/wallpaper.png;
|
||||||
|
in {
|
||||||
|
options.modules.desktop.swww = {
|
||||||
|
enable = mkEnableOption "Enable swww, a Solution to your Wayland Wallpaper Woes";
|
||||||
|
package = mkOption {
|
||||||
|
type = types.package;
|
||||||
|
default = pkgs.swww;
|
||||||
|
example = "pkgs.swww";
|
||||||
|
};
|
||||||
|
startScript = mkOption {
|
||||||
|
type = types.package;
|
||||||
|
default = pkgs.writeScript "swww-start" ''
|
||||||
|
${cfg.package}/bin/swww-daemon &
|
||||||
|
${lib.getExe cfg.package} img "${img}" --transition-type none
|
||||||
|
'';
|
||||||
|
};
|
||||||
|
};
|
||||||
|
|
||||||
|
config = mkIf cfg.enable {
|
||||||
|
modules.desktop.execOnStart = [ "${cfg.startScript}" ];
|
||||||
|
};
|
||||||
|
}
|
|
@ -18,6 +18,8 @@ window#waybar {
|
||||||
font-family: CozetteVector, monospace, FontAwesome, Noto Sans CJK;
|
font-family: CozetteVector, monospace, FontAwesome, Noto Sans CJK;
|
||||||
font-size: 13px;
|
font-size: 13px;
|
||||||
font-style: normal;
|
font-style: normal;
|
||||||
|
|
||||||
|
border: 1px solid @surface0;
|
||||||
}
|
}
|
||||||
|
|
||||||
#workspaces, .modules-right box {
|
#workspaces, .modules-right box {
|
||||||
|
|
|
@ -14,7 +14,13 @@ in {
|
||||||
};
|
};
|
||||||
|
|
||||||
config = mkIf cfg.enable {
|
config = mkIf cfg.enable {
|
||||||
hm.wayland.windowManager.hyprland.settings.exec-once = [ "${lib.getExe cfg.package}" ];
|
# runtime requirements for modules
|
||||||
|
user.packages = with pkgs; [
|
||||||
|
# mpris
|
||||||
|
playerctl
|
||||||
|
];
|
||||||
|
|
||||||
|
modules.desktop.execOnStart = [ "${lib.getExe cfg.package}" ];
|
||||||
hm.programs.waybar = {
|
hm.programs.waybar = {
|
||||||
enable = true;
|
enable = true;
|
||||||
package = cfg.package;
|
package = cfg.package;
|
||||||
|
@ -54,11 +60,11 @@ in {
|
||||||
modules = [
|
modules = [
|
||||||
"pulseaudio"
|
"pulseaudio"
|
||||||
"backlight"
|
"backlight"
|
||||||
#"network"
|
|
||||||
"cpu"
|
"cpu"
|
||||||
"memory"
|
"memory"
|
||||||
"power-profiles-daemon"
|
"power-profiles-daemon"
|
||||||
"battery"
|
"battery"
|
||||||
|
"custom/weather"
|
||||||
"privacy"
|
"privacy"
|
||||||
];
|
];
|
||||||
};
|
};
|
||||||
|
@ -70,18 +76,18 @@ in {
|
||||||
};
|
};
|
||||||
"custom/power" = let
|
"custom/power" = let
|
||||||
powerSelect = pkgs.writeScript "power-menu" ''
|
powerSelect = pkgs.writeScript "power-menu" ''
|
||||||
cmd=$(echo 'shutdown|reboot|lock|exit Hyprland' | ${lib.getExe pkgs.rofi-wayland} -dmenu -sep '|' -i -p 'what to do ?' -theme-str 'window { height: 132px; }')
|
cmd=$(echo '⏻ shutdown|↻ reboot| lock|⎋ exit desktop environment' | ${lib.getExe pkgs.rofi-wayland} -dmenu -sep '|' -i -p 'what to do ?' -theme-str 'window { height: 132px; }')
|
||||||
case "$cmd" in
|
case "$cmd" in
|
||||||
shutdown)
|
"⏻ shutdown")
|
||||||
shutdown now
|
poweroff
|
||||||
;;
|
;;
|
||||||
reboot)
|
"↻ reboot")
|
||||||
reboot
|
reboot
|
||||||
;;
|
;;
|
||||||
lock)
|
" lock")
|
||||||
${lib.getExe config.modules.desktop.hyprlock.package}
|
${pkgs.systemd}/bin/loginctl lock-session
|
||||||
;;
|
;;
|
||||||
"exit Hyprland")
|
"⎋ exit desktop environment")
|
||||||
${config.modules.desktop.hyprland.package}/bin/hyprctl dispatch exit
|
${config.modules.desktop.hyprland.package}/bin/hyprctl dispatch exit
|
||||||
;;
|
;;
|
||||||
esac
|
esac
|
||||||
|
@ -139,17 +145,6 @@ in {
|
||||||
};
|
};
|
||||||
separate-outputs = true;
|
separate-outputs = true;
|
||||||
};
|
};
|
||||||
#network = {
|
|
||||||
# format = "";
|
|
||||||
# format-ethernet = "";
|
|
||||||
# format-wifi = " {signalStrength}%";
|
|
||||||
# format-disconnected = "";
|
|
||||||
# tooltip-format = "{ifname} via {gwaddr}";
|
|
||||||
# tooltip-format-wifi = "connected to {essid}";
|
|
||||||
# tooltip-format-ethernet = "{ifname}";
|
|
||||||
# tooltip-format-disconnected = "Disconnected";
|
|
||||||
# on-click = "${pkgs.networkmanagerapplet}/bin/nm-connection-editor";
|
|
||||||
#};
|
|
||||||
pulseaudio = {
|
pulseaudio = {
|
||||||
format = "{icon} {volume}%";
|
format = "{icon} {volume}%";
|
||||||
format-bluetooth = "{icon} {volume}%";
|
format-bluetooth = "{icon} {volume}%";
|
||||||
|
@ -215,16 +210,15 @@ in {
|
||||||
];
|
];
|
||||||
};
|
};
|
||||||
mpris = {
|
mpris = {
|
||||||
format = "♫ {dynamic}";
|
format = "{status_icon} {dynamic}";
|
||||||
format-paused = "{status_icon} {dynamic}";
|
format-paused = "{status_icon} {dynamic}";
|
||||||
dynamic-order = [ "title" ];
|
dynamic-order = [ "title" ];
|
||||||
tooltip-format = "{player}: {dynamic}";
|
tooltip-format = "{player}: {dynamic}";
|
||||||
interval = 1;
|
interval = 1;
|
||||||
status-icons = {
|
status-icons = {
|
||||||
playing = "▶";
|
playing = "⏸";
|
||||||
paused = "⏸";
|
paused = "▶";
|
||||||
};
|
};
|
||||||
player = "firefox";
|
|
||||||
};
|
};
|
||||||
clock = {
|
clock = {
|
||||||
format = "{:%H:%M}";
|
format = "{:%H:%M}";
|
||||||
|
@ -252,6 +246,18 @@ in {
|
||||||
};
|
};
|
||||||
};
|
};
|
||||||
};
|
};
|
||||||
|
tray = {
|
||||||
|
icon-size = 16;
|
||||||
|
spacing = 4;
|
||||||
|
};
|
||||||
|
"custom/weather" = {
|
||||||
|
format = "{}°";
|
||||||
|
tooltip = true;
|
||||||
|
interval = 3600;
|
||||||
|
# doxxing live stream
|
||||||
|
exec = "${lib.getExe pkgs.wttrbar} --location 'Corvallis, Oregon, United States' --hide-conditions --fahrenheit --mph";
|
||||||
|
return-type = "json";
|
||||||
|
};
|
||||||
};
|
};
|
||||||
};
|
};
|
||||||
};
|
};
|
||||||
|
|
|
@ -14,12 +14,12 @@ in {
|
||||||
};
|
};
|
||||||
|
|
||||||
config = mkIf cfg.enable {
|
config = mkIf cfg.enable {
|
||||||
hm.wayland.windowManager.hyprland.settings.exec-once = let
|
modules.desktop.execOnStart = let
|
||||||
path = cfg.sockPath;
|
path = cfg.sockPath;
|
||||||
script = pkgs.writeScript "launch-wob" ''
|
script = pkgs.writeScript "launch-wob" ''
|
||||||
rm -f ${path} && mkfifo ${path} && tail -f ${path} | ${lib.getExe pkgs.wob}
|
rm -f ${path} && mkfifo ${path} && tail -f ${path} | ${lib.getExe pkgs.wob}
|
||||||
'';
|
'';
|
||||||
in [ script ];
|
in [ (toString script) ];
|
||||||
hm.services.wob = {
|
hm.services.wob = {
|
||||||
enable = true;
|
enable = true;
|
||||||
settings = {
|
settings = {
|
||||||
|
|
36
modules/fstrim.nix
Normal file
36
modules/fstrim.nix
Normal file
|
@ -0,0 +1,36 @@
|
||||||
|
{ config, lib, ... }:
|
||||||
|
|
||||||
|
with lib;
|
||||||
|
{
|
||||||
|
# if lvm is enabled, then tell it to issue discards
|
||||||
|
# (this is good for SSDs and has almost no downsides on HDDs, so
|
||||||
|
# it's a good idea to enable it unconditionally)
|
||||||
|
environment.etc."lvm/lvm.conf".text = mkIf config.services.lvm.enable ''
|
||||||
|
devices {
|
||||||
|
issue_discards = 1
|
||||||
|
}
|
||||||
|
'';
|
||||||
|
|
||||||
|
# discard blocks that are not in use by the filesystem, good for SSDs
|
||||||
|
services.fstrim = {
|
||||||
|
# we may enable this unconditionally across all systems becuase it's performance
|
||||||
|
# impact is negligible on systems without a SSD - which means it's a no-op with
|
||||||
|
# almost no downsides aside from the service firing once per week
|
||||||
|
enable = true;
|
||||||
|
|
||||||
|
# the default value, good enough for average-load systems
|
||||||
|
interval = "weekly";
|
||||||
|
};
|
||||||
|
|
||||||
|
# tweak fstim service to run only when on AC power
|
||||||
|
# and to be nice to other processes
|
||||||
|
# (this is a good idea for any service that runs periodically)
|
||||||
|
systemd.services.fstrim = {
|
||||||
|
unitConfig.ConditionACPower = true;
|
||||||
|
|
||||||
|
serviceConfig = {
|
||||||
|
Nice = 19;
|
||||||
|
IOSchedulingClass = "idle";
|
||||||
|
};
|
||||||
|
};
|
||||||
|
}
|
|
@ -13,6 +13,9 @@ in {
|
||||||
tmp.useTmpfs = lib.mkDefault true;
|
tmp.useTmpfs = lib.mkDefault true;
|
||||||
tmp.cleanOnBoot = lib.mkDefault (!config.boot.tmp.useTmpfs);
|
tmp.cleanOnBoot = lib.mkDefault (!config.boot.tmp.useTmpfs);
|
||||||
|
|
||||||
|
# disable kernel parameter editing on boot
|
||||||
|
loader.systemd-boot.editor = false;
|
||||||
|
|
||||||
kernel.sysctl = {
|
kernel.sysctl = {
|
||||||
# magic sysrq key, allows low-level commands through keyboard input
|
# magic sysrq key, allows low-level commands through keyboard input
|
||||||
"kernel.sysrq" = 0;
|
"kernel.sysrq" = 0;
|
||||||
|
|
|
@ -54,5 +54,6 @@ in {
|
||||||
init.defaultBranch = "main";
|
init.defaultBranch = "main";
|
||||||
};
|
};
|
||||||
};
|
};
|
||||||
|
hm.programs.gh.enable = true;
|
||||||
};
|
};
|
||||||
}
|
}
|
||||||
|
|
|
@ -20,6 +20,7 @@ in {
|
||||||
|
|
||||||
local config = {}
|
local config = {}
|
||||||
|
|
||||||
|
config.front_end = "WebGpu"
|
||||||
config.font = wezterm.font '${fonts.monospaceBitmap.family}'
|
config.font = wezterm.font '${fonts.monospaceBitmap.family}'
|
||||||
config.font_size = ${toString fonts.monospaceBitmap.size}
|
config.font_size = ${toString fonts.monospaceBitmap.size}
|
||||||
config.freetype_load_flags = 'MONOCHROME'
|
config.freetype_load_flags = 'MONOCHROME'
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue