Several hyprland updates:
plugins, new cursor, light/dark themes, new app launcher, ...
This commit is contained in:
@@ -21,7 +21,16 @@
|
||||
"Bash(nix-build:*)",
|
||||
"Bash(direnv version:*)",
|
||||
"Bash(nix:*)",
|
||||
"WebFetch(domain:devenv.sh)"
|
||||
"WebFetch(domain:devenv.sh)",
|
||||
"WebFetch(domain:discourse.nixos.org)",
|
||||
"Bash(curl:*)",
|
||||
"WebFetch(domain:quickshell.org)",
|
||||
"WebFetch(domain:www.tonybtw.com)",
|
||||
"Bash(systemctl:*)",
|
||||
"Bash(darkman get:*)",
|
||||
"Bash(dconf read:*)",
|
||||
"Bash(journalctl:*)",
|
||||
"Bash(hyprctl:*)"
|
||||
]
|
||||
},
|
||||
"sandbox": {
|
||||
|
||||
Generated
+702
-48
@@ -1,5 +1,38 @@
|
||||
{
|
||||
"nodes": {
|
||||
"aquamarine": {
|
||||
"inputs": {
|
||||
"hyprutils": [
|
||||
"hyprland",
|
||||
"hyprutils"
|
||||
],
|
||||
"hyprwayland-scanner": [
|
||||
"hyprland",
|
||||
"hyprwayland-scanner"
|
||||
],
|
||||
"nixpkgs": [
|
||||
"hyprland",
|
||||
"nixpkgs"
|
||||
],
|
||||
"systems": [
|
||||
"hyprland",
|
||||
"systems"
|
||||
]
|
||||
},
|
||||
"locked": {
|
||||
"lastModified": 1770895474,
|
||||
"narHash": "sha256-JBcrq1Y0uw87VZdYsByVbv+GBuT6ECaCNb9txLX9UuU=",
|
||||
"owner": "hyprwm",
|
||||
"repo": "aquamarine",
|
||||
"rev": "a494d50d32b5567956b558437ceaa58a380712f7",
|
||||
"type": "github"
|
||||
},
|
||||
"original": {
|
||||
"owner": "hyprwm",
|
||||
"repo": "aquamarine",
|
||||
"type": "github"
|
||||
}
|
||||
},
|
||||
"base16-schemes": {
|
||||
"flake": false,
|
||||
"locked": {
|
||||
@@ -35,6 +68,31 @@
|
||||
"type": "github"
|
||||
}
|
||||
},
|
||||
"elephant": {
|
||||
"inputs": {
|
||||
"nixpkgs": [
|
||||
"walker",
|
||||
"nixpkgs"
|
||||
],
|
||||
"systems": [
|
||||
"walker",
|
||||
"systems"
|
||||
]
|
||||
},
|
||||
"locked": {
|
||||
"lastModified": 1768551400,
|
||||
"narHash": "sha256-mlHlHW8qLcHm42J1M34HLXLW+Rw8jsLkLdjSvIYlhjw=",
|
||||
"owner": "abenz1267",
|
||||
"repo": "elephant",
|
||||
"rev": "f230c43ae94231c2db754f84a4f31cf76721a28a",
|
||||
"type": "github"
|
||||
},
|
||||
"original": {
|
||||
"owner": "abenz1267",
|
||||
"repo": "elephant",
|
||||
"type": "github"
|
||||
}
|
||||
},
|
||||
"ethui": {
|
||||
"inputs": {
|
||||
"nixpkgs": "nixpkgs_2",
|
||||
@@ -56,6 +114,22 @@
|
||||
"type": "github"
|
||||
}
|
||||
},
|
||||
"flake-compat": {
|
||||
"flake": false,
|
||||
"locked": {
|
||||
"lastModified": 1767039857,
|
||||
"narHash": "sha256-vNpUSpF5Nuw8xvDLj2KCwwksIbjua2LZCqhV1LNRDns=",
|
||||
"owner": "NixOS",
|
||||
"repo": "flake-compat",
|
||||
"rev": "5edf11c44bc78a0d334f6334cdaf7d60d732daab",
|
||||
"type": "github"
|
||||
},
|
||||
"original": {
|
||||
"owner": "NixOS",
|
||||
"repo": "flake-compat",
|
||||
"type": "github"
|
||||
}
|
||||
},
|
||||
"flake-parts": {
|
||||
"inputs": {
|
||||
"nixpkgs-lib": [
|
||||
@@ -112,7 +186,7 @@
|
||||
},
|
||||
"flake-utils_3": {
|
||||
"inputs": {
|
||||
"systems": "systems_4"
|
||||
"systems": "systems_6"
|
||||
},
|
||||
"locked": {
|
||||
"lastModified": 1731533236,
|
||||
@@ -147,13 +221,35 @@
|
||||
"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": {
|
||||
"locked": {
|
||||
"lastModified": 1771169962,
|
||||
"narHash": "sha256-qpt3IhiY7L3Xf4XZn+k7m70BJwC0geUunoXDBHCBr84=",
|
||||
"lastModified": 1771171797,
|
||||
"narHash": "sha256-ngIarpog/Hv5r9M1YyvsaaSUBCqtWqHl6pibq6n2ppo=",
|
||||
"owner": "NixOS",
|
||||
"repo": "nixos-hardware",
|
||||
"rev": "cd8c113bddb3805583c1419de1dcdde63254d34e",
|
||||
"rev": "531af1dbaee7cfdd7aed1e595ce418b7e2e99a80",
|
||||
"type": "github"
|
||||
},
|
||||
"original": {
|
||||
@@ -204,13 +300,233 @@
|
||||
"type": "github"
|
||||
}
|
||||
},
|
||||
"hyprcursor": {
|
||||
"inputs": {
|
||||
"hyprlang": [
|
||||
"hyprland",
|
||||
"hyprlang"
|
||||
],
|
||||
"nixpkgs": [
|
||||
"hyprland",
|
||||
"nixpkgs"
|
||||
],
|
||||
"systems": [
|
||||
"hyprland",
|
||||
"systems"
|
||||
]
|
||||
},
|
||||
"locked": {
|
||||
"lastModified": 1753964049,
|
||||
"narHash": "sha256-lIqabfBY7z/OANxHoPeIrDJrFyYy9jAM4GQLzZ2feCM=",
|
||||
"owner": "hyprwm",
|
||||
"repo": "hyprcursor",
|
||||
"rev": "44e91d467bdad8dcf8bbd2ac7cf49972540980a5",
|
||||
"type": "github"
|
||||
},
|
||||
"original": {
|
||||
"owner": "hyprwm",
|
||||
"repo": "hyprcursor",
|
||||
"type": "github"
|
||||
}
|
||||
},
|
||||
"hyprgraphics": {
|
||||
"inputs": {
|
||||
"hyprutils": [
|
||||
"hyprland",
|
||||
"hyprutils"
|
||||
],
|
||||
"nixpkgs": [
|
||||
"hyprland",
|
||||
"nixpkgs"
|
||||
],
|
||||
"systems": [
|
||||
"hyprland",
|
||||
"systems"
|
||||
]
|
||||
},
|
||||
"locked": {
|
||||
"lastModified": 1770511807,
|
||||
"narHash": "sha256-suKmSbSk34uPOJDTg/GbPrKEJutzK08vj0VoTvAFBCA=",
|
||||
"owner": "hyprwm",
|
||||
"repo": "hyprgraphics",
|
||||
"rev": "7c75487edd43a71b61adb01cae8326d277aab683",
|
||||
"type": "github"
|
||||
},
|
||||
"original": {
|
||||
"owner": "hyprwm",
|
||||
"repo": "hyprgraphics",
|
||||
"type": "github"
|
||||
}
|
||||
},
|
||||
"hyprland": {
|
||||
"inputs": {
|
||||
"aquamarine": "aquamarine",
|
||||
"hyprcursor": "hyprcursor",
|
||||
"hyprgraphics": "hyprgraphics",
|
||||
"hyprland-guiutils": "hyprland-guiutils",
|
||||
"hyprland-protocols": "hyprland-protocols",
|
||||
"hyprlang": "hyprlang",
|
||||
"hyprutils": "hyprutils",
|
||||
"hyprwayland-scanner": "hyprwayland-scanner",
|
||||
"hyprwire": "hyprwire",
|
||||
"nixpkgs": "nixpkgs_5",
|
||||
"pre-commit-hooks": "pre-commit-hooks",
|
||||
"systems": "systems_3",
|
||||
"xdph": "xdph"
|
||||
},
|
||||
"locked": {
|
||||
"lastModified": 1771177803,
|
||||
"narHash": "sha256-7HNX0Dy6liSZo8H/Od3JTPIH2gs+yuXKvf5kIkgJqI8=",
|
||||
"ref": "refs/heads/main",
|
||||
"rev": "6716b8a0e32b1adf68cd158ea38acec73f3fc22e",
|
||||
"revCount": 6893,
|
||||
"submodules": true,
|
||||
"type": "git",
|
||||
"url": "https://github.com/hyprwm/Hyprland"
|
||||
},
|
||||
"original": {
|
||||
"submodules": true,
|
||||
"type": "git",
|
||||
"url": "https://github.com/hyprwm/Hyprland"
|
||||
}
|
||||
},
|
||||
"hyprland-guiutils": {
|
||||
"inputs": {
|
||||
"aquamarine": [
|
||||
"hyprland",
|
||||
"aquamarine"
|
||||
],
|
||||
"hyprgraphics": [
|
||||
"hyprland",
|
||||
"hyprgraphics"
|
||||
],
|
||||
"hyprlang": [
|
||||
"hyprland",
|
||||
"hyprlang"
|
||||
],
|
||||
"hyprtoolkit": "hyprtoolkit",
|
||||
"hyprutils": [
|
||||
"hyprland",
|
||||
"hyprutils"
|
||||
],
|
||||
"hyprwayland-scanner": [
|
||||
"hyprland",
|
||||
"hyprwayland-scanner"
|
||||
],
|
||||
"nixpkgs": [
|
||||
"hyprland",
|
||||
"nixpkgs"
|
||||
],
|
||||
"systems": [
|
||||
"hyprland",
|
||||
"systems"
|
||||
]
|
||||
},
|
||||
"locked": {
|
||||
"lastModified": 1767023960,
|
||||
"narHash": "sha256-R2HgtVS1G3KSIKAQ77aOZ+Q0HituOmPgXW9nBNkpp3Q=",
|
||||
"owner": "hyprwm",
|
||||
"repo": "hyprland-guiutils",
|
||||
"rev": "c2e906261142f5dd1ee0bfc44abba23e2754c660",
|
||||
"type": "github"
|
||||
},
|
||||
"original": {
|
||||
"owner": "hyprwm",
|
||||
"repo": "hyprland-guiutils",
|
||||
"type": "github"
|
||||
}
|
||||
},
|
||||
"hyprland-plugins": {
|
||||
"inputs": {
|
||||
"hyprland": [
|
||||
"hyprland"
|
||||
],
|
||||
"nixpkgs": [
|
||||
"hyprland-plugins",
|
||||
"hyprland",
|
||||
"nixpkgs"
|
||||
],
|
||||
"systems": [
|
||||
"hyprland-plugins",
|
||||
"hyprland",
|
||||
"systems"
|
||||
]
|
||||
},
|
||||
"locked": {
|
||||
"lastModified": 1770899531,
|
||||
"narHash": "sha256-UBrWjh0DR8db60aLNkTnZTJ9F4kWK0Y7rUDNJC88W7A=",
|
||||
"owner": "hyprwm",
|
||||
"repo": "hyprland-plugins",
|
||||
"rev": "e03c34ccd51280a44ea6d1f5c040cd81ecca25ed",
|
||||
"type": "github"
|
||||
},
|
||||
"original": {
|
||||
"owner": "hyprwm",
|
||||
"repo": "hyprland-plugins",
|
||||
"type": "github"
|
||||
}
|
||||
},
|
||||
"hyprland-protocols": {
|
||||
"inputs": {
|
||||
"nixpkgs": [
|
||||
"hyprland",
|
||||
"nixpkgs"
|
||||
],
|
||||
"systems": [
|
||||
"hyprland",
|
||||
"systems"
|
||||
]
|
||||
},
|
||||
"locked": {
|
||||
"lastModified": 1765214753,
|
||||
"narHash": "sha256-P9zdGXOzToJJgu5sVjv7oeOGPIIwrd9hAUAP3PsmBBs=",
|
||||
"owner": "hyprwm",
|
||||
"repo": "hyprland-protocols",
|
||||
"rev": "3f3860b869014c00e8b9e0528c7b4ddc335c21ab",
|
||||
"type": "github"
|
||||
},
|
||||
"original": {
|
||||
"owner": "hyprwm",
|
||||
"repo": "hyprland-protocols",
|
||||
"type": "github"
|
||||
}
|
||||
},
|
||||
"hyprlang": {
|
||||
"inputs": {
|
||||
"hyprutils": [
|
||||
"hyprland",
|
||||
"hyprutils"
|
||||
],
|
||||
"nixpkgs": [
|
||||
"hyprland",
|
||||
"nixpkgs"
|
||||
],
|
||||
"systems": [
|
||||
"hyprland",
|
||||
"systems"
|
||||
]
|
||||
},
|
||||
"locked": {
|
||||
"lastModified": 1767983607,
|
||||
"narHash": "sha256-8C2co8NYfR4oMOUEsPROOJ9JHrv9/ktbJJ6X1WsTbXc=",
|
||||
"owner": "hyprwm",
|
||||
"repo": "hyprlang",
|
||||
"rev": "d4037379e6057246b408bbcf796cf3e9838af5b2",
|
||||
"type": "github"
|
||||
},
|
||||
"original": {
|
||||
"owner": "hyprwm",
|
||||
"repo": "hyprlang",
|
||||
"type": "github"
|
||||
}
|
||||
},
|
||||
"hyprlang_2": {
|
||||
"inputs": {
|
||||
"nixpkgs": [
|
||||
"rose-pine-hyprcursor",
|
||||
"nixpkgs"
|
||||
],
|
||||
"systems": "systems_5"
|
||||
"systems": "systems_7"
|
||||
},
|
||||
"locked": {
|
||||
"lastModified": 1709914708,
|
||||
@@ -226,6 +542,158 @@
|
||||
"type": "github"
|
||||
}
|
||||
},
|
||||
"hyprspace": {
|
||||
"inputs": {
|
||||
"hyprland": [
|
||||
"hyprland"
|
||||
],
|
||||
"systems": "systems_4"
|
||||
},
|
||||
"locked": {
|
||||
"lastModified": 1767871242,
|
||||
"narHash": "sha256-Gge7LY1lrPc2knDnyw8GBQ2sxRPzM7W2T6jNG1HY5bA=",
|
||||
"owner": "KZDKM",
|
||||
"repo": "Hyprspace",
|
||||
"rev": "bcd969224ffeb6266c6618c192949461135eef38",
|
||||
"type": "github"
|
||||
},
|
||||
"original": {
|
||||
"owner": "KZDKM",
|
||||
"repo": "Hyprspace",
|
||||
"type": "github"
|
||||
}
|
||||
},
|
||||
"hyprtoolkit": {
|
||||
"inputs": {
|
||||
"aquamarine": [
|
||||
"hyprland",
|
||||
"hyprland-guiutils",
|
||||
"aquamarine"
|
||||
],
|
||||
"hyprgraphics": [
|
||||
"hyprland",
|
||||
"hyprland-guiutils",
|
||||
"hyprgraphics"
|
||||
],
|
||||
"hyprlang": [
|
||||
"hyprland",
|
||||
"hyprland-guiutils",
|
||||
"hyprlang"
|
||||
],
|
||||
"hyprutils": [
|
||||
"hyprland",
|
||||
"hyprland-guiutils",
|
||||
"hyprutils"
|
||||
],
|
||||
"hyprwayland-scanner": [
|
||||
"hyprland",
|
||||
"hyprland-guiutils",
|
||||
"hyprwayland-scanner"
|
||||
],
|
||||
"nixpkgs": [
|
||||
"hyprland",
|
||||
"hyprland-guiutils",
|
||||
"nixpkgs"
|
||||
],
|
||||
"systems": [
|
||||
"hyprland",
|
||||
"hyprland-guiutils",
|
||||
"systems"
|
||||
]
|
||||
},
|
||||
"locked": {
|
||||
"lastModified": 1764592794,
|
||||
"narHash": "sha256-7CcO+wbTJ1L1NBQHierHzheQGPWwkIQug/w+fhTAVuU=",
|
||||
"owner": "hyprwm",
|
||||
"repo": "hyprtoolkit",
|
||||
"rev": "5cfe0743f0e608e1462972303778d8a0859ee63e",
|
||||
"type": "github"
|
||||
},
|
||||
"original": {
|
||||
"owner": "hyprwm",
|
||||
"repo": "hyprtoolkit",
|
||||
"type": "github"
|
||||
}
|
||||
},
|
||||
"hyprutils": {
|
||||
"inputs": {
|
||||
"nixpkgs": [
|
||||
"hyprland",
|
||||
"nixpkgs"
|
||||
],
|
||||
"systems": [
|
||||
"hyprland",
|
||||
"systems"
|
||||
]
|
||||
},
|
||||
"locked": {
|
||||
"lastModified": 1770139857,
|
||||
"narHash": "sha256-bCqxcXjavgz5KBJ/1CBLqnagMMf9JvU1m9HmYVASKoc=",
|
||||
"owner": "hyprwm",
|
||||
"repo": "hyprutils",
|
||||
"rev": "9038eec033843c289b06b83557a381a2648d8fa5",
|
||||
"type": "github"
|
||||
},
|
||||
"original": {
|
||||
"owner": "hyprwm",
|
||||
"repo": "hyprutils",
|
||||
"type": "github"
|
||||
}
|
||||
},
|
||||
"hyprwayland-scanner": {
|
||||
"inputs": {
|
||||
"nixpkgs": [
|
||||
"hyprland",
|
||||
"nixpkgs"
|
||||
],
|
||||
"systems": [
|
||||
"hyprland",
|
||||
"systems"
|
||||
]
|
||||
},
|
||||
"locked": {
|
||||
"lastModified": 1770501770,
|
||||
"narHash": "sha256-NWRM6+YxTRv+bT9yvlhhJ2iLae1B1pNH3mAL5wi2rlQ=",
|
||||
"owner": "hyprwm",
|
||||
"repo": "hyprwayland-scanner",
|
||||
"rev": "0bd8b6cde9ec27d48aad9e5b4deefb3746909d40",
|
||||
"type": "github"
|
||||
},
|
||||
"original": {
|
||||
"owner": "hyprwm",
|
||||
"repo": "hyprwayland-scanner",
|
||||
"type": "github"
|
||||
}
|
||||
},
|
||||
"hyprwire": {
|
||||
"inputs": {
|
||||
"hyprutils": [
|
||||
"hyprland",
|
||||
"hyprutils"
|
||||
],
|
||||
"nixpkgs": [
|
||||
"hyprland",
|
||||
"nixpkgs"
|
||||
],
|
||||
"systems": [
|
||||
"hyprland",
|
||||
"systems"
|
||||
]
|
||||
},
|
||||
"locked": {
|
||||
"lastModified": 1770203293,
|
||||
"narHash": "sha256-PR/KER+yiHabFC/h1Wjb+9fR2Uy0lWM3Qld7jPVaWkk=",
|
||||
"owner": "hyprwm",
|
||||
"repo": "hyprwire",
|
||||
"rev": "37bc90eed02b0c8b5a77a0b00867baf3005cfb98",
|
||||
"type": "github"
|
||||
},
|
||||
"original": {
|
||||
"owner": "hyprwm",
|
||||
"repo": "hyprwire",
|
||||
"type": "github"
|
||||
}
|
||||
},
|
||||
"nix-colors": {
|
||||
"inputs": {
|
||||
"base16-schemes": "base16-schemes",
|
||||
@@ -276,6 +744,22 @@
|
||||
"type": "github"
|
||||
}
|
||||
},
|
||||
"nixpkgs_10": {
|
||||
"locked": {
|
||||
"lastModified": 1771008912,
|
||||
"narHash": "sha256-gf2AmWVTs8lEq7z/3ZAsgnZDhWIckkb+ZnAo5RzSxJg=",
|
||||
"owner": "nixos",
|
||||
"repo": "nixpkgs",
|
||||
"rev": "a82ccc39b39b621151d6732718e3e250109076fa",
|
||||
"type": "github"
|
||||
},
|
||||
"original": {
|
||||
"owner": "nixos",
|
||||
"ref": "nixos-unstable",
|
||||
"repo": "nixpkgs",
|
||||
"type": "github"
|
||||
}
|
||||
},
|
||||
"nixpkgs_2": {
|
||||
"locked": {
|
||||
"lastModified": 1752480373,
|
||||
@@ -323,6 +807,22 @@
|
||||
}
|
||||
},
|
||||
"nixpkgs_5": {
|
||||
"locked": {
|
||||
"lastModified": 1770841267,
|
||||
"narHash": "sha256-9xejG0KoqsoKEGp2kVbXRlEYtFFcDTHjidiuX8hGO44=",
|
||||
"owner": "NixOS",
|
||||
"repo": "nixpkgs",
|
||||
"rev": "ec7c70d12ce2fc37cb92aff673dcdca89d187bae",
|
||||
"type": "github"
|
||||
},
|
||||
"original": {
|
||||
"owner": "NixOS",
|
||||
"ref": "nixos-unstable",
|
||||
"repo": "nixpkgs",
|
||||
"type": "github"
|
||||
}
|
||||
},
|
||||
"nixpkgs_6": {
|
||||
"locked": {
|
||||
"lastModified": 1771008912,
|
||||
"narHash": "sha256-gf2AmWVTs8lEq7z/3ZAsgnZDhWIckkb+ZnAo5RzSxJg=",
|
||||
@@ -338,7 +838,7 @@
|
||||
"type": "github"
|
||||
}
|
||||
},
|
||||
"nixpkgs_6": {
|
||||
"nixpkgs_7": {
|
||||
"locked": {
|
||||
"lastModified": 1770380644,
|
||||
"narHash": "sha256-P7dWMHRUWG5m4G+06jDyThXO7kwSk46C1kgjEWcybkE=",
|
||||
@@ -354,7 +854,7 @@
|
||||
"type": "github"
|
||||
}
|
||||
},
|
||||
"nixpkgs_7": {
|
||||
"nixpkgs_8": {
|
||||
"locked": {
|
||||
"lastModified": 1710272261,
|
||||
"narHash": "sha256-g0bDwXFmTE7uGDOs9HcJsfLFhH7fOsASbAuOzDC+fhQ=",
|
||||
@@ -370,17 +870,17 @@
|
||||
"type": "github"
|
||||
}
|
||||
},
|
||||
"nixpkgs_8": {
|
||||
"nixpkgs_9": {
|
||||
"locked": {
|
||||
"lastModified": 1771008912,
|
||||
"narHash": "sha256-gf2AmWVTs8lEq7z/3ZAsgnZDhWIckkb+ZnAo5RzSxJg=",
|
||||
"owner": "nixos",
|
||||
"lastModified": 1768564909,
|
||||
"narHash": "sha256-Kell/SpJYVkHWMvnhqJz/8DqQg2b6PguxVWOuadbHCc=",
|
||||
"owner": "NixOS",
|
||||
"repo": "nixpkgs",
|
||||
"rev": "a82ccc39b39b621151d6732718e3e250109076fa",
|
||||
"rev": "e4bae1bd10c9c57b2cf517953ab70060a828ee6f",
|
||||
"type": "github"
|
||||
},
|
||||
"original": {
|
||||
"owner": "nixos",
|
||||
"owner": "NixOS",
|
||||
"ref": "nixos-unstable",
|
||||
"repo": "nixpkgs",
|
||||
"type": "github"
|
||||
@@ -389,8 +889,8 @@
|
||||
"nixvim": {
|
||||
"inputs": {
|
||||
"flake-parts": "flake-parts",
|
||||
"nixpkgs": "nixpkgs_6",
|
||||
"systems": "systems_3"
|
||||
"nixpkgs": "nixpkgs_7",
|
||||
"systems": "systems_5"
|
||||
},
|
||||
"locked": {
|
||||
"lastModified": 1771135771,
|
||||
@@ -409,11 +909,11 @@
|
||||
"nvchad-starter": {
|
||||
"flake": false,
|
||||
"locked": {
|
||||
"lastModified": 1770223222,
|
||||
"narHash": "sha256-K79DeMiFAf3hrV6FTmsYVZoN0trzCpMWqLM2r3QJInA=",
|
||||
"lastModified": 1771259985,
|
||||
"narHash": "sha256-WDAH2Rn5udhULSMV76g6qj8WUZNKKtQJwn6SiqZmIfU=",
|
||||
"owner": "naps62",
|
||||
"repo": "nvchad-starter",
|
||||
"rev": "578bd4076e922ee558005b2bc1a789351652c9d1",
|
||||
"rev": "a16bb42a45a02836c449d88f78f823de81be6971",
|
||||
"type": "github"
|
||||
},
|
||||
"original": {
|
||||
@@ -446,6 +946,49 @@
|
||||
"type": "github"
|
||||
}
|
||||
},
|
||||
"pre-commit-hooks": {
|
||||
"inputs": {
|
||||
"flake-compat": "flake-compat",
|
||||
"gitignore": "gitignore",
|
||||
"nixpkgs": [
|
||||
"hyprland",
|
||||
"nixpkgs"
|
||||
]
|
||||
},
|
||||
"locked": {
|
||||
"lastModified": 1770726378,
|
||||
"narHash": "sha256-kck+vIbGOaM/dHea7aTBxdFYpeUl/jHOy5W3eyRvVx8=",
|
||||
"owner": "cachix",
|
||||
"repo": "git-hooks.nix",
|
||||
"rev": "5eaaedde414f6eb1aea8b8525c466dc37bba95ae",
|
||||
"type": "github"
|
||||
},
|
||||
"original": {
|
||||
"owner": "cachix",
|
||||
"repo": "git-hooks.nix",
|
||||
"type": "github"
|
||||
}
|
||||
},
|
||||
"quickshell": {
|
||||
"inputs": {
|
||||
"nixpkgs": [
|
||||
"nixpkgs"
|
||||
]
|
||||
},
|
||||
"locked": {
|
||||
"lastModified": 1770693276,
|
||||
"narHash": "sha256-ngXnN5YXu+f45+QGYNN/VEBMQmcBCYGRCqwaK8cxY1s=",
|
||||
"ref": "refs/heads/master",
|
||||
"rev": "dacfa9de829ac7cb173825f593236bf2c21f637e",
|
||||
"revCount": 735,
|
||||
"type": "git",
|
||||
"url": "https://git.outfoxxed.me/outfoxxed/quickshell"
|
||||
},
|
||||
"original": {
|
||||
"type": "git",
|
||||
"url": "https://git.outfoxxed.me/outfoxxed/quickshell"
|
||||
}
|
||||
},
|
||||
"root": {
|
||||
"inputs": {
|
||||
"claude-code": "claude-code",
|
||||
@@ -453,21 +996,26 @@
|
||||
"foundry": "foundry",
|
||||
"hardware": "hardware",
|
||||
"home-manager": "home-manager",
|
||||
"hyprland": "hyprland",
|
||||
"hyprland-plugins": "hyprland-plugins",
|
||||
"hyprspace": "hyprspace",
|
||||
"nix-colors": "nix-colors",
|
||||
"nixpkgs": "nixpkgs_5",
|
||||
"nixpkgs": "nixpkgs_6",
|
||||
"nixvim": "nixvim",
|
||||
"nvchad-starter": "nvchad-starter",
|
||||
"nvchad4nix": "nvchad4nix",
|
||||
"quickshell": "quickshell",
|
||||
"rose-pine-hyprcursor": "rose-pine-hyprcursor",
|
||||
"systems": "systems_7",
|
||||
"systems": "systems_9",
|
||||
"utils": "utils_3",
|
||||
"walker": "walker",
|
||||
"zen-browser": "zen-browser"
|
||||
}
|
||||
},
|
||||
"rose-pine-hyprcursor": {
|
||||
"inputs": {
|
||||
"hyprlang": "hyprlang",
|
||||
"nixpkgs": "nixpkgs_7",
|
||||
"hyprlang": "hyprlang_2",
|
||||
"nixpkgs": "nixpkgs_8",
|
||||
"utils": "utils_2"
|
||||
},
|
||||
"locked": {
|
||||
@@ -517,6 +1065,36 @@
|
||||
"type": "github"
|
||||
}
|
||||
},
|
||||
"systems_10": {
|
||||
"locked": {
|
||||
"lastModified": 1681028828,
|
||||
"narHash": "sha256-Vy1rq5AaRuLzOxct8nz4T6wlgyUR7zLU309k9mBC768=",
|
||||
"owner": "nix-systems",
|
||||
"repo": "default",
|
||||
"rev": "da67096a3b9bf56a91d16901293e51ba5b49a27e",
|
||||
"type": "github"
|
||||
},
|
||||
"original": {
|
||||
"owner": "nix-systems",
|
||||
"repo": "default",
|
||||
"type": "github"
|
||||
}
|
||||
},
|
||||
"systems_11": {
|
||||
"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"
|
||||
}
|
||||
},
|
||||
"systems_2": {
|
||||
"locked": {
|
||||
"lastModified": 1681028828,
|
||||
@@ -534,35 +1112,20 @@
|
||||
},
|
||||
"systems_3": {
|
||||
"locked": {
|
||||
"lastModified": 1681028828,
|
||||
"narHash": "sha256-Vy1rq5AaRuLzOxct8nz4T6wlgyUR7zLU309k9mBC768=",
|
||||
"lastModified": 1689347949,
|
||||
"narHash": "sha256-12tWmuL2zgBgZkdoB6qXZsgJEH9LR3oUgpaQq2RbI80=",
|
||||
"owner": "nix-systems",
|
||||
"repo": "default",
|
||||
"rev": "da67096a3b9bf56a91d16901293e51ba5b49a27e",
|
||||
"repo": "default-linux",
|
||||
"rev": "31732fcf5e8fea42e59c2488ad31a0e651500f68",
|
||||
"type": "github"
|
||||
},
|
||||
"original": {
|
||||
"owner": "nix-systems",
|
||||
"repo": "default",
|
||||
"repo": "default-linux",
|
||||
"type": "github"
|
||||
}
|
||||
},
|
||||
"systems_4": {
|
||||
"locked": {
|
||||
"lastModified": 1681028828,
|
||||
"narHash": "sha256-Vy1rq5AaRuLzOxct8nz4T6wlgyUR7zLU309k9mBC768=",
|
||||
"owner": "nix-systems",
|
||||
"repo": "default",
|
||||
"rev": "da67096a3b9bf56a91d16901293e51ba5b49a27e",
|
||||
"type": "github"
|
||||
},
|
||||
"original": {
|
||||
"owner": "nix-systems",
|
||||
"repo": "default",
|
||||
"type": "github"
|
||||
}
|
||||
},
|
||||
"systems_5": {
|
||||
"locked": {
|
||||
"lastModified": 1689347949,
|
||||
"narHash": "sha256-12tWmuL2zgBgZkdoB6qXZsgJEH9LR3oUgpaQq2RbI80=",
|
||||
@@ -577,6 +1140,21 @@
|
||||
"type": "github"
|
||||
}
|
||||
},
|
||||
"systems_5": {
|
||||
"locked": {
|
||||
"lastModified": 1681028828,
|
||||
"narHash": "sha256-Vy1rq5AaRuLzOxct8nz4T6wlgyUR7zLU309k9mBC768=",
|
||||
"owner": "nix-systems",
|
||||
"repo": "default",
|
||||
"rev": "da67096a3b9bf56a91d16901293e51ba5b49a27e",
|
||||
"type": "github"
|
||||
},
|
||||
"original": {
|
||||
"owner": "nix-systems",
|
||||
"repo": "default",
|
||||
"type": "github"
|
||||
}
|
||||
},
|
||||
"systems_6": {
|
||||
"locked": {
|
||||
"lastModified": 1681028828,
|
||||
@@ -622,6 +1200,21 @@
|
||||
"type": "github"
|
||||
}
|
||||
},
|
||||
"systems_9": {
|
||||
"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"
|
||||
}
|
||||
},
|
||||
"utils": {
|
||||
"inputs": {
|
||||
"systems": "systems_2"
|
||||
@@ -642,7 +1235,7 @@
|
||||
},
|
||||
"utils_2": {
|
||||
"inputs": {
|
||||
"systems": "systems_6"
|
||||
"systems": "systems_8"
|
||||
},
|
||||
"locked": {
|
||||
"lastModified": 1710146030,
|
||||
@@ -660,7 +1253,7 @@
|
||||
},
|
||||
"utils_3": {
|
||||
"inputs": {
|
||||
"systems": "systems_8"
|
||||
"systems": "systems_10"
|
||||
},
|
||||
"locked": {
|
||||
"lastModified": 1731533236,
|
||||
@@ -676,17 +1269,78 @@
|
||||
"type": "github"
|
||||
}
|
||||
},
|
||||
"walker": {
|
||||
"inputs": {
|
||||
"elephant": "elephant",
|
||||
"nixpkgs": "nixpkgs_9",
|
||||
"systems": "systems_11"
|
||||
},
|
||||
"locked": {
|
||||
"lastModified": 1771062828,
|
||||
"narHash": "sha256-y1jBFFO0u+V21y3YldHZozrDwVJVrdC+o3c4M8/rasU=",
|
||||
"owner": "abenz1267",
|
||||
"repo": "walker",
|
||||
"rev": "19b1104585305e0806b842af341630f72038a4b9",
|
||||
"type": "github"
|
||||
},
|
||||
"original": {
|
||||
"owner": "abenz1267",
|
||||
"repo": "walker",
|
||||
"type": "github"
|
||||
}
|
||||
},
|
||||
"xdph": {
|
||||
"inputs": {
|
||||
"hyprland-protocols": [
|
||||
"hyprland",
|
||||
"hyprland-protocols"
|
||||
],
|
||||
"hyprlang": [
|
||||
"hyprland",
|
||||
"hyprlang"
|
||||
],
|
||||
"hyprutils": [
|
||||
"hyprland",
|
||||
"hyprutils"
|
||||
],
|
||||
"hyprwayland-scanner": [
|
||||
"hyprland",
|
||||
"hyprwayland-scanner"
|
||||
],
|
||||
"nixpkgs": [
|
||||
"hyprland",
|
||||
"nixpkgs"
|
||||
],
|
||||
"systems": [
|
||||
"hyprland",
|
||||
"systems"
|
||||
]
|
||||
},
|
||||
"locked": {
|
||||
"lastModified": 1761431178,
|
||||
"narHash": "sha256-xzjC1CV3+wpUQKNF+GnadnkeGUCJX+vgaWIZsnz9tzI=",
|
||||
"owner": "hyprwm",
|
||||
"repo": "xdg-desktop-portal-hyprland",
|
||||
"rev": "4b8801228ff958d028f588f0c2b911dbf32297f9",
|
||||
"type": "github"
|
||||
},
|
||||
"original": {
|
||||
"owner": "hyprwm",
|
||||
"repo": "xdg-desktop-portal-hyprland",
|
||||
"type": "github"
|
||||
}
|
||||
},
|
||||
"zen-browser": {
|
||||
"inputs": {
|
||||
"home-manager": "home-manager_2",
|
||||
"nixpkgs": "nixpkgs_8"
|
||||
"nixpkgs": "nixpkgs_10"
|
||||
},
|
||||
"locked": {
|
||||
"lastModified": 1771131295,
|
||||
"narHash": "sha256-3Z7RKjuifcB6Hkjrk8gNOXAqEv5+ubc/J9lLoKD7pv4=",
|
||||
"lastModified": 1771222275,
|
||||
"narHash": "sha256-df+Un2QnDj95MQxmsnopCtSy/meWO2RDHuMGAqq3nlc=",
|
||||
"owner": "0xc000022070",
|
||||
"repo": "zen-browser-flake",
|
||||
"rev": "e983cc5e47483742b61e0c53cfe9a9314628086f",
|
||||
"rev": "a20f5d0c6454b5b24a497afb280427c9af33a0be",
|
||||
"type": "github"
|
||||
},
|
||||
"original": {
|
||||
|
||||
@@ -34,6 +34,24 @@
|
||||
rose-pine-hyprcursor.url = "github:ndom91/rose-pine-hyprcursor";
|
||||
zen-browser.url = "github:0xc000022070/zen-browser-flake";
|
||||
ethui.url = "github:ethui/ethui/nix";
|
||||
hyprland = {
|
||||
type = "git";
|
||||
url = "https://github.com/hyprwm/Hyprland";
|
||||
submodules = true;
|
||||
};
|
||||
hyprland-plugins = {
|
||||
url = "github:hyprwm/hyprland-plugins";
|
||||
inputs.hyprland.follows = "hyprland";
|
||||
};
|
||||
hyprspace = {
|
||||
url = "github:KZDKM/Hyprspace";
|
||||
inputs.hyprland.follows = "hyprland";
|
||||
};
|
||||
quickshell = {
|
||||
url = "git+https://git.outfoxxed.me/outfoxxed/quickshell";
|
||||
inputs.nixpkgs.follows = "nixpkgs";
|
||||
};
|
||||
walker.url = "github:abenz1267/walker";
|
||||
claude-code.url = "github:sadjow/claude-code-nix";
|
||||
};
|
||||
|
||||
|
||||
@@ -14,19 +14,23 @@
|
||||
../common/programs/desktop
|
||||
../common/programs/zen-browser.nix
|
||||
../common/programs/hyprland
|
||||
../common/programs/i3.nix
|
||||
../common/programs/kitty
|
||||
../common/programs/syncthing.nix
|
||||
../common/programs/unity.nix
|
||||
../common/programs/ethui.nix
|
||||
../common/programs/gpg.nix
|
||||
../common/features/xdg.nix
|
||||
../common/features/downloads-cleanup.nix
|
||||
../common/programs/3d.nix
|
||||
../common/features/bluetooth.nix
|
||||
./monitors.nix
|
||||
];
|
||||
|
||||
wayland.windowManager.hyprland.settings = {
|
||||
exec-once = [
|
||||
"hyprctl setcursor Nordzy-cursors 32"
|
||||
];
|
||||
|
||||
workspace = [
|
||||
"1, monitor:DP-3"
|
||||
"2, monitor:eDP-1"
|
||||
@@ -42,14 +46,6 @@
|
||||
];
|
||||
};
|
||||
|
||||
programs.hyprpanel.settings.bar.layouts = {
|
||||
"0" = {
|
||||
right = [
|
||||
"battery"
|
||||
];
|
||||
};
|
||||
};
|
||||
|
||||
home = {
|
||||
username = lib.mkDefault "naps62";
|
||||
stateVersion = lib.mkDefault "24.05";
|
||||
|
||||
@@ -0,0 +1,64 @@
|
||||
{ pkgs, config, lib, ... }:
|
||||
|
||||
let
|
||||
downloadsDir = "${config.home.homeDirectory}/downloads";
|
||||
# Age in days after which files should be deleted
|
||||
maxAge = 30;
|
||||
in
|
||||
{
|
||||
systemd.user.services.downloads-cleanup = {
|
||||
Unit = {
|
||||
Description = "Clean old files from downloads subdirectories";
|
||||
};
|
||||
|
||||
Service = {
|
||||
Type = "oneshot";
|
||||
ExecStart = "${pkgs.writeShellScript "downloads-cleanup" ''
|
||||
set -euo pipefail
|
||||
|
||||
echo "Starting downloads cleanup..."
|
||||
echo "Cleaning files older than ${toString maxAge} days from ${downloadsDir}/*/ (including hidden files)"
|
||||
|
||||
# Find and delete files older than maxAge days in subdirectories of downloads
|
||||
# -mindepth 2 ensures we only look inside subdirectories, not in downloads/ itself
|
||||
# -type f ensures we only delete files, not directories
|
||||
# This includes hidden files and directories
|
||||
if [ -d "${downloadsDir}" ]; then
|
||||
${pkgs.findutils}/bin/find "${downloadsDir}" \
|
||||
-mindepth 2 \
|
||||
-type f \
|
||||
-mtime +${toString maxAge} \
|
||||
-print \
|
||||
-delete 2>/dev/null || true
|
||||
|
||||
# Also remove empty directories (including hidden ones)
|
||||
${pkgs.findutils}/bin/find "${downloadsDir}" \
|
||||
-mindepth 2 \
|
||||
-type d \
|
||||
-empty \
|
||||
-print \
|
||||
-delete 2>/dev/null || true
|
||||
|
||||
echo "Cleanup completed successfully"
|
||||
else
|
||||
echo "Downloads directory does not exist, skipping cleanup"
|
||||
fi
|
||||
''}";
|
||||
};
|
||||
};
|
||||
|
||||
systemd.user.timers.downloads-cleanup = {
|
||||
Unit = {
|
||||
Description = "Timer for downloads cleanup";
|
||||
};
|
||||
|
||||
Timer = {
|
||||
OnCalendar = "daily";
|
||||
Persistent = true;
|
||||
};
|
||||
|
||||
Install = {
|
||||
WantedBy = [ "timers.target" ];
|
||||
};
|
||||
};
|
||||
}
|
||||
@@ -13,6 +13,17 @@
|
||||
${pkgs.dconf}/bin/dconf write \
|
||||
/org/gnome/desktop/interface/gtk-theme "'Orchis-Dark-Compact'"
|
||||
'';
|
||||
cursor-theme = ''
|
||||
${pkgs.dconf}/bin/dconf write \
|
||||
/org/gnome/desktop/interface/cursor-theme "'Nordzy-cursors'"
|
||||
|
||||
# Set environment variables for current session
|
||||
export HYPRCURSOR_THEME="Nordzy-cursors"
|
||||
export XCURSOR_THEME="Nordzy-cursors"
|
||||
|
||||
# Update Hyprland cursor theme
|
||||
${pkgs.hyprland}/bin/hyprctl setcursor Nordzy-cursors 42
|
||||
'';
|
||||
};
|
||||
lightModeScripts = {
|
||||
gtk-theme = ''
|
||||
@@ -21,10 +32,23 @@
|
||||
${pkgs.dconf}/bin/dconf write \
|
||||
/org/gnome/desktop/interface/gtk-theme "'Orchis-Compact'"
|
||||
'';
|
||||
cursor-theme = ''
|
||||
${pkgs.dconf}/bin/dconf write \
|
||||
/org/gnome/desktop/interface/cursor-theme "'Nordzy-white'"
|
||||
|
||||
# Set environment variables for current session
|
||||
export HYPRCURSOR_THEME="Nordzy-white"
|
||||
export XCURSOR_THEME="Nordzy-white"
|
||||
|
||||
# Update Hyprland cursor theme
|
||||
${pkgs.hyprland}/bin/hyprctl setcursor Nordzy-white 42
|
||||
'';
|
||||
};
|
||||
};
|
||||
|
||||
xdg.configFile."darkman/config.yaml".text = ''
|
||||
usegeoclue: true
|
||||
lat: 41.55
|
||||
lng: -8.42
|
||||
dbusserver: true
|
||||
'';
|
||||
}
|
||||
|
||||
@@ -1,14 +1,16 @@
|
||||
{ pkgs, inputs, ... }:
|
||||
let
|
||||
nordzy-cursors = pkgs.callPackage ../../../../pkgs/nordzy-cursors/package.nix { };
|
||||
in
|
||||
{
|
||||
home.packages = with pkgs; [
|
||||
rose-pine-cursor
|
||||
inputs.rose-pine-hyprcursor.packages.${pkgs.stdenv.hostPlatform.system}.default
|
||||
home.packages = [
|
||||
nordzy-cursors
|
||||
];
|
||||
|
||||
home.sessionVariables = {
|
||||
HYPRCURSOR_THEME = "BreezeX-RosePine-Linux";
|
||||
HYPRCURSOR_THEME = "Nordzy-cursors"; # Dark variant (default)
|
||||
HYPRCURSOR_SIZE = 32;
|
||||
XCURSOR_THEME = "BreezeX-RosePine-Linux";
|
||||
XCURSOR_THEME = "Nordzy-cursors";
|
||||
XCURSOR_SIZE = 32;
|
||||
};
|
||||
|
||||
|
||||
@@ -1,12 +1,19 @@
|
||||
{ config, pkgs, ... }:
|
||||
{
|
||||
config,
|
||||
inputs,
|
||||
pkgs,
|
||||
...
|
||||
}:
|
||||
let
|
||||
rofiLaunchers = import ../../../pkgs/rofi-launchers/package.nix { };
|
||||
in
|
||||
{
|
||||
imports = [
|
||||
./rofi.nix
|
||||
./walker.nix
|
||||
./cursor.nix
|
||||
./hyprpanel.nix
|
||||
./waybar.nix
|
||||
./quickshell.nix
|
||||
];
|
||||
|
||||
home.packages = with pkgs; [
|
||||
@@ -25,7 +32,34 @@ in
|
||||
|
||||
wayland.windowManager.hyprland = {
|
||||
enable = true;
|
||||
package = null;
|
||||
portalPackage = null;
|
||||
plugins = [
|
||||
inputs.hyprland-plugins.packages.${pkgs.stdenv.hostPlatform.system}.hyprexpo
|
||||
inputs.hyprland-plugins.packages.${pkgs.stdenv.hostPlatform.system}.hyprfocus
|
||||
# inputs.hyprspace.packages.${pkgs.stdenv.hostPlatform.system}.Hyprspace
|
||||
];
|
||||
settings = {
|
||||
plugin = {
|
||||
hyprexpo = {
|
||||
columns = 3;
|
||||
gap_size = 5;
|
||||
bg_col = "rgb(000000)";
|
||||
workspace_method = "center current";
|
||||
};
|
||||
hyprfocus = {
|
||||
enabled = true;
|
||||
mode = "flash";
|
||||
flash_opacity = 1.8; # Flash brighter instead of dimmer
|
||||
};
|
||||
overview = {
|
||||
autoDrag = true;
|
||||
exitOnClick = true;
|
||||
exitOnSwitch = true;
|
||||
showNewWorkspace = false;
|
||||
showEmptyWorkspace = false;
|
||||
};
|
||||
};
|
||||
input = {
|
||||
kb_options = "ctrl:nocaps";
|
||||
repeat_delay = 150;
|
||||
@@ -71,34 +105,17 @@ in
|
||||
blur = {
|
||||
enabled = true;
|
||||
# new_optimizations = false;
|
||||
popups = false;
|
||||
};
|
||||
shadow = {
|
||||
enabled = false;
|
||||
};
|
||||
};
|
||||
|
||||
# keep default animations, but speed them all up
|
||||
animations = {
|
||||
bezier = [
|
||||
"wind, 0.05, 0.9, 0.1, 1.0"
|
||||
"winIn, 0.1, 1.0, 0.1, 1.0"
|
||||
"winOut, 0.3, -0.3, 0, 1"
|
||||
"liner, 1, 1, 1, 1"
|
||||
"fadeIn, 0, 0, 0.98, 1"
|
||||
];
|
||||
animation = [
|
||||
"windows, 1, 2, wind, popin 80%"
|
||||
"windowsIn, 1, 2, fadeIn, popin 80%"
|
||||
"windowsOut, 1, 5, winOut, popin 80%"
|
||||
"windowsMove, 1, 5, wind, slide"
|
||||
"border, 1, 1, liner"
|
||||
"borderangle, 1, 30, liner, loop"
|
||||
"fade, 1, 2, fadeIn"
|
||||
"fadeIn, 1, 2, fadeIn"
|
||||
"fadeOut, 1, 2, winOut"
|
||||
"workspaces, 1, 2, wind"
|
||||
"windowsMove, 0, 1, default, slide"
|
||||
# "specialWorkspace, 0, 2, default, fade"
|
||||
"specialWorkspace, 1, 2, fadeIn, fade"
|
||||
"global, 1, 2, default"
|
||||
];
|
||||
};
|
||||
|
||||
@@ -111,7 +128,6 @@ in
|
||||
|
||||
"exec-once" = [
|
||||
"dbus-update-activation-environment --systemd WAYLAND_DISPLAY XDG_CURRENT_DESKTOP"
|
||||
"hyprpanel"
|
||||
"nm-applet"
|
||||
"hyprsunset"
|
||||
"nerd-dictation begin --simulate-input-tool WTYPE --suspend-on-start && touch ~/.cache/nerd-dictation-suspended"
|
||||
@@ -165,14 +181,19 @@ in
|
||||
"$mod" = "SUPER";
|
||||
|
||||
bind = [
|
||||
"$mod, g, hyprexpo:expo, toggle"
|
||||
# "$mod, tab, overview:toggle,"
|
||||
"$mod, b, exec, pkill waybar || waybar"
|
||||
"$mod, t, exec, kitty"
|
||||
"$mod, v, togglefloating"
|
||||
"$mod, q, killactive"
|
||||
"$mod, f, fullscreen, 0"
|
||||
"$mod SHIFT, f, fullscreen, 1"
|
||||
|
||||
# rofi
|
||||
"$mod, space, exec, launcher_t2"
|
||||
# walker app launcher
|
||||
"$mod, space, exec, walker"
|
||||
# rofi (old)
|
||||
# "$mod, space, exec, launcher_t2"
|
||||
|
||||
# nerd-dictation
|
||||
# "$mod, d, exec, nerd-dictation-toggle"
|
||||
|
||||
@@ -0,0 +1,11 @@
|
||||
{ inputs, pkgs, ... }:
|
||||
{
|
||||
home.packages = [
|
||||
inputs.quickshell.packages.${pkgs.stdenv.hostPlatform.system}.default
|
||||
];
|
||||
|
||||
xdg.configFile."quickshell" = {
|
||||
source = ./quickshell;
|
||||
recursive = true;
|
||||
};
|
||||
}
|
||||
@@ -0,0 +1,94 @@
|
||||
import Quickshell
|
||||
import Quickshell.Hyprland
|
||||
import QtQuick
|
||||
import QtQuick.Layouts
|
||||
|
||||
Scope {
|
||||
id: root
|
||||
property bool barVisible: false
|
||||
|
||||
Variants {
|
||||
model: Quickshell.screens
|
||||
|
||||
Scope {
|
||||
id: perScreen
|
||||
required property var modelData
|
||||
|
||||
// invisible trigger zone at the top edge
|
||||
PanelWindow {
|
||||
id: trigger
|
||||
screen: perScreen.modelData
|
||||
visible: !root.barVisible
|
||||
|
||||
anchors {
|
||||
top: true
|
||||
left: true
|
||||
right: true
|
||||
}
|
||||
|
||||
exclusionMode: ExclusionMode.Ignore
|
||||
implicitHeight: 4
|
||||
color: "transparent"
|
||||
|
||||
MouseArea {
|
||||
anchors.fill: parent
|
||||
hoverEnabled: true
|
||||
onEntered: root.barVisible = true
|
||||
}
|
||||
}
|
||||
|
||||
// the actual bar
|
||||
PanelWindow {
|
||||
id: bar
|
||||
screen: perScreen.modelData
|
||||
visible: root.barVisible
|
||||
|
||||
anchors {
|
||||
top: true
|
||||
left: true
|
||||
right: true
|
||||
}
|
||||
|
||||
exclusionMode: ExclusionMode.Ignore
|
||||
implicitHeight: 32
|
||||
color: "#e611111b"
|
||||
|
||||
MouseArea {
|
||||
anchors.fill: parent
|
||||
hoverEnabled: true
|
||||
propagateComposedEvents: true
|
||||
// keep bar visible while mouse is on it
|
||||
onExited: hideTimer.restart()
|
||||
}
|
||||
|
||||
RowLayout {
|
||||
anchors.fill: parent
|
||||
anchors.leftMargin: 12
|
||||
anchors.rightMargin: 12
|
||||
spacing: 0
|
||||
|
||||
Workspaces {
|
||||
Layout.alignment: Qt.AlignLeft
|
||||
}
|
||||
|
||||
Item { Layout.fillWidth: true }
|
||||
|
||||
SysTray {
|
||||
Layout.alignment: Qt.AlignRight
|
||||
Layout.rightMargin: 16
|
||||
}
|
||||
|
||||
ClockWidget {
|
||||
Layout.alignment: Qt.AlignRight
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
Timer {
|
||||
id: hideTimer
|
||||
interval: 500
|
||||
onTriggered: root.barVisible = false
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,20 @@
|
||||
import QtQuick
|
||||
import QtQuick.Layouts
|
||||
|
||||
RowLayout {
|
||||
spacing: 12
|
||||
|
||||
Text {
|
||||
text: Time.date
|
||||
font.family: "FiraCode Nerd Font"
|
||||
font.pixelSize: 13
|
||||
color: "#6c7086"
|
||||
}
|
||||
|
||||
Text {
|
||||
text: Time.clock
|
||||
font.family: "FiraCode Nerd Font"
|
||||
font.pixelSize: 14
|
||||
color: "#bac2de"
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,47 @@
|
||||
import QtQuick
|
||||
import QtQuick.Layouts
|
||||
import QtQuick.Controls
|
||||
import Quickshell
|
||||
import Quickshell.Services.SystemTray
|
||||
|
||||
RowLayout {
|
||||
spacing: 6
|
||||
|
||||
Repeater {
|
||||
model: SystemTray.items
|
||||
|
||||
Image {
|
||||
required property SystemTrayItem modelData
|
||||
|
||||
Layout.preferredWidth: 18
|
||||
Layout.preferredHeight: 18
|
||||
source: modelData.icon
|
||||
fillMode: Image.PreserveAspectFit
|
||||
|
||||
MouseArea {
|
||||
anchors.fill: parent
|
||||
acceptedButtons: Qt.LeftButton | Qt.RightButton
|
||||
onClicked: (mouse) => {
|
||||
if (mouse.button === Qt.RightButton || modelData.onlyMenu) {
|
||||
modelData.display(bar, parent.x, bar.height)
|
||||
} else {
|
||||
modelData.activate()
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
ToolTip {
|
||||
id: tooltip
|
||||
visible: hoverArea.containsMouse
|
||||
text: modelData.tooltipTitle || modelData.title || ""
|
||||
}
|
||||
|
||||
MouseArea {
|
||||
id: hoverArea
|
||||
anchors.fill: parent
|
||||
hoverEnabled: true
|
||||
acceptedButtons: Qt.NoButton
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,15 @@
|
||||
pragma Singleton
|
||||
|
||||
import Quickshell
|
||||
import QtQuick
|
||||
|
||||
Singleton {
|
||||
id: root
|
||||
readonly property string clock: Qt.formatDateTime(sysClock.date, "hh:mm")
|
||||
readonly property string date: Qt.formatDateTime(sysClock.date, "ddd MMM d")
|
||||
|
||||
SystemClock {
|
||||
id: sysClock
|
||||
precision: SystemClock.Minutes
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,41 @@
|
||||
import QtQuick
|
||||
import QtQuick.Layouts
|
||||
import Quickshell.Hyprland
|
||||
|
||||
RowLayout {
|
||||
spacing: 4
|
||||
|
||||
Repeater {
|
||||
model: [1, 2, 3, 4, 5, 6]
|
||||
|
||||
Rectangle {
|
||||
required property int modelData
|
||||
property bool active: Hyprland.focusedMonitor?.activeWorkspace?.id === modelData
|
||||
property bool occupied: {
|
||||
for (let i = 0; i < Hyprland.workspaces.values.length; i++) {
|
||||
let ws = Hyprland.workspaces.values[i];
|
||||
if (ws.id === modelData && ws.windows > 0) return true;
|
||||
}
|
||||
return false;
|
||||
}
|
||||
|
||||
Layout.preferredWidth: 24
|
||||
Layout.preferredHeight: 24
|
||||
radius: 4
|
||||
color: active ? "#b4befe" : "transparent"
|
||||
|
||||
Text {
|
||||
anchors.centerIn: parent
|
||||
text: modelData
|
||||
font.family: "FiraCode Nerd Font"
|
||||
font.pixelSize: 13
|
||||
color: active ? "#11111b" : occupied ? "#bac2de" : "#6c7086"
|
||||
}
|
||||
|
||||
MouseArea {
|
||||
anchors.fill: parent
|
||||
onClicked: Hyprland.dispatch("workspace " + modelData)
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,5 @@
|
||||
import Quickshell
|
||||
|
||||
Scope {
|
||||
Bar {}
|
||||
}
|
||||
@@ -0,0 +1,13 @@
|
||||
{ inputs, pkgs, ... }:
|
||||
{
|
||||
imports = [ inputs.walker.homeManagerModules.default ];
|
||||
|
||||
programs.walker = {
|
||||
enable = true;
|
||||
runAsService = true;
|
||||
|
||||
# Using default theme - clean dark theme with good defaults
|
||||
# You can customize later by copying from:
|
||||
# https://github.com/abenz1267/walker/tree/master/resources/themes/default
|
||||
};
|
||||
}
|
||||
@@ -0,0 +1,173 @@
|
||||
{ pkgs, ... }:
|
||||
{
|
||||
programs.waybar = {
|
||||
enable = true;
|
||||
settings = {
|
||||
mainBar = {
|
||||
layer = "top";
|
||||
position = "top";
|
||||
height = 32;
|
||||
exclusive = false;
|
||||
|
||||
modules-left = [ "hyprland/workspaces" ];
|
||||
modules-center = [ "hyprland/window" ];
|
||||
modules-right = [
|
||||
"tray"
|
||||
"bluetooth"
|
||||
"network"
|
||||
"pulseaudio"
|
||||
"battery"
|
||||
"clock"
|
||||
];
|
||||
|
||||
"hyprland/workspaces" = {
|
||||
format = "{icon}";
|
||||
format-icons = {
|
||||
"1" = "1";
|
||||
"2" = "2";
|
||||
"3" = "3";
|
||||
"4" = "4";
|
||||
"5" = "5";
|
||||
"6" = "6";
|
||||
};
|
||||
persistent-workspaces = {
|
||||
"*" = [ 1 2 3 4 5 6 ];
|
||||
};
|
||||
};
|
||||
|
||||
"hyprland/window" = {
|
||||
max-length = 50;
|
||||
};
|
||||
|
||||
tray = {
|
||||
icon-size = 16;
|
||||
spacing = 8;
|
||||
};
|
||||
|
||||
bluetooth = {
|
||||
format = "";
|
||||
format-disabled = "";
|
||||
format-connected = "";
|
||||
tooltip-format = "{controller_alias}\t{controller_address}";
|
||||
tooltip-format-connected = "{controller_alias}\t{controller_address}\n\n{device_enumerate}";
|
||||
tooltip-format-enumerate-connected = "{device_alias}\t{device_address}";
|
||||
on-click = "blueman-manager";
|
||||
};
|
||||
|
||||
network = {
|
||||
format-wifi = "";
|
||||
format-ethernet = "";
|
||||
format-disconnected = "";
|
||||
tooltip-format-wifi = "{essid} ({signalStrength}%)";
|
||||
tooltip-format-ethernet = "{ifname}: {ipaddr}/{cidr}";
|
||||
tooltip-format-disconnected = "Disconnected";
|
||||
};
|
||||
|
||||
pulseaudio = {
|
||||
format = "{icon}";
|
||||
format-muted = "";
|
||||
format-icons = {
|
||||
default = [ "" "" "" ];
|
||||
};
|
||||
tooltip-format = "{volume}%";
|
||||
on-click = "pavucontrol";
|
||||
on-click-right = "wpctl set-mute @DEFAULT_AUDIO_SINK@ toggle";
|
||||
scroll-step = 5;
|
||||
};
|
||||
|
||||
battery = {
|
||||
format = "{icon} {capacity}%";
|
||||
format-charging = " {capacity}%";
|
||||
format-icons = [ "" "" "" "" "" "" "" "" "" "" ];
|
||||
states = {
|
||||
warning = 20;
|
||||
critical = 10;
|
||||
};
|
||||
};
|
||||
|
||||
clock = {
|
||||
format = "{:%H:%M}";
|
||||
tooltip-format = "{:%A, %B %d, %Y}";
|
||||
};
|
||||
};
|
||||
};
|
||||
|
||||
style = ''
|
||||
@define-color foreground #bac2de;
|
||||
@define-color background #11111b;
|
||||
@define-color active #b4befe;
|
||||
@define-color warning #f9e2af;
|
||||
@define-color critical #f38ba8;
|
||||
@define-color muted #6c7086;
|
||||
|
||||
* {
|
||||
background-color: transparent;
|
||||
color: @foreground;
|
||||
border: none;
|
||||
border-radius: 0;
|
||||
min-height: 0;
|
||||
font-family: FiraCode Nerd Font;
|
||||
font-size: 15px;
|
||||
}
|
||||
|
||||
window#waybar {
|
||||
background-color: @background;
|
||||
}
|
||||
|
||||
.modules-left {
|
||||
margin-left: 10px;
|
||||
}
|
||||
|
||||
.modules-right {
|
||||
margin-right: 10px;
|
||||
}
|
||||
|
||||
#workspaces button {
|
||||
padding: 0 6px;
|
||||
margin: 0 2px;
|
||||
color: @muted;
|
||||
}
|
||||
|
||||
#workspaces button.active {
|
||||
color: @active;
|
||||
}
|
||||
|
||||
#workspaces button.urgent {
|
||||
color: @critical;
|
||||
}
|
||||
|
||||
#window {
|
||||
color: @muted;
|
||||
font-size: 14px;
|
||||
}
|
||||
|
||||
#tray,
|
||||
#bluetooth,
|
||||
#network,
|
||||
#pulseaudio,
|
||||
#battery,
|
||||
#clock {
|
||||
padding: 0 10px;
|
||||
color: @foreground;
|
||||
}
|
||||
|
||||
#battery.warning {
|
||||
color: @warning;
|
||||
}
|
||||
|
||||
#battery.critical {
|
||||
color: @critical;
|
||||
}
|
||||
|
||||
#pulseaudio.muted {
|
||||
color: @muted;
|
||||
}
|
||||
|
||||
tooltip {
|
||||
background-color: @background;
|
||||
border: 1px solid @muted;
|
||||
border-radius: 4px;
|
||||
}
|
||||
'';
|
||||
};
|
||||
}
|
||||
@@ -1,88 +0,0 @@
|
||||
{
|
||||
lib,
|
||||
config,
|
||||
pkgs,
|
||||
...
|
||||
}:
|
||||
{
|
||||
xsession.windowManager.i3 = {
|
||||
enable = true;
|
||||
package = pkgs.i3;
|
||||
config = {
|
||||
modifier = "Mod4";
|
||||
terminal = "${pkgs.kitty}/bin/kitty";
|
||||
gaps = {
|
||||
inner = 10;
|
||||
outer = 0;
|
||||
};
|
||||
keybindings =
|
||||
let
|
||||
modifier = config.xsession.windowManager.i3.config.modifier;
|
||||
in
|
||||
lib.mkOptionDefault {
|
||||
"${modifier}+h" = "focus left";
|
||||
"${modifier}+j" = "focus down";
|
||||
"${modifier}+k" = "focus up";
|
||||
"${modifier}+l" = "focus right";
|
||||
|
||||
"XF86AudioRaiseVolume" = "exec wpctl set-volume @DEFAULT_AUDIO_SINK@ 5%+";
|
||||
"XF86AudioLowerVolume" = "exec wpctl set-volume @DEFAULT_AUDIO_SINK@ 5%-";
|
||||
"XF86AudioMute" = "exec pactl set-sink-mute @DEFAULT_SINK@ toggle";
|
||||
"XF86AudioMicMute" = "exec volumectl -m toggle-mute";
|
||||
"XF86AudioNext" = "exec playerctl next";
|
||||
"XF86AudioPrev" = "exec playerctl previous";
|
||||
"XF86AudioPlay" = "exec playerctl play-pause";
|
||||
|
||||
"XF86MonBrightnessUp" = "exec brightnessctl set 5%+";
|
||||
"XF86MonBrightnessDown" = "exec brightnessctl set 5%-";
|
||||
|
||||
"Print" = "exec flameshot gui";
|
||||
|
||||
"${modifier}+space" = "exec launcher_t2";
|
||||
};
|
||||
bars = [
|
||||
{
|
||||
position = "top";
|
||||
statusCommand = "i3status-rs ~/.config/i3status-rust/config-default.toml";
|
||||
}
|
||||
];
|
||||
};
|
||||
extraConfig = ''
|
||||
smart_gaps on
|
||||
hide_edge_borders smart_no_gaps
|
||||
|
||||
for_window [class="kitty"] border none
|
||||
for_window [class="kitty"] gaps inner current set 0
|
||||
for_window [class="kitty"] gaps outer current set 0
|
||||
|
||||
for_window [class="^zen"] border none
|
||||
for_window [class="^zen"] gaps inner current set 0
|
||||
for_window [class="^zen"] gaps outer current set 0
|
||||
'';
|
||||
};
|
||||
|
||||
programs = {
|
||||
i3status-rust = {
|
||||
enable = true;
|
||||
};
|
||||
};
|
||||
|
||||
# services.picom = {
|
||||
# enable = true;
|
||||
# backend = "glx";
|
||||
# vSync = true;
|
||||
# };
|
||||
|
||||
services.flameshot = {
|
||||
enable = true;
|
||||
|
||||
settings.General = {
|
||||
drawFontSize = 10;
|
||||
};
|
||||
};
|
||||
|
||||
xdg.portal = {
|
||||
enable = true;
|
||||
xdgOpenUsePortal = true;
|
||||
};
|
||||
}
|
||||
@@ -14,7 +14,6 @@
|
||||
../common/programs/desktop
|
||||
../common/programs/zen-browser.nix
|
||||
../common/programs/hyprland
|
||||
../common/programs/i3.nix
|
||||
../common/programs/kitty
|
||||
../common/programs/syncthing.nix
|
||||
../common/programs/unity.nix
|
||||
@@ -23,6 +22,7 @@
|
||||
../common/programs/3d.nix
|
||||
../common/programs/nerd-dictation.nix
|
||||
../common/features/xdg.nix
|
||||
../common/features/downloads-cleanup.nix
|
||||
../common/features/bluetooth.nix
|
||||
./monitors.nix
|
||||
];
|
||||
@@ -31,11 +31,24 @@
|
||||
LIBVA_DRIVER_NAME = "nvidia";
|
||||
GDM_BACKEND = "nvidia-drm";
|
||||
__GLX_VENDOR_LIBRARY_NAME = "nvidia";
|
||||
# Larger cursor size for desktop (4K monitors)
|
||||
XCURSOR_SIZE = lib.mkForce 42;
|
||||
HYPRCURSOR_SIZE = lib.mkForce 42;
|
||||
};
|
||||
|
||||
wayland.windowManager.hyprland.settings = {
|
||||
env = [
|
||||
"WEBKIT_DISABLE_DMABUF_RENDERER, 1"
|
||||
"XCURSOR_SIZE, 42"
|
||||
"HYPRCURSOR_SIZE, 42"
|
||||
];
|
||||
|
||||
cursor = {
|
||||
no_hardware_cursors = true; # For NVIDIA
|
||||
};
|
||||
|
||||
exec-once = [
|
||||
"hyprctl setcursor Nordzy-cursors 42"
|
||||
];
|
||||
|
||||
windowrule = [
|
||||
|
||||
@@ -22,53 +22,22 @@ in
|
||||
{
|
||||
wayland.windowManager.hyprland.settings = {
|
||||
monitor = [
|
||||
# monitor, res, position, scale, transform, rotation
|
||||
# List HDMI-A-1 first so it becomes the primary monitor (ID 0)
|
||||
"HDMI-A-1, 3840x2160, 0x2160, 1"
|
||||
"DP-1, 3840x2160, 0x0, 1"
|
||||
# 300 instead of 0 is so that 'move left' actually focuses the bottom one instead of the top one
|
||||
# for some reason, that's the minimum value for which this works
|
||||
# Then the other monitors
|
||||
"DP-2, 3840x2160, 3840x180, 1, transform, 1"
|
||||
"DP-1, 3840x2160, 0x0, 1"
|
||||
];
|
||||
workspace = [
|
||||
"1, monitor=DP-2"
|
||||
"2, monitor=DP-1"
|
||||
"3, monitor=DP-2"
|
||||
"4, monitor=HDMI-A-1"
|
||||
"5, monitor=HDMI-A-1"
|
||||
"1, monitor:HDMI-A-1, default:true, persistent:true" # bottom-left (primary)
|
||||
"2, monitor:DP-2, persistent:true" # right (vertical)
|
||||
"3, monitor:DP-1, persistent:true" # top-left
|
||||
"4, monitor:HDMI-A-1" # bottom-left
|
||||
"5, monitor:DP-2" # right (vertical)
|
||||
"6, monitor:DP-1" # top-left
|
||||
];
|
||||
};
|
||||
|
||||
xsession.windowManager.i3 = {
|
||||
extraConfig = lib.mkAfter ''
|
||||
workspace 1 output HDMI-0
|
||||
workspace 2 output DP-2
|
||||
workspace 3 output DP-0
|
||||
|
||||
for_window [title="^ethui-test - main$"] workspace 2
|
||||
for_window [title="^ethui-test - main$"] border normal 2, floating enable, resize set 1280 1200, move position 4720 500
|
||||
for_window [title="^ethui-test - dialog.*"] border normal 2, floating enable, resize set 800 800, move position mouse
|
||||
no_focus [title="^ethui-test - main$"]
|
||||
no_focus [title="^ethui-test - dialog.*"]
|
||||
|
||||
for_window [title="^ethui-dev - main$"] workspace 2
|
||||
for_window [title="^ethui-dev - main$"] border normal 2, floating enable, resize set 1280 1200, move position 4720 500
|
||||
for_window [title="^ethui-dev - dialog.*"] border normal 2, floating enable, resize set 800 800, move position mouse
|
||||
no_focus [title="^ethui-dev - main$"]
|
||||
no_focus [title="^ethui-dev - dialog.*"]
|
||||
|
||||
for_window [title="^ethui - main$"] workspace 2
|
||||
for_window [title="^ethui - main$"] border normal 2, floating enable, resize set 1280 1200, move position 4720 500
|
||||
for_window [title="^ethui - dialog.*"] border normal 2, floating enable, resize set 800 800, move position mouse
|
||||
no_focus [title="^ethui - main$"]
|
||||
no_focus [title="^ethui - dialog.*"]
|
||||
|
||||
# for_window [class="^Ethui$"] border normal 2, floating enable, resize set 1280 1200, move position mouse
|
||||
|
||||
for_window [title="^egui-test$"] floating enable, border none, resize set 800 800, move position 2720 500
|
||||
no_focus [title="^egui-test$"]
|
||||
'';
|
||||
};
|
||||
|
||||
services.hyprpaper.settings.preload = [
|
||||
(builtins.toString wallpaper1)
|
||||
(builtins.toString wallpaper2)
|
||||
|
||||
@@ -2,7 +2,6 @@
|
||||
{
|
||||
imports = [
|
||||
./wayland.nix
|
||||
./x11.nix
|
||||
./gdm.nix
|
||||
./sddm.nix
|
||||
];
|
||||
}
|
||||
|
||||
@@ -0,0 +1,31 @@
|
||||
{ inputs, pkgs, ... }:
|
||||
let
|
||||
sddm-astronaut-theme = pkgs.callPackage ../../../../pkgs/sddm-astronaut-theme/package.nix { };
|
||||
in
|
||||
{
|
||||
services.xserver = {
|
||||
enable = true;
|
||||
displayManager = {
|
||||
startx.enable = true;
|
||||
};
|
||||
autoRepeatDelay = 250;
|
||||
autoRepeatInterval = 30;
|
||||
};
|
||||
|
||||
services.displayManager.sddm = {
|
||||
enable = true;
|
||||
wayland.enable = true;
|
||||
theme = "sddm-astronaut-theme";
|
||||
package = pkgs.kdePackages.sddm;
|
||||
extraPackages = with pkgs.kdePackages; [
|
||||
qtmultimedia
|
||||
qtsvg
|
||||
qtvirtualkeyboard
|
||||
qt5compat
|
||||
];
|
||||
};
|
||||
|
||||
environment.systemPackages = with pkgs; [
|
||||
sddm-astronaut-theme
|
||||
];
|
||||
}
|
||||
@@ -2,24 +2,26 @@
|
||||
{
|
||||
environment.systemPackages = with pkgs; [
|
||||
wl-clipboard
|
||||
hyprland
|
||||
];
|
||||
|
||||
services.displayManager.sessionPackages = with pkgs; [
|
||||
hyprland
|
||||
];
|
||||
programs.hyprland = {
|
||||
enable = true;
|
||||
package = inputs.hyprland.packages.${pkgs.stdenv.hostPlatform.system}.hyprland;
|
||||
portalPackage = inputs.hyprland.packages.${pkgs.stdenv.hostPlatform.system}.xdg-desktop-portal-hyprland;
|
||||
};
|
||||
|
||||
# GTK/GNOME services still useful on Wayland
|
||||
programs.dconf.enable = true;
|
||||
|
||||
services = {
|
||||
# thumbnail support for images
|
||||
services.tumbler.enable = true;
|
||||
tumbler.enable = true;
|
||||
|
||||
environment.etc."xdg/wayland-sessions/hyprland.desktop".text = ''
|
||||
[Desktop Entry]
|
||||
Name=Hyprland
|
||||
Comment=Hyprland Wayland Compositor
|
||||
Exec=Hyprland
|
||||
Type=Application
|
||||
DesktopNames=Hyprland
|
||||
'';
|
||||
gnome = {
|
||||
glib-networking.enable = true;
|
||||
gnome-keyring.enable = true;
|
||||
};
|
||||
};
|
||||
|
||||
nix.settings = {
|
||||
substituters = [ "https://hyprland.cachix.org" ];
|
||||
|
||||
@@ -1,54 +0,0 @@
|
||||
{ inputs, pkgs, ... }:
|
||||
{
|
||||
|
||||
services = {
|
||||
desktopManager = {
|
||||
gnome.enable = true;
|
||||
};
|
||||
xserver = {
|
||||
windowManager.i3.enable = true;
|
||||
xkb.options = "ctrl:nocaps";
|
||||
};
|
||||
sysprof.enable = true;
|
||||
gnome = {
|
||||
glib-networking.enable = true;
|
||||
gnome-keyring.enable = true;
|
||||
gnome-online-accounts.enable = true;
|
||||
};
|
||||
};
|
||||
|
||||
programs = {
|
||||
i3lock.enable = true;
|
||||
dconf.enable = true;
|
||||
};
|
||||
|
||||
environment.systemPackages = with pkgs; [
|
||||
xclip
|
||||
];
|
||||
|
||||
environment.gnome.excludePackages =
|
||||
(with pkgs; [
|
||||
gnome-photos
|
||||
gnome-tour
|
||||
gnome-console
|
||||
gnome-text-editor
|
||||
gedit
|
||||
])
|
||||
++ (with pkgs; [
|
||||
cheese # webcam tool
|
||||
gnome-music
|
||||
gnome-terminal
|
||||
epiphany # web browser
|
||||
geary # email reader
|
||||
evince # document viewer
|
||||
totem # video player
|
||||
tali # poker game
|
||||
iagno # go game
|
||||
hitori # sudoku game
|
||||
atomix # puzzle game
|
||||
gnome-contacts
|
||||
gnome-initial-setup
|
||||
gnome-shell-extensions
|
||||
]);
|
||||
|
||||
}
|
||||
@@ -39,5 +39,4 @@
|
||||
};
|
||||
|
||||
services.dbus.packages = with pkgs; [ gcr ];
|
||||
services.geoclue2.enable = true;
|
||||
}
|
||||
|
||||
@@ -44,7 +44,11 @@
|
||||
TOP='DP-0'
|
||||
RIGHT='DP-2'
|
||||
|
||||
${pkgs.xorg.xrandr}/bin/xrandr --output $BOTTOM --primary --mode 3840x2160 --pos 0x0 --rotate normal --output $TOP --mode 3840x2160 --above $BOTTOM --rotate normal --output $RIGHT --mode 3840x2160 --pos 3840x-1680 --rotate left
|
||||
# Match Hyprland layout: TOP at 0x0, BOTTOM at 0x2160, RIGHT at 3840x180
|
||||
${pkgs.xorg.xrandr}/bin/xrandr \
|
||||
--output $TOP --mode 3840x2160 --pos 0x0 --rotate normal \
|
||||
--output $BOTTOM --primary --mode 3840x2160 --pos 0x2160 --rotate normal \
|
||||
--output $RIGHT --mode 3840x2160 --pos 3840x180 --rotate left
|
||||
${pkgs.xorg.xrandr}/bin/xrandr --dpi 160
|
||||
'';
|
||||
|
||||
|
||||
@@ -0,0 +1,35 @@
|
||||
{ lib, stdenvNoCC, fetchFromGitHub }:
|
||||
|
||||
stdenvNoCC.mkDerivation rec {
|
||||
pname = "nordzy-cursors";
|
||||
version = "0.6.0";
|
||||
|
||||
src = fetchFromGitHub {
|
||||
owner = "guillaumeboehm";
|
||||
repo = "Nordzy-cursors";
|
||||
rev = "v${version}";
|
||||
sha256 = "sha256-q9PEEyxejRQ8UCwbqsfOCL7M70pLCOLyCx8gEFmZkWA=";
|
||||
};
|
||||
|
||||
installPhase = ''
|
||||
runHook preInstall
|
||||
|
||||
mkdir -p $out/share/icons
|
||||
|
||||
# Install all Nordzy cursor themes
|
||||
for theme in Nordzy-cursors*; do
|
||||
if [ -d "$theme" ]; then
|
||||
cp -r "$theme" $out/share/icons/
|
||||
fi
|
||||
done
|
||||
|
||||
runHook postInstall
|
||||
'';
|
||||
|
||||
meta = with lib; {
|
||||
description = "Cursor theme using the Nord color palette";
|
||||
homepage = "https://github.com/guillaumeboehm/Nordzy-cursors";
|
||||
license = licenses.gpl3;
|
||||
platforms = platforms.linux;
|
||||
};
|
||||
}
|
||||
@@ -0,0 +1,29 @@
|
||||
{ pkgs, ... }:
|
||||
|
||||
pkgs.stdenv.mkDerivation {
|
||||
pname = "sddm-astronaut-theme";
|
||||
version = "1.0-pixel-sakura-v2";
|
||||
|
||||
src = pkgs.fetchFromGitHub {
|
||||
owner = "Keyitdev";
|
||||
repo = "sddm-astronaut-theme";
|
||||
rev = "master";
|
||||
sha256 = "sha256-+94WVxOWfVhIEiVNWwnNBRmN+d1kbZCIF10Gjorea9M=";
|
||||
};
|
||||
|
||||
installPhase = ''
|
||||
mkdir -p $out/share/sddm/themes/sddm-astronaut-theme
|
||||
cp -r * $out/share/sddm/themes/sddm-astronaut-theme/
|
||||
|
||||
# Override the theme variant to pixel_sakura
|
||||
sed -i 's|ConfigFile=Themes/astronaut.conf|ConfigFile=Themes/pixel_sakura.conf|' \
|
||||
$out/share/sddm/themes/sddm-astronaut-theme/metadata.desktop
|
||||
'';
|
||||
|
||||
meta = with pkgs.lib; {
|
||||
description = "Modern astronaut-themed SDDM login theme";
|
||||
homepage = "https://github.com/Keyitdev/sddm-astronaut-theme";
|
||||
license = licenses.gpl3;
|
||||
platforms = platforms.linux;
|
||||
};
|
||||
}
|
||||
Reference in New Issue
Block a user