Compare commits
33 Commits
Specialisa
...
main
| Author | SHA1 | Date | |
|---|---|---|---|
| ce797e1a65 | |||
| 93bc7644f5 | |||
| c986ac4bf7 | |||
| b25430abc9 | |||
| c6862c78db | |||
| 25ecab4a70 | |||
| 8de85492a6 | |||
| 059b424d87 | |||
| 8dba82f523 | |||
| 70fc8a0c9a | |||
| ea977f8253 | |||
| 9abff2dfd7 | |||
| 637def6ca3 | |||
| 6e682b315b | |||
| f9c152688a | |||
| e8a125b43f | |||
| 66ef4b89af | |||
| 69aaea8526 | |||
| 48378c963d | |||
| 0305851bf4 | |||
| 1b97c15215 | |||
| 2b29515874 | |||
| 7a0ea8c4f1 | |||
| feb65868cc | |||
| aed49644e9 | |||
| 2e7dec981e | |||
| af99945a42 | |||
| 7b51a603c4 | |||
| e0daa8743d | |||
| 6bb20b177b | |||
| 4daef71117 | |||
| 54bd19fbc0 | |||
| b0b59b2413 |
1
.gitignore
vendored
Normal file
1
.gitignore
vendored
Normal file
@ -0,0 +1 @@
|
|||||||
|
.directory
|
||||||
282
flake.lock
generated
282
flake.lock
generated
@ -1,5 +1,28 @@
|
|||||||
{
|
{
|
||||||
"nodes": {
|
"nodes": {
|
||||||
|
"alejandra": {
|
||||||
|
"inputs": {
|
||||||
|
"fenix": "fenix",
|
||||||
|
"flakeCompat": "flakeCompat",
|
||||||
|
"nixpkgs": [
|
||||||
|
"nixpkgs"
|
||||||
|
]
|
||||||
|
},
|
||||||
|
"locked": {
|
||||||
|
"lastModified": 1744324181,
|
||||||
|
"narHash": "sha256-Oi1n2ncF4/AWeY6X55o2FddIRICokbciqFYK64XorYk=",
|
||||||
|
"owner": "kamadorueda",
|
||||||
|
"repo": "alejandra",
|
||||||
|
"rev": "3e2a85506627062313e131bf8a85315f3387c8e0",
|
||||||
|
"type": "github"
|
||||||
|
},
|
||||||
|
"original": {
|
||||||
|
"owner": "kamadorueda",
|
||||||
|
"ref": "4.0.0",
|
||||||
|
"repo": "alejandra",
|
||||||
|
"type": "github"
|
||||||
|
}
|
||||||
|
},
|
||||||
"base16": {
|
"base16": {
|
||||||
"inputs": {
|
"inputs": {
|
||||||
"fromYaml": "fromYaml"
|
"fromYaml": "fromYaml"
|
||||||
@ -21,28 +44,28 @@
|
|||||||
"base16-fish": {
|
"base16-fish": {
|
||||||
"flake": false,
|
"flake": false,
|
||||||
"locked": {
|
"locked": {
|
||||||
"lastModified": 1754405784,
|
"lastModified": 1765809053,
|
||||||
"narHash": "sha256-l9xHIy+85FN+bEo6yquq2IjD1rSg9fjfjpyGP1W8YXo=",
|
"narHash": "sha256-XCUQLoLfBJ8saWms2HCIj4NEN+xNsWBlU1NrEPcQG4s=",
|
||||||
"owner": "tomyun",
|
"owner": "tomyun",
|
||||||
"repo": "base16-fish",
|
"repo": "base16-fish",
|
||||||
"rev": "23ae20a0093dca0d7b39d76ba2401af0ccf9c561",
|
"rev": "86cbea4dca62e08fb7fd83a70e96472f92574782",
|
||||||
"type": "github"
|
"type": "github"
|
||||||
},
|
},
|
||||||
"original": {
|
"original": {
|
||||||
"owner": "tomyun",
|
"owner": "tomyun",
|
||||||
"repo": "base16-fish",
|
"repo": "base16-fish",
|
||||||
"rev": "23ae20a0093dca0d7b39d76ba2401af0ccf9c561",
|
"rev": "86cbea4dca62e08fb7fd83a70e96472f92574782",
|
||||||
"type": "github"
|
"type": "github"
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
"base16-helix": {
|
"base16-helix": {
|
||||||
"flake": false,
|
"flake": false,
|
||||||
"locked": {
|
"locked": {
|
||||||
"lastModified": 1752979451,
|
"lastModified": 1760703920,
|
||||||
"narHash": "sha256-0CQM+FkYy0fOO/sMGhOoNL80ftsAzYCg9VhIrodqusM=",
|
"narHash": "sha256-m82fGUYns4uHd+ZTdoLX2vlHikzwzdu2s2rYM2bNwzw=",
|
||||||
"owner": "tinted-theming",
|
"owner": "tinted-theming",
|
||||||
"repo": "base16-helix",
|
"repo": "base16-helix",
|
||||||
"rev": "27cf1e66e50abc622fb76a3019012dc07c678fac",
|
"rev": "d646af9b7d14bff08824538164af99d0c521b185",
|
||||||
"type": "github"
|
"type": "github"
|
||||||
},
|
},
|
||||||
"original": {
|
"original": {
|
||||||
@ -68,14 +91,36 @@
|
|||||||
"type": "github"
|
"type": "github"
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
|
"fenix": {
|
||||||
|
"inputs": {
|
||||||
|
"nixpkgs": [
|
||||||
|
"alejandra",
|
||||||
|
"nixpkgs"
|
||||||
|
],
|
||||||
|
"rust-analyzer-src": "rust-analyzer-src"
|
||||||
|
},
|
||||||
|
"locked": {
|
||||||
|
"lastModified": 1730615655,
|
||||||
|
"narHash": "sha256-2HBR3zLn57LXKNRtxBb+O+uDqHM4n0pz51rPayMl4cg=",
|
||||||
|
"owner": "nix-community",
|
||||||
|
"repo": "fenix",
|
||||||
|
"rev": "efeb50e2535b17ffd4a135e6e3e5fd60a525180c",
|
||||||
|
"type": "github"
|
||||||
|
},
|
||||||
|
"original": {
|
||||||
|
"owner": "nix-community",
|
||||||
|
"repo": "fenix",
|
||||||
|
"type": "github"
|
||||||
|
}
|
||||||
|
},
|
||||||
"firefox-gnome-theme": {
|
"firefox-gnome-theme": {
|
||||||
"flake": false,
|
"flake": false,
|
||||||
"locked": {
|
"locked": {
|
||||||
"lastModified": 1758112371,
|
"lastModified": 1764873433,
|
||||||
"narHash": "sha256-lizRM2pj6PHrR25yimjyFn04OS4wcdbc38DCdBVa2rk=",
|
"narHash": "sha256-1XPewtGMi+9wN9Ispoluxunw/RwozuTRVuuQOmxzt+A=",
|
||||||
"owner": "rafaelmardojai",
|
"owner": "rafaelmardojai",
|
||||||
"repo": "firefox-gnome-theme",
|
"repo": "firefox-gnome-theme",
|
||||||
"rev": "0909cfe4a2af8d358ad13b20246a350e14c2473d",
|
"rev": "f7ffd917ac0d253dbd6a3bf3da06888f57c69f92",
|
||||||
"type": "github"
|
"type": "github"
|
||||||
},
|
},
|
||||||
"original": {
|
"original": {
|
||||||
@ -87,16 +132,16 @@
|
|||||||
"flake-parts": {
|
"flake-parts": {
|
||||||
"inputs": {
|
"inputs": {
|
||||||
"nixpkgs-lib": [
|
"nixpkgs-lib": [
|
||||||
"stylix",
|
"nixvim",
|
||||||
"nixpkgs"
|
"nixpkgs"
|
||||||
]
|
]
|
||||||
},
|
},
|
||||||
"locked": {
|
"locked": {
|
||||||
"lastModified": 1756770412,
|
"lastModified": 1769996383,
|
||||||
"narHash": "sha256-+uWLQZccFHwqpGqr2Yt5VsW/PbeJVTn9Dk6SHWhNRPw=",
|
"narHash": "sha256-AnYjnFWgS49RlqX7LrC4uA+sCCDBj0Ry/WOJ5XWAsa0=",
|
||||||
"owner": "hercules-ci",
|
"owner": "hercules-ci",
|
||||||
"repo": "flake-parts",
|
"repo": "flake-parts",
|
||||||
"rev": "4524271976b625a4a605beefd893f270620fd751",
|
"rev": "57928607ea566b5db3ad13af0e57e921e6b12381",
|
||||||
"type": "github"
|
"type": "github"
|
||||||
},
|
},
|
||||||
"original": {
|
"original": {
|
||||||
@ -105,6 +150,43 @@
|
|||||||
"type": "github"
|
"type": "github"
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
|
"flake-parts_2": {
|
||||||
|
"inputs": {
|
||||||
|
"nixpkgs-lib": [
|
||||||
|
"stylix",
|
||||||
|
"nixpkgs"
|
||||||
|
]
|
||||||
|
},
|
||||||
|
"locked": {
|
||||||
|
"lastModified": 1767609335,
|
||||||
|
"narHash": "sha256-feveD98mQpptwrAEggBQKJTYbvwwglSbOv53uCfH9PY=",
|
||||||
|
"owner": "hercules-ci",
|
||||||
|
"repo": "flake-parts",
|
||||||
|
"rev": "250481aafeb741edfe23d29195671c19b36b6dca",
|
||||||
|
"type": "github"
|
||||||
|
},
|
||||||
|
"original": {
|
||||||
|
"owner": "hercules-ci",
|
||||||
|
"repo": "flake-parts",
|
||||||
|
"type": "github"
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"flakeCompat": {
|
||||||
|
"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"
|
||||||
|
}
|
||||||
|
},
|
||||||
"fromYaml": {
|
"fromYaml": {
|
||||||
"flake": false,
|
"flake": false,
|
||||||
"locked": {
|
"locked": {
|
||||||
@ -124,18 +206,20 @@
|
|||||||
"gnome-shell": {
|
"gnome-shell": {
|
||||||
"flake": false,
|
"flake": false,
|
||||||
"locked": {
|
"locked": {
|
||||||
"lastModified": 1744584021,
|
"host": "gitlab.gnome.org",
|
||||||
"narHash": "sha256-0RJ4mJzf+klKF4Fuoc8VN8dpQQtZnKksFmR2jhWE1Ew=",
|
"lastModified": 1767737596,
|
||||||
|
"narHash": "sha256-eFujfIUQDgWnSJBablOuG+32hCai192yRdrNHTv0a+s=",
|
||||||
"owner": "GNOME",
|
"owner": "GNOME",
|
||||||
"repo": "gnome-shell",
|
"repo": "gnome-shell",
|
||||||
"rev": "52c517c8f6c199a1d6f5118fae500ef69ea845ae",
|
"rev": "ef02db02bf0ff342734d525b5767814770d85b49",
|
||||||
"type": "github"
|
"type": "gitlab"
|
||||||
},
|
},
|
||||||
"original": {
|
"original": {
|
||||||
|
"host": "gitlab.gnome.org",
|
||||||
"owner": "GNOME",
|
"owner": "GNOME",
|
||||||
"ref": "48.1",
|
"ref": "gnome-49",
|
||||||
"repo": "gnome-shell",
|
"repo": "gnome-shell",
|
||||||
"type": "github"
|
"type": "gitlab"
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
"grub2-themes": {
|
"grub2-themes": {
|
||||||
@ -163,16 +247,16 @@
|
|||||||
]
|
]
|
||||||
},
|
},
|
||||||
"locked": {
|
"locked": {
|
||||||
"lastModified": 1758463745,
|
"lastModified": 1773286336,
|
||||||
"narHash": "sha256-uhzsV0Q0I9j2y/rfweWeGif5AWe0MGrgZ/3TjpDYdGA=",
|
"narHash": "sha256-+yFtmhOHterllxWmV6YbdevTXpJdGS0mS0UmJ0k9fh0=",
|
||||||
"owner": "nix-community",
|
"owner": "nix-community",
|
||||||
"repo": "home-manager",
|
"repo": "home-manager",
|
||||||
"rev": "3b955f5f0a942f9f60cdc9cacb7844335d0f21c3",
|
"rev": "7d06e0cefe6e4a1e85b2b3274dcb0b3da242a557",
|
||||||
"type": "github"
|
"type": "github"
|
||||||
},
|
},
|
||||||
"original": {
|
"original": {
|
||||||
"owner": "nix-community",
|
"owner": "nix-community",
|
||||||
"ref": "release-25.05",
|
"ref": "master",
|
||||||
"repo": "home-manager",
|
"repo": "home-manager",
|
||||||
"type": "github"
|
"type": "github"
|
||||||
}
|
}
|
||||||
@ -185,11 +269,11 @@
|
|||||||
]
|
]
|
||||||
},
|
},
|
||||||
"locked": {
|
"locked": {
|
||||||
"lastModified": 1752603129,
|
"lastModified": 1772330611,
|
||||||
"narHash": "sha256-S+wmHhwNQ5Ru689L2Gu8n1OD6s9eU9n9mD827JNR+kw=",
|
"narHash": "sha256-UZjPc/d5XRxvjDbk4veAO4XFdvx6BUum2l40V688Xq8=",
|
||||||
"owner": "nix-community",
|
"owner": "nix-community",
|
||||||
"repo": "home-manager",
|
"repo": "home-manager",
|
||||||
"rev": "e8c19a3cec2814c754f031ab3ae7316b64da085b",
|
"rev": "58fd7ff0eec2cda43e705c4c0585729ec471d400",
|
||||||
"type": "github"
|
"type": "github"
|
||||||
},
|
},
|
||||||
"original": {
|
"original": {
|
||||||
@ -210,11 +294,11 @@
|
|||||||
"xwayland-satellite-unstable": "xwayland-satellite-unstable"
|
"xwayland-satellite-unstable": "xwayland-satellite-unstable"
|
||||||
},
|
},
|
||||||
"locked": {
|
"locked": {
|
||||||
"lastModified": 1763967518,
|
"lastModified": 1773303738,
|
||||||
"narHash": "sha256-Gt0QlWp3r5JF+w2iZMbbot58UIR66fPH8LuHRxmHjsA=",
|
"narHash": "sha256-qrl74wNFMTUzA8z6nSEWNjQcJI/MQEWdWu2Wn+u4Ctg=",
|
||||||
"owner": "sodiboo",
|
"owner": "sodiboo",
|
||||||
"repo": "niri-flake",
|
"repo": "niri-flake",
|
||||||
"rev": "69c6216ddacf8a708e4c6e51273772226fab3bc2",
|
"rev": "329df7671b7859abd1cbca5d5af296ed6dc22b46",
|
||||||
"type": "github"
|
"type": "github"
|
||||||
},
|
},
|
||||||
"original": {
|
"original": {
|
||||||
@ -243,11 +327,11 @@
|
|||||||
"niri-unstable": {
|
"niri-unstable": {
|
||||||
"flake": false,
|
"flake": false,
|
||||||
"locked": {
|
"locked": {
|
||||||
"lastModified": 1763964256,
|
"lastModified": 1773130184,
|
||||||
"narHash": "sha256-TNtOfYXppR5ln5Go8ncQFMs5+xa3LqJWkaQq22ymAcI=",
|
"narHash": "sha256-3bwx4WqCB06yfQIGB+OgIckOkEDyKxiTD5pOo4Xz2rI=",
|
||||||
"owner": "YaLTeR",
|
"owner": "YaLTeR",
|
||||||
"repo": "niri",
|
"repo": "niri",
|
||||||
"rev": "79e41d7d88de44356b48400515076bf5593544e8",
|
"rev": "b07bde3ee82dd73115e6b949e4f3f63695da35ea",
|
||||||
"type": "github"
|
"type": "github"
|
||||||
},
|
},
|
||||||
"original": {
|
"original": {
|
||||||
@ -258,11 +342,11 @@
|
|||||||
},
|
},
|
||||||
"nix-flatpak": {
|
"nix-flatpak": {
|
||||||
"locked": {
|
"locked": {
|
||||||
"lastModified": 1754777568,
|
"lastModified": 1768656715,
|
||||||
"narHash": "sha256-0bBqT+3XncgF8F03RFAamw9vdf0VmaDoIJLTGkjfQZs=",
|
"narHash": "sha256-Sbh037scxKFm7xL0ahgSCw+X2/5ZKeOwI2clqrYr9j4=",
|
||||||
"owner": "gmodena",
|
"owner": "gmodena",
|
||||||
"repo": "nix-flatpak",
|
"repo": "nix-flatpak",
|
||||||
"rev": "62f636b87ef6050760a8cb325cadb90674d1e23e",
|
"rev": "123fe29340a5b8671367055b75a6e7c320d6f89a",
|
||||||
"type": "github"
|
"type": "github"
|
||||||
},
|
},
|
||||||
"original": {
|
"original": {
|
||||||
@ -273,11 +357,11 @@
|
|||||||
},
|
},
|
||||||
"nixos-hardware": {
|
"nixos-hardware": {
|
||||||
"locked": {
|
"locked": {
|
||||||
"lastModified": 1761933221,
|
"lastModified": 1772972630,
|
||||||
"narHash": "sha256-rNHeoG3ZrA94jczyLSjxCtu67YYPYIlXXr0uhG3wNxM=",
|
"narHash": "sha256-mUJxsNOrBMNOUJzN0pfdVJ1r2pxeqm9gI/yIKXzVVbk=",
|
||||||
"owner": "NixOS",
|
"owner": "NixOS",
|
||||||
"repo": "nixos-hardware",
|
"repo": "nixos-hardware",
|
||||||
"rev": "7467f155fcba189eb088a7601f44fbef7688669b",
|
"rev": "3966ce987e1a9a164205ac8259a5fe8a64528f72",
|
||||||
"type": "github"
|
"type": "github"
|
||||||
},
|
},
|
||||||
"original": {
|
"original": {
|
||||||
@ -288,11 +372,11 @@
|
|||||||
},
|
},
|
||||||
"nixpkgs": {
|
"nixpkgs": {
|
||||||
"locked": {
|
"locked": {
|
||||||
"lastModified": 1760692209,
|
"lastModified": 1773304180,
|
||||||
"narHash": "sha256-ZUD6NfQFwkWTHi2vao4Zn35guHMHuByCRDE7Jz+nWj4=",
|
"narHash": "sha256-e/ctVWU2EYXBOsJHU76lN6vqugD8u1Xl20MJ+A+bPuE=",
|
||||||
"owner": "NixOS",
|
"owner": "NixOS",
|
||||||
"repo": "nixpkgs",
|
"repo": "nixpkgs",
|
||||||
"rev": "88ee2ac331edc3ce9f9df92aaf824592473ed868",
|
"rev": "d5eb8dca28f5be580c26f8fcb2ec4ec4215e9102",
|
||||||
"type": "github"
|
"type": "github"
|
||||||
},
|
},
|
||||||
"original": {
|
"original": {
|
||||||
@ -304,57 +388,55 @@
|
|||||||
},
|
},
|
||||||
"nixpkgs-stable": {
|
"nixpkgs-stable": {
|
||||||
"locked": {
|
"locked": {
|
||||||
"lastModified": 1763622513,
|
"lastModified": 1773068389,
|
||||||
"narHash": "sha256-1jQnuyu82FpiSxowrF/iFK6Toh9BYprfDqfs4BB+19M=",
|
"narHash": "sha256-vMrm7Pk2hjBRPnCSjhq1pH0bg350Z+pXhqZ9ICiqqCs=",
|
||||||
"owner": "NixOS",
|
"owner": "NixOS",
|
||||||
"repo": "nixpkgs",
|
"repo": "nixpkgs",
|
||||||
"rev": "c58bc7f5459328e4afac201c5c4feb7c818d604b",
|
"rev": "44bae273f9f82d480273bab26f5c50de3724f52f",
|
||||||
"type": "github"
|
"type": "github"
|
||||||
},
|
},
|
||||||
"original": {
|
"original": {
|
||||||
"owner": "NixOS",
|
"owner": "NixOS",
|
||||||
"ref": "nixos-25.05",
|
"ref": "nixos-25.11",
|
||||||
"repo": "nixpkgs",
|
"repo": "nixpkgs",
|
||||||
"type": "github"
|
"type": "github"
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
"nixpkgs_2": {
|
"nixpkgs_2": {
|
||||||
"locked": {
|
"locked": {
|
||||||
"lastModified": 1760423683,
|
"lastModified": 1773122722,
|
||||||
"narHash": "sha256-Tb+NYuJhWZieDZUxN6PgglB16yuqBYQeMJyYBGCXlt8=",
|
"narHash": "sha256-FIqHByVqxCprNjor1NqF80F2QQoiiyqanNNefdlvOg4=",
|
||||||
"owner": "nixos",
|
"owner": "nixos",
|
||||||
"repo": "nixpkgs",
|
"repo": "nixpkgs",
|
||||||
"rev": "a493e93b4a259cd9fea8073f89a7ed9b1c5a1da2",
|
"rev": "62dc67aa6a52b4364dd75994ec00b51fbf474e50",
|
||||||
"type": "github"
|
"type": "github"
|
||||||
},
|
},
|
||||||
"original": {
|
"original": {
|
||||||
"owner": "nixos",
|
"owner": "nixos",
|
||||||
"ref": "nixos-25.05",
|
"ref": "nixos-unstable",
|
||||||
"repo": "nixpkgs",
|
"repo": "nixpkgs",
|
||||||
"type": "github"
|
"type": "github"
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
"noctalia": {
|
"nixvim": {
|
||||||
"inputs": {
|
"inputs": {
|
||||||
|
"flake-parts": "flake-parts",
|
||||||
"nixpkgs": [
|
"nixpkgs": [
|
||||||
"nixpkgs"
|
"nixpkgs"
|
||||||
],
|
],
|
||||||
"quickshell": [
|
|
||||||
"quickshell"
|
|
||||||
],
|
|
||||||
"systems": "systems"
|
"systems": "systems"
|
||||||
},
|
},
|
||||||
"locked": {
|
"locked": {
|
||||||
"lastModified": 1762462253,
|
"lastModified": 1772402258,
|
||||||
"narHash": "sha256-WAgPlZkOpYNE/vgo4yNf5HnviFnYe8g0hQ7QsJFkXgU=",
|
"narHash": "sha256-3DmCFOdmbkFML1/G9gj8Wb+rCCZFPOQtNoMCpqOF8SA=",
|
||||||
"owner": "noctalia-dev",
|
"owner": "nix-community",
|
||||||
"repo": "noctalia-shell",
|
"repo": "nixvim",
|
||||||
"rev": "c6a9db6d8493d1fe5c1d533e13e628ff0d62a3ee",
|
"rev": "21ae25e13b01d3b4cdc750b5f9e7bad68b150c10",
|
||||||
"type": "github"
|
"type": "github"
|
||||||
},
|
},
|
||||||
"original": {
|
"original": {
|
||||||
"owner": "noctalia-dev",
|
"owner": "nix-community",
|
||||||
"repo": "noctalia-shell",
|
"repo": "nixvim",
|
||||||
"type": "github"
|
"type": "github"
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
@ -370,11 +452,11 @@
|
|||||||
]
|
]
|
||||||
},
|
},
|
||||||
"locked": {
|
"locked": {
|
||||||
"lastModified": 1758998580,
|
"lastModified": 1767810917,
|
||||||
"narHash": "sha256-VLx0z396gDCGSiowLMFz5XRO/XuNV+4EnDYjdJhHvUk=",
|
"narHash": "sha256-ZKqhk772+v/bujjhla9VABwcvz+hB2IaRyeLT6CFnT0=",
|
||||||
"owner": "nix-community",
|
"owner": "nix-community",
|
||||||
"repo": "NUR",
|
"repo": "NUR",
|
||||||
"rev": "ba8d9c98f5f4630bcb0e815ab456afd90c930728",
|
"rev": "dead29c804adc928d3a69dfe7f9f12d0eec1f1a4",
|
||||||
"type": "github"
|
"type": "github"
|
||||||
},
|
},
|
||||||
"original": {
|
"original": {
|
||||||
@ -393,11 +475,11 @@
|
|||||||
]
|
]
|
||||||
},
|
},
|
||||||
"locked": {
|
"locked": {
|
||||||
"lastModified": 1762784320,
|
"lastModified": 1772361940,
|
||||||
"narHash": "sha256-odsk96Erywk5hs0dhArF38zb7Oe0q6LZ70gXbxAPKno=",
|
"narHash": "sha256-B1Cz+ydL1iaOnGlwOFld/C8lBECPtzhiy/pP93/CuyY=",
|
||||||
"owner": "nix-community",
|
"owner": "nix-community",
|
||||||
"repo": "plasma-manager",
|
"repo": "plasma-manager",
|
||||||
"rev": "7911a0f8a44c7e8b29d031be3149ee8943144321",
|
"rev": "a4b33606111c9c5dcd10009042bb710307174f51",
|
||||||
"type": "github"
|
"type": "github"
|
||||||
},
|
},
|
||||||
"original": {
|
"original": {
|
||||||
@ -413,11 +495,11 @@
|
|||||||
]
|
]
|
||||||
},
|
},
|
||||||
"locked": {
|
"locked": {
|
||||||
"lastModified": 1761897390,
|
"lastModified": 1773291133,
|
||||||
"narHash": "sha256-er4gYrIoThYLjlsOMTysoRfn67d1Gci+ZpqDrtQxrA0=",
|
"narHash": "sha256-9Odn+7x5l90HnXRY7MwVYcX+8CYAo+ldJ+GOVs7e2T8=",
|
||||||
"owner": "outfoxxed",
|
"owner": "outfoxxed",
|
||||||
"repo": "quickshell",
|
"repo": "quickshell",
|
||||||
"rev": "fc704e6b5d445899a1565955268c91942a4f263f",
|
"rev": "9a9c60525014bcdf83aace03db4b53c19168edcc",
|
||||||
"type": "github"
|
"type": "github"
|
||||||
},
|
},
|
||||||
"original": {
|
"original": {
|
||||||
@ -428,19 +510,37 @@
|
|||||||
},
|
},
|
||||||
"root": {
|
"root": {
|
||||||
"inputs": {
|
"inputs": {
|
||||||
|
"alejandra": "alejandra",
|
||||||
"grub2-themes": "grub2-themes",
|
"grub2-themes": "grub2-themes",
|
||||||
"home-manager": "home-manager",
|
"home-manager": "home-manager",
|
||||||
"niri": "niri",
|
"niri": "niri",
|
||||||
"nix-flatpak": "nix-flatpak",
|
"nix-flatpak": "nix-flatpak",
|
||||||
"nixos-hardware": "nixos-hardware",
|
"nixos-hardware": "nixos-hardware",
|
||||||
"nixpkgs": "nixpkgs_2",
|
"nixpkgs": "nixpkgs_2",
|
||||||
"noctalia": "noctalia",
|
"nixvim": "nixvim",
|
||||||
"plasma-manager": "plasma-manager",
|
"plasma-manager": "plasma-manager",
|
||||||
"quickshell": "quickshell",
|
"quickshell": "quickshell",
|
||||||
"stylix": "stylix",
|
"stylix": "stylix",
|
||||||
"zen-browser": "zen-browser"
|
"zen-browser": "zen-browser"
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
|
"rust-analyzer-src": {
|
||||||
|
"flake": false,
|
||||||
|
"locked": {
|
||||||
|
"lastModified": 1730555913,
|
||||||
|
"narHash": "sha256-KNHZUlqsEibg3YtfUyOFQSofP8hp1HKoY+laoesBxRM=",
|
||||||
|
"owner": "rust-lang",
|
||||||
|
"repo": "rust-analyzer",
|
||||||
|
"rev": "f17a5bbfd0969ba2e63a74505a80e55ecb174ed9",
|
||||||
|
"type": "github"
|
||||||
|
},
|
||||||
|
"original": {
|
||||||
|
"owner": "rust-lang",
|
||||||
|
"ref": "nightly",
|
||||||
|
"repo": "rust-analyzer",
|
||||||
|
"type": "github"
|
||||||
|
}
|
||||||
|
},
|
||||||
"stylix": {
|
"stylix": {
|
||||||
"inputs": {
|
"inputs": {
|
||||||
"base16": "base16",
|
"base16": "base16",
|
||||||
@ -448,7 +548,7 @@
|
|||||||
"base16-helix": "base16-helix",
|
"base16-helix": "base16-helix",
|
||||||
"base16-vim": "base16-vim",
|
"base16-vim": "base16-vim",
|
||||||
"firefox-gnome-theme": "firefox-gnome-theme",
|
"firefox-gnome-theme": "firefox-gnome-theme",
|
||||||
"flake-parts": "flake-parts",
|
"flake-parts": "flake-parts_2",
|
||||||
"gnome-shell": "gnome-shell",
|
"gnome-shell": "gnome-shell",
|
||||||
"nixpkgs": [
|
"nixpkgs": [
|
||||||
"nixpkgs"
|
"nixpkgs"
|
||||||
@ -462,16 +562,16 @@
|
|||||||
"tinted-zed": "tinted-zed"
|
"tinted-zed": "tinted-zed"
|
||||||
},
|
},
|
||||||
"locked": {
|
"locked": {
|
||||||
"lastModified": 1763740035,
|
"lastModified": 1772296853,
|
||||||
"narHash": "sha256-h33/8bTP5ww1oKwrXgK2fuJPsNlWPzdG4jsvUlr6qqM=",
|
"narHash": "sha256-pAtzPsgHRKw/2Kv8HgAjSJg450FDldHPWsP3AKG/Xj0=",
|
||||||
"owner": "nix-community",
|
"owner": "nix-community",
|
||||||
"repo": "stylix",
|
"repo": "stylix",
|
||||||
"rev": "206e6ee4d11adcc80d8cbe612e14e08641474fc8",
|
"rev": "c4b8e80a1020e09a1f081ad0f98ce804a6e85acf",
|
||||||
"type": "github"
|
"type": "github"
|
||||||
},
|
},
|
||||||
"original": {
|
"original": {
|
||||||
"owner": "nix-community",
|
"owner": "nix-community",
|
||||||
"ref": "release-25.05",
|
"ref": "master",
|
||||||
"repo": "stylix",
|
"repo": "stylix",
|
||||||
"type": "github"
|
"type": "github"
|
||||||
}
|
}
|
||||||
@ -542,11 +642,11 @@
|
|||||||
"tinted-schemes": {
|
"tinted-schemes": {
|
||||||
"flake": false,
|
"flake": false,
|
||||||
"locked": {
|
"locked": {
|
||||||
"lastModified": 1757716333,
|
"lastModified": 1767710407,
|
||||||
"narHash": "sha256-d4km8W7w2zCUEmPAPUoLk1NlYrGODuVa3P7St+UrqkM=",
|
"narHash": "sha256-+W1EB79Jl0/gm4JqmO0Nuc5C7hRdp4vfsV/VdzI+des=",
|
||||||
"owner": "tinted-theming",
|
"owner": "tinted-theming",
|
||||||
"repo": "schemes",
|
"repo": "schemes",
|
||||||
"rev": "317a5e10c35825a6c905d912e480dfe8e71c7559",
|
"rev": "2800e2b8ac90f678d7e4acebe4fa253f602e05b2",
|
||||||
"type": "github"
|
"type": "github"
|
||||||
},
|
},
|
||||||
"original": {
|
"original": {
|
||||||
@ -558,11 +658,11 @@
|
|||||||
"tinted-tmux": {
|
"tinted-tmux": {
|
||||||
"flake": false,
|
"flake": false,
|
||||||
"locked": {
|
"locked": {
|
||||||
"lastModified": 1757811970,
|
"lastModified": 1767489635,
|
||||||
"narHash": "sha256-n5ZJgmzGZXOD9pZdAl1OnBu3PIqD+X3vEBUGbTi4JiI=",
|
"narHash": "sha256-e6nnFnWXKBCJjCv4QG4bbcouJ6y3yeT70V9MofL32lU=",
|
||||||
"owner": "tinted-theming",
|
"owner": "tinted-theming",
|
||||||
"repo": "tinted-tmux",
|
"repo": "tinted-tmux",
|
||||||
"rev": "d217ba31c846006e9e0ae70775b0ee0f00aa6b1e",
|
"rev": "3c32729ccae99be44fe8a125d20be06f8d7d8184",
|
||||||
"type": "github"
|
"type": "github"
|
||||||
},
|
},
|
||||||
"original": {
|
"original": {
|
||||||
@ -574,11 +674,11 @@
|
|||||||
"tinted-zed": {
|
"tinted-zed": {
|
||||||
"flake": false,
|
"flake": false,
|
||||||
"locked": {
|
"locked": {
|
||||||
"lastModified": 1757811247,
|
"lastModified": 1767488740,
|
||||||
"narHash": "sha256-4EFOUyLj85NRL3OacHoLGEo0wjiRJzfsXtR4CZWAn6w=",
|
"narHash": "sha256-wVOj0qyil8m+ouSsVZcNjl5ZR+1GdOOAooAatQXHbuU=",
|
||||||
"owner": "tinted-theming",
|
"owner": "tinted-theming",
|
||||||
"repo": "base16-zed",
|
"repo": "base16-zed",
|
||||||
"rev": "824fe0aacf82b3c26690d14e8d2cedd56e18404e",
|
"rev": "11abb0b282ad3786a2aae088d3a01c60916f2e40",
|
||||||
"type": "github"
|
"type": "github"
|
||||||
},
|
},
|
||||||
"original": {
|
"original": {
|
||||||
@ -607,11 +707,11 @@
|
|||||||
"xwayland-satellite-unstable": {
|
"xwayland-satellite-unstable": {
|
||||||
"flake": false,
|
"flake": false,
|
||||||
"locked": {
|
"locked": {
|
||||||
"lastModified": 1763704521,
|
"lastModified": 1772429643,
|
||||||
"narHash": "sha256-ceYEV6PnvUN8Zixao4gpPuN+VT3B0SlAXKuPNHZhqUY=",
|
"narHash": "sha256-M+bAeCCcjBnVk6w/4dIVvXvpJwOKnXjwi/lDbaN6Yws=",
|
||||||
"owner": "Supreeeme",
|
"owner": "Supreeeme",
|
||||||
"repo": "xwayland-satellite",
|
"repo": "xwayland-satellite",
|
||||||
"rev": "f379ff5722a821212eb59ada9cf8e51cb3654aad",
|
"rev": "10f985b84cdbcc3bbf35b3e7e43d1b2a84fa9ce2",
|
||||||
"type": "github"
|
"type": "github"
|
||||||
},
|
},
|
||||||
"original": {
|
"original": {
|
||||||
@ -628,11 +728,11 @@
|
|||||||
]
|
]
|
||||||
},
|
},
|
||||||
"locked": {
|
"locked": {
|
||||||
"lastModified": 1760675007,
|
"lastModified": 1773290887,
|
||||||
"narHash": "sha256-uzFK9GgP/6TiPyXmSXeNQld3pG1zeWsPfi+ut/vrkrI=",
|
"narHash": "sha256-L1yMYmFffHfZNP+hKJGRBmrFKkn/VDhu7jEbVftBQuM=",
|
||||||
"owner": "0xc000022070",
|
"owner": "0xc000022070",
|
||||||
"repo": "zen-browser-flake",
|
"repo": "zen-browser-flake",
|
||||||
"rev": "11308e8294b68cda466145d5982996c489c126bc",
|
"rev": "9346698c4562819f61b4e5097151ec0b17729fab",
|
||||||
"type": "github"
|
"type": "github"
|
||||||
},
|
},
|
||||||
"original": {
|
"original": {
|
||||||
|
|||||||
72
flake.nix
72
flake.nix
@ -2,11 +2,11 @@
|
|||||||
description = "NixOS configuration";
|
description = "NixOS configuration";
|
||||||
|
|
||||||
inputs = {
|
inputs = {
|
||||||
nixpkgs.url = "github:nixos/nixpkgs/nixos-25.05";
|
nixpkgs.url = "github:nixos/nixpkgs/nixos-unstable";
|
||||||
|
|
||||||
nixos-hardware.url = "github:NixOS/nixos-hardware"; #To Provide Framework13 hardware modules
|
nixos-hardware.url = "github:NixOS/nixos-hardware"; #To Provide Framework13 hardware modules
|
||||||
|
|
||||||
home-manager.url = "github:nix-community/home-manager/release-25.05";
|
home-manager.url = "github:nix-community/home-manager/master";
|
||||||
home-manager.inputs.nixpkgs.follows = "nixpkgs";
|
home-manager.inputs.nixpkgs.follows = "nixpkgs";
|
||||||
|
|
||||||
plasma-manager = {
|
plasma-manager = {
|
||||||
@ -19,7 +19,7 @@
|
|||||||
zen-browser.inputs.nixpkgs.follows = "nixpkgs";
|
zen-browser.inputs.nixpkgs.follows = "nixpkgs";
|
||||||
|
|
||||||
#stylix.url = "github:nix-community/stylix/";
|
#stylix.url = "github:nix-community/stylix/";
|
||||||
stylix.url = "github:nix-community/stylix/release-25.05"; #Had to use branch or it would not build corrently
|
stylix.url = "github:nix-community/stylix/master"; #Had to use branch or it would not build corrently
|
||||||
stylix.inputs.nixpkgs.follows = "nixpkgs";
|
stylix.inputs.nixpkgs.follows = "nixpkgs";
|
||||||
|
|
||||||
quickshell = {
|
quickshell = {
|
||||||
@ -32,31 +32,45 @@
|
|||||||
inputs.nixpkgs.follows = "nixpkgs";
|
inputs.nixpkgs.follows = "nixpkgs";
|
||||||
};
|
};
|
||||||
|
|
||||||
noctalia = {
|
nixvim = {
|
||||||
url = "github:noctalia-dev/noctalia-shell";
|
url = "github:nix-community/nixvim";
|
||||||
|
inputs.nixpkgs.follows = "nixpkgs";
|
||||||
|
};
|
||||||
|
|
||||||
|
alejandra = {
|
||||||
|
url = "github:kamadorueda/alejandra/4.0.0";
|
||||||
inputs.nixpkgs.follows = "nixpkgs";
|
inputs.nixpkgs.follows = "nixpkgs";
|
||||||
inputs.quickshell.follows = "quickshell";
|
|
||||||
};
|
};
|
||||||
|
|
||||||
nix-flatpak.url = "github:gmodena/nix-flatpak";
|
nix-flatpak.url = "github:gmodena/nix-flatpak";
|
||||||
|
|
||||||
grub2-themes.url = "github:vinceliuice/grub2-themes";
|
grub2-themes.url = "github:vinceliuice/grub2-themes";
|
||||||
};
|
};
|
||||||
|
|
||||||
outputs = inputs@{ nixpkgs, home-manager, plasma-manager, nixos-hardware, stylix, niri, zen-browser, grub2-themes, nix-flatpak, ... }:
|
outputs = inputs @ {
|
||||||
let
|
nixpkgs,
|
||||||
|
alejandra,
|
||||||
|
home-manager,
|
||||||
|
plasma-manager,
|
||||||
|
nixos-hardware,
|
||||||
|
stylix,
|
||||||
|
niri,
|
||||||
|
zen-browser,
|
||||||
|
grub2-themes,
|
||||||
|
nix-flatpak,
|
||||||
|
...
|
||||||
|
}: let
|
||||||
username = "cookiez";
|
username = "cookiez";
|
||||||
hostname = "nixos";
|
hostname = "nixos";
|
||||||
version = "25.05";
|
project = "NixOS";
|
||||||
|
version = "26.05"; #DO NOT change to "unstable" as it is not a valid option for all cascading uses of this variable
|
||||||
system = "x86_64-linux";
|
system = "x86_64-linux";
|
||||||
pkgs = import nixpkgs { inherit system; };
|
pkgs = import nixpkgs {inherit system;};
|
||||||
|
|
||||||
hyprlandEnabled = false;
|
|
||||||
plasmaEnabled = false;
|
|
||||||
|
|
||||||
framework13 = true;
|
framework13 = true;
|
||||||
in
|
in {
|
||||||
{
|
formatter.${system} = nixpkgs.legacyPackages.${system}.alejandra;
|
||||||
|
|
||||||
nixosConfigurations = {
|
nixosConfigurations = {
|
||||||
${hostname} = nixpkgs.lib.nixosSystem {
|
${hostname} = nixpkgs.lib.nixosSystem {
|
||||||
inherit system;
|
inherit system;
|
||||||
@ -65,18 +79,22 @@
|
|||||||
inherit username;
|
inherit username;
|
||||||
inherit version;
|
inherit version;
|
||||||
inherit system;
|
inherit system;
|
||||||
|
inherit project;
|
||||||
|
inherit alejandra;
|
||||||
host = hostname;
|
host = hostname;
|
||||||
};
|
};
|
||||||
modules = [
|
modules =
|
||||||
./modules
|
[
|
||||||
#grub2-themes.nixosModules.default
|
./modules
|
||||||
#nix-flatpak.nixosModules.nix-flatpak
|
#Conditional Modules!
|
||||||
#stylix.nixosModules.stylix
|
]
|
||||||
#Conditional Modules!
|
++ (
|
||||||
] ++ (if hyprlandEnabled then [ ./hyprland/hyprland.nix ] else [ ]) ++ [
|
if framework13
|
||||||
] ++ (if plasmaEnabled then [ ./plasma/plasma.nix ] else [ ]) ++ [
|
then [nixos-hardware.nixosModules.framework-13-7040-amd]
|
||||||
] ++ (if framework13 then [ nixos-hardware.nixosModules.framework-13-7040-amd ] else [ ]) ++ [
|
else []
|
||||||
];
|
)
|
||||||
|
++ [
|
||||||
|
];
|
||||||
};
|
};
|
||||||
};
|
};
|
||||||
};
|
};
|
||||||
|
|||||||
@ -1,21 +0,0 @@
|
|||||||
{ config, pkgs, ... }:
|
|
||||||
{
|
|
||||||
#to show logs of services run: journalctl --user-unit={service-name} --user
|
|
||||||
|
|
||||||
systemd.user.services.autostart-noctalia = {
|
|
||||||
enable = false;
|
|
||||||
description = "automatically start noctalia shell";
|
|
||||||
|
|
||||||
after = [ "graphical-session.target" ];
|
|
||||||
wantedBy = [ "graphical-session.target" ];
|
|
||||||
partOf = [ "graphical-session.target" ];
|
|
||||||
|
|
||||||
serviceConfig = {
|
|
||||||
ExecStart = [ "qs -c noctalia-shell" ];
|
|
||||||
|
|
||||||
Restart = "on-failure";
|
|
||||||
RestartSec = "1s";
|
|
||||||
};
|
|
||||||
};
|
|
||||||
|
|
||||||
}
|
|
||||||
@ -1,22 +0,0 @@
|
|||||||
{pkgs, inputs, ...}:
|
|
||||||
{
|
|
||||||
|
|
||||||
imports = [
|
|
||||||
];
|
|
||||||
|
|
||||||
wayland.windowManager.hyprland = {
|
|
||||||
enable = true;
|
|
||||||
xwayland.enable = true;
|
|
||||||
|
|
||||||
settings = {
|
|
||||||
# bind = [
|
|
||||||
# "SUPER, Space, pkill rofi || rofi -show drun -modi drun,filebrowser,run,window"
|
|
||||||
# ];
|
|
||||||
#So hyprland doesnt break after a rebuild...
|
|
||||||
#exec = [ "systemctl --user restart hyprland-session.target" ];
|
|
||||||
};
|
|
||||||
|
|
||||||
extraConfig = builtins.readFile ./hyprland.conf;
|
|
||||||
|
|
||||||
};
|
|
||||||
}
|
|
||||||
@ -1,310 +0,0 @@
|
|||||||
# This is an example Hyprland config file.
|
|
||||||
# Refer to the wiki for more information.
|
|
||||||
# https://wiki.hyprland.org/Configuring/
|
|
||||||
|
|
||||||
# Please note not all available settings / options are set here.
|
|
||||||
# For a full list, see the wiki
|
|
||||||
|
|
||||||
# You can split this configuration into multiple files
|
|
||||||
# Create your files separately and then link them to this file like this:
|
|
||||||
# source = ~/.config/hypr/myColors.conf
|
|
||||||
|
|
||||||
|
|
||||||
################
|
|
||||||
### MONITORS ###
|
|
||||||
################
|
|
||||||
|
|
||||||
# See https://wiki.hyprland.org/Configuring/Monitors/
|
|
||||||
monitor=,preferred,auto,auto
|
|
||||||
|
|
||||||
|
|
||||||
###################
|
|
||||||
### MY PROGRAMS ###
|
|
||||||
###################
|
|
||||||
|
|
||||||
# See https://wiki.hyprland.org/Configuring/Keywords/
|
|
||||||
|
|
||||||
# Set programs that you use
|
|
||||||
$terminal = kitty
|
|
||||||
$fileManager = dolphin
|
|
||||||
$menu = wofi --show drun
|
|
||||||
|
|
||||||
|
|
||||||
#################
|
|
||||||
### AUTOSTART ###
|
|
||||||
#################
|
|
||||||
|
|
||||||
# Autostart necessary processes (like notifications daemons, status bars, etc.)
|
|
||||||
# Or execute your favorite apps at launch like this:
|
|
||||||
|
|
||||||
#USE autostart.nix INSTEAD OF THIS!!!
|
|
||||||
|
|
||||||
#exec = [ "systemctl --user restart hyprland-session.target" ];
|
|
||||||
# exec-once = $terminal
|
|
||||||
# exec-once = nm-applet &
|
|
||||||
# exec-once = waybar & hyprpaper & firefox
|
|
||||||
# exec-once = qs -c noctalia-shell
|
|
||||||
|
|
||||||
#############################
|
|
||||||
### ENVIRONMENT VARIABLES ###
|
|
||||||
#############################
|
|
||||||
|
|
||||||
# See https://wiki.hyprland.org/Configuring/Environment-variables/
|
|
||||||
|
|
||||||
env = XCURSOR_SIZE,24
|
|
||||||
env = HYPRCURSOR_SIZE,24
|
|
||||||
|
|
||||||
|
|
||||||
###################
|
|
||||||
### PERMISSIONS ###
|
|
||||||
###################
|
|
||||||
|
|
||||||
# See https://wiki.hyprland.org/Configuring/Permissions/
|
|
||||||
# Please note permission changes here require a Hyprland restart and are not applied on-the-fly
|
|
||||||
# for security reasons
|
|
||||||
|
|
||||||
# ecosystem {
|
|
||||||
# enforce_permissions = 1
|
|
||||||
# }
|
|
||||||
|
|
||||||
# permission = /usr/(bin|local/bin)/grim, screencopy, allow
|
|
||||||
# permission = /usr/(lib|libexec|lib64)/xdg-desktop-portal-hyprland, screencopy, allow
|
|
||||||
# permission = /usr/(bin|local/bin)/hyprpm, plugin, allow
|
|
||||||
|
|
||||||
#
|
|
||||||
#####################
|
|
||||||
### LOOK AND FEEL ###
|
|
||||||
#####################
|
|
||||||
|
|
||||||
# Refer to https://wiki.hyprland.org/Configuring/Variables/
|
|
||||||
|
|
||||||
# https://wiki.hyprland.org/Configuring/Variables/#general
|
|
||||||
general {
|
|
||||||
gaps_in = 5
|
|
||||||
gaps_out = 20
|
|
||||||
|
|
||||||
border_size = 2
|
|
||||||
|
|
||||||
# https://wiki.hyprland.org/Configuring/Variables/#variable-types for info about colors
|
|
||||||
col.active_border = rgba(33ccffee) rgba(00ff99ee) 45deg
|
|
||||||
col.inactive_border = rgba(595959aa)
|
|
||||||
|
|
||||||
# Set to true enable resizing windows by clicking and dragging on borders and gaps
|
|
||||||
resize_on_border = false
|
|
||||||
|
|
||||||
# Please see https://wiki.hyprland.org/Configuring/Tearing/ before you turn this on
|
|
||||||
allow_tearing = false
|
|
||||||
|
|
||||||
layout = dwindle
|
|
||||||
}
|
|
||||||
|
|
||||||
# https://wiki.hyprland.org/Configuring/Variables/#decoration
|
|
||||||
decoration {
|
|
||||||
rounding = 10
|
|
||||||
rounding_power = 2
|
|
||||||
|
|
||||||
# Change transparency of focused and unfocused windows
|
|
||||||
active_opacity = 1.0
|
|
||||||
inactive_opacity = 1.0
|
|
||||||
|
|
||||||
shadow {
|
|
||||||
enabled = true
|
|
||||||
range = 4
|
|
||||||
render_power = 3
|
|
||||||
color = rgba(1a1a1aee)
|
|
||||||
}
|
|
||||||
|
|
||||||
# https://wiki.hyprland.org/Configuring/Variables/#blur
|
|
||||||
blur {
|
|
||||||
enabled = true
|
|
||||||
size = 3
|
|
||||||
passes = 1
|
|
||||||
|
|
||||||
vibrancy = 0.1696
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
# https://wiki.hyprland.org/Configuring/Variables/#animations
|
|
||||||
animations {
|
|
||||||
enabled = yes, please :)
|
|
||||||
|
|
||||||
# Default animations, see https://wiki.hyprland.org/Configuring/Animations/ for more
|
|
||||||
|
|
||||||
bezier = easeOutQuint,0.23,1,0.32,1
|
|
||||||
bezier = easeInOutCubic,0.65,0.05,0.36,1
|
|
||||||
bezier = linear,0,0,1,1
|
|
||||||
bezier = almostLinear,0.5,0.5,0.75,1.0
|
|
||||||
bezier = quick,0.15,0,0.1,1
|
|
||||||
|
|
||||||
animation = global, 1, 10, default
|
|
||||||
animation = border, 1, 5.39, easeOutQuint
|
|
||||||
animation = windows, 1, 4.79, easeOutQuint
|
|
||||||
animation = windowsIn, 1, 4.1, easeOutQuint, popin 87%
|
|
||||||
animation = windowsOut, 1, 1.49, linear, popin 87%
|
|
||||||
animation = fadeIn, 1, 1.73, almostLinear
|
|
||||||
animation = fadeOut, 1, 1.46, almostLinear
|
|
||||||
animation = fade, 1, 3.03, quick
|
|
||||||
animation = layers, 1, 3.81, easeOutQuint
|
|
||||||
animation = layersIn, 1, 4, easeOutQuint, fade
|
|
||||||
animation = layersOut, 1, 1.5, linear, fade
|
|
||||||
animation = fadeLayersIn, 1, 1.79, almostLinear
|
|
||||||
animation = fadeLayersOut, 1, 1.39, almostLinear
|
|
||||||
animation = workspaces, 1, 1.94, almostLinear, fade
|
|
||||||
animation = workspacesIn, 1, 1.21, almostLinear, fade
|
|
||||||
animation = workspacesOut, 1, 1.94, almostLinear, fade
|
|
||||||
}
|
|
||||||
|
|
||||||
# Ref https://wiki.hyprland.org/Configuring/Workspace-Rules/
|
|
||||||
# "Smart gaps" / "No gaps when only"
|
|
||||||
# uncomment all if you wish to use that.
|
|
||||||
# workspace = w[tv1], gapsout:0, gapsin:0
|
|
||||||
# workspace = f[1], gapsout:0, gapsin:0
|
|
||||||
# windowrule = bordersize 0, floating:0, onworkspace:w[tv1]
|
|
||||||
# windowrule = rounding 0, floating:0, onworkspace:w[tv1]
|
|
||||||
# windowrule = bordersize 0, floating:0, onworkspace:f[1]
|
|
||||||
# windowrule = rounding 0, floating:0, onworkspace:f[1]
|
|
||||||
|
|
||||||
# See https://wiki.hyprland.org/Configuring/Dwindle-Layout/ for more
|
|
||||||
dwindle {
|
|
||||||
pseudotile = true # Master switch for pseudotiling. Enabling is bound to mainMod + P in the keybinds section below
|
|
||||||
preserve_split = true # You probably want this
|
|
||||||
}
|
|
||||||
|
|
||||||
# See https://wiki.hyprland.org/Configuring/Master-Layout/ for more
|
|
||||||
master {
|
|
||||||
new_status = master
|
|
||||||
}
|
|
||||||
|
|
||||||
# https://wiki.hyprland.org/Configuring/Variables/#misc
|
|
||||||
misc {
|
|
||||||
force_default_wallpaper = 0 # Set to 0 or 1 to disable the anime mascot wallpapers
|
|
||||||
disable_hyprland_logo = true # If true disables the random hyprland logo / anime girl background. :(
|
|
||||||
}
|
|
||||||
|
|
||||||
|
|
||||||
#############
|
|
||||||
### INPUT ###
|
|
||||||
#############
|
|
||||||
|
|
||||||
# https://wiki.hyprland.org/Configuring/Variables/#input
|
|
||||||
input {
|
|
||||||
kb_layout = de
|
|
||||||
kb_variant =
|
|
||||||
kb_model =
|
|
||||||
kb_options =
|
|
||||||
kb_rules =
|
|
||||||
|
|
||||||
follow_mouse = 1
|
|
||||||
|
|
||||||
sensitivity = 0 # -1.0 - 1.0, 0 means no modification.
|
|
||||||
|
|
||||||
touchpad {
|
|
||||||
natural_scroll = false
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
# https://wiki.hyprland.org/Configuring/Variables/#gestures
|
|
||||||
gestures {
|
|
||||||
workspace_swipe = false
|
|
||||||
}
|
|
||||||
|
|
||||||
# Example per-device config
|
|
||||||
# See https://wiki.hyprland.org/Configuring/Keywords/#per-device-input-configs for more
|
|
||||||
device {
|
|
||||||
name = epic-mouse-v1
|
|
||||||
sensitivity = -0.5
|
|
||||||
}
|
|
||||||
|
|
||||||
|
|
||||||
###################
|
|
||||||
### KEYBINDINGS ###
|
|
||||||
###################
|
|
||||||
|
|
||||||
# See https://wiki.hyprland.org/Configuring/Keywords/
|
|
||||||
$mainMod = SUPER # Sets "Windows" key as main modifier
|
|
||||||
|
|
||||||
#Custom Ones
|
|
||||||
bind = $mainMod, Space, exec, pkill rofi || rofi -show drun -modi drun,filebrowser,run,window
|
|
||||||
|
|
||||||
# Example binds, see https://wiki.hyprland.org/Configuring/Binds/ for more
|
|
||||||
bind = $mainMod, Enter, exec, $terminal
|
|
||||||
bind = $mainMod, C, killactive,
|
|
||||||
bind = $mainMod, L, exec, hyprlock
|
|
||||||
#bind = $mainMod, M, exit,
|
|
||||||
#bind = $mainMod, E, exec, $fileManager
|
|
||||||
#bind = $mainMod, V, togglefloating,
|
|
||||||
#bind = $mainMod, R, exec, $menu
|
|
||||||
#bind = $mainMod, P, pseudo, # dwindle
|
|
||||||
#bind = $mainMod, J, togglesplit, # dwindle
|
|
||||||
|
|
||||||
# Move focus with mainMod + arrow keys
|
|
||||||
bind = $mainMod, left, movefocus, l
|
|
||||||
bind = $mainMod, right, movefocus, r
|
|
||||||
bind = $mainMod, up, movefocus, u
|
|
||||||
bind = $mainMod, down, movefocus, d
|
|
||||||
|
|
||||||
# Switch workspaces with mainMod + [0-9]
|
|
||||||
bind = $mainMod, 1, workspace, 1
|
|
||||||
bind = $mainMod, 2, workspace, 2
|
|
||||||
bind = $mainMod, 3, workspace, 3
|
|
||||||
bind = $mainMod, 4, workspace, 4
|
|
||||||
bind = $mainMod, 5, workspace, 5
|
|
||||||
bind = $mainMod, 6, workspace, 6
|
|
||||||
bind = $mainMod, 7, workspace, 7
|
|
||||||
bind = $mainMod, 8, workspace, 8
|
|
||||||
bind = $mainMod, 9, workspace, 9
|
|
||||||
bind = $mainMod, 0, workspace, 10
|
|
||||||
|
|
||||||
# Move active window to a workspace with mainMod + SHIFT + [0-9]
|
|
||||||
bind = $mainMod SHIFT, 1, movetoworkspace, 1
|
|
||||||
bind = $mainMod SHIFT, 2, movetoworkspace, 2
|
|
||||||
bind = $mainMod SHIFT, 3, movetoworkspace, 3
|
|
||||||
bind = $mainMod SHIFT, 4, movetoworkspace, 4
|
|
||||||
bind = $mainMod SHIFT, 5, movetoworkspace, 5
|
|
||||||
bind = $mainMod SHIFT, 6, movetoworkspace, 6
|
|
||||||
bind = $mainMod SHIFT, 7, movetoworkspace, 7
|
|
||||||
bind = $mainMod SHIFT, 8, movetoworkspace, 8
|
|
||||||
bind = $mainMod SHIFT, 9, movetoworkspace, 9
|
|
||||||
bind = $mainMod SHIFT, 0, movetoworkspace, 10
|
|
||||||
|
|
||||||
# Example special workspace (scratchpad)
|
|
||||||
#bind = $mainMod, S, togglespecialworkspace, magic
|
|
||||||
#bind = $mainMod SHIFT, S, movetoworkspace, special:magic
|
|
||||||
|
|
||||||
# Scroll through existing workspaces with mainMod + scroll
|
|
||||||
bind = $mainMod, mouse_down, workspace, e+1
|
|
||||||
bind = $mainMod, mouse_up, workspace, e-1
|
|
||||||
|
|
||||||
# Move/resize windows with mainMod + LMB/RMB and dragging
|
|
||||||
bindm = $mainMod, mouse:272, movewindow
|
|
||||||
bindm = $mainMod, mouse:273, resizewindow
|
|
||||||
|
|
||||||
# Laptop multimedia keys for volume and LCD brightness
|
|
||||||
bindel = ,XF86AudioRaiseVolume, exec, wpctl set-volume -l 1 @DEFAULT_AUDIO_SINK@ 5%+
|
|
||||||
bindel = ,XF86AudioLowerVolume, exec, wpctl set-volume @DEFAULT_AUDIO_SINK@ 5%-
|
|
||||||
bindel = ,XF86AudioMute, exec, wpctl set-mute @DEFAULT_AUDIO_SINK@ toggle
|
|
||||||
bindel = ,XF86AudioMicMute, exec, wpctl set-mute @DEFAULT_AUDIO_SOURCE@ toggle
|
|
||||||
bindel = ,XF86MonBrightnessUp, exec, brightnessctl -e4 -n2 set 5%+
|
|
||||||
bindel = ,XF86MonBrightnessDown, exec, brightnessctl -e4 -n2 set 5%-
|
|
||||||
|
|
||||||
# Requires playerctl
|
|
||||||
bindl = , XF86AudioNext, exec, playerctl next
|
|
||||||
bindl = , XF86AudioPause, exec, playerctl play-pause
|
|
||||||
bindl = , XF86AudioPlay, exec, playerctl play-pause
|
|
||||||
bindl = , XF86AudioPrev, exec, playerctl previous
|
|
||||||
|
|
||||||
##############################
|
|
||||||
### WINDOWS AND WORKSPACES ###
|
|
||||||
##############################
|
|
||||||
|
|
||||||
# See https://wiki.hyprland.org/Configuring/Window-Rules/ for more
|
|
||||||
# See https://wiki.hyprland.org/Configuring/Workspace-Rules/ for workspace rules
|
|
||||||
|
|
||||||
# Example windowrule
|
|
||||||
# windowrule = float,class:^(kitty)$,title:^(kitty)$
|
|
||||||
|
|
||||||
# Ignore maximize requests from apps. You'll probably like this.
|
|
||||||
windowrule = suppressevent maximize, class:.*
|
|
||||||
|
|
||||||
# Fix some dragging issues with XWayland
|
|
||||||
windowrule = nofocus,class:^$,title:^$,xwayland:1,floating:1,fullscreen:0,pinned:0
|
|
||||||
@ -1,64 +0,0 @@
|
|||||||
{ config, inputs, pkgs, ... }:
|
|
||||||
{
|
|
||||||
imports = [
|
|
||||||
./autostart.nix
|
|
||||||
../modules/noctalia
|
|
||||||
../modules/hyprlock
|
|
||||||
../modules/hyprpaper
|
|
||||||
];
|
|
||||||
|
|
||||||
home-manager.sharedModules = [
|
|
||||||
./home.nix
|
|
||||||
];
|
|
||||||
|
|
||||||
environment.systemPackages = with pkgs;
|
|
||||||
[
|
|
||||||
(waybar.overrideAttrs (oldAttrs: {
|
|
||||||
mesonFlags = oldAttrs.mesonFlags ++ [ "-Dexperimental=true" ];
|
|
||||||
})
|
|
||||||
)
|
|
||||||
hyprland
|
|
||||||
dunst
|
|
||||||
libnotify
|
|
||||||
hyprpaper
|
|
||||||
sway #Sway Wayland compositor
|
|
||||||
#kitty #Terminal (Already Included by default)
|
|
||||||
rofi-wayland #Search bar (Meta + Space)
|
|
||||||
yazi
|
|
||||||
hyprlock
|
|
||||||
];
|
|
||||||
|
|
||||||
programs = {
|
|
||||||
hyprland = {
|
|
||||||
enable = true;
|
|
||||||
xwayland.enable = true;
|
|
||||||
withUWSM = false;
|
|
||||||
};
|
|
||||||
|
|
||||||
hyprlock = {
|
|
||||||
enable = true;
|
|
||||||
};
|
|
||||||
|
|
||||||
#waybar.enable = true;
|
|
||||||
#rofi.enable = true;
|
|
||||||
};
|
|
||||||
|
|
||||||
|
|
||||||
#services.xserver.enable = true;
|
|
||||||
#services.xserver.displayManager.sddm.enable = true;
|
|
||||||
|
|
||||||
xdg.portal = {
|
|
||||||
enable = true;
|
|
||||||
extraPortals = [ pkgs.xdg-desktop-portal-gtk ];
|
|
||||||
};
|
|
||||||
|
|
||||||
#sound.enable = true;
|
|
||||||
#security.rtkit.enable = true;
|
|
||||||
#services.pipewire = {
|
|
||||||
# enable = true;
|
|
||||||
# alsa.enable = true;
|
|
||||||
# #alsa.support3Bbit = true;
|
|
||||||
# pulse.enable = true;
|
|
||||||
# jack.enable = true;
|
|
||||||
#};
|
|
||||||
}
|
|
||||||
@ -1,22 +1,26 @@
|
|||||||
{ config, lib, pkgs, ... }:
|
|
||||||
{
|
{
|
||||||
|
config,
|
||||||
|
lib,
|
||||||
|
pkgs,
|
||||||
|
...
|
||||||
|
}: {
|
||||||
boot = {
|
boot = {
|
||||||
# silence first boot output
|
# silence first boot output
|
||||||
consoleLogLevel = 3;
|
consoleLogLevel = 3;
|
||||||
initrd.verbose = false;
|
initrd.verbose = false;
|
||||||
initrd.systemd.enable = true;
|
initrd.systemd.enable = true;
|
||||||
kernelParams = [
|
kernelParams = [
|
||||||
"quiet"
|
"quiet"
|
||||||
"splash"
|
"splash"
|
||||||
"intremap=on"
|
"intremap=on"
|
||||||
"boot.shell_on_fail"
|
"boot.shell_on_fail"
|
||||||
"udev.log_priority=3"
|
"udev.log_priority=3"
|
||||||
"rd.systemd.show_status=auto"
|
"rd.systemd.show_status=auto"
|
||||||
];
|
];
|
||||||
|
|
||||||
# plymouth, showing after LUKS unlock
|
# plymouth, showing after LUKS unlock
|
||||||
plymouth.enable = true;
|
plymouth.enable = true;
|
||||||
plymouth.font = "${pkgs.hack-font}/share/fonts/truetype/Hack-Regular.ttf";
|
plymouth.font = "${pkgs.hack-font}/share/fonts/truetype/Hack-Regular.ttf";
|
||||||
plymouth.logo = "${pkgs.nixos-icons}/share/icons/hicolor/128x128/apps/nix-snowflake.png";
|
plymouth.logo = "${pkgs.nixos-icons}/share/icons/hicolor/128x128/apps/nix-snowflake.png";
|
||||||
};
|
};
|
||||||
}
|
}
|
||||||
|
|||||||
@ -1,67 +1,68 @@
|
|||||||
# Edit this configuration file to define what should be installed on
|
|
||||||
# your system. Help is available in the configuration.nix(5) man page
|
|
||||||
# and in the NixOS manual (accessible by running ‘nixos-help’).
|
|
||||||
|
|
||||||
#Access Internet using:
|
#Access Internet using:
|
||||||
#nmcli device wifi list
|
#nmcli device wifi list
|
||||||
#nmcli device wifi connect <ssid> password <password>
|
#nmcli device wifi connect <ssid> password <password>
|
||||||
# or if no password (open wifi)
|
# or if no password (open wifi)
|
||||||
#nmcli device wifi connect <ssid>
|
#nmcli device wifi connect <ssid>
|
||||||
|
|
||||||
#Nix flake file limit: ulimit -n 500000
|
|
||||||
|
|
||||||
{ inputs, config, pkgs, lib, username, host, version, system, ... }:
|
|
||||||
{
|
{
|
||||||
# in configuration.nix
|
inputs,
|
||||||
|
config,
|
||||||
|
pkgs,
|
||||||
|
lib,
|
||||||
|
username,
|
||||||
|
project,
|
||||||
|
host,
|
||||||
|
version,
|
||||||
|
system,
|
||||||
|
...
|
||||||
|
}: {
|
||||||
#Assign Swap to the PC
|
#Assign Swap to the PC
|
||||||
#swapDevices = [{
|
#swapDevices = [{
|
||||||
# device = "/swapfile";
|
# device = "/swapfile";
|
||||||
# size = 16 * 1024; # 16GB
|
# size = 16 * 1024; # 16GB
|
||||||
#}];
|
#}];
|
||||||
|
|
||||||
imports =
|
imports = [
|
||||||
[
|
inputs.home-manager.nixosModules.home-manager
|
||||||
inputs.home-manager.nixosModules.home-manager
|
inputs.grub2-themes.nixosModules.default
|
||||||
inputs.grub2-themes.nixosModules.default
|
inputs.nix-flatpak.nixosModules.nix-flatpak
|
||||||
inputs.nix-flatpak.nixosModules.nix-flatpak
|
./hardware-configuration.nix
|
||||||
./hardware-configuration.nix
|
|
||||||
|
|
||||||
./firefox.nix
|
./firefox.nix
|
||||||
./boot-splash.nix
|
./boot-splash.nix
|
||||||
./zsh.nix
|
./zsh.nix
|
||||||
./neovim.nix
|
./neovim
|
||||||
./packages.nix
|
./packages
|
||||||
#./portainer.nix
|
];
|
||||||
];
|
|
||||||
|
|
||||||
# Bootloader.
|
# Bootloader.
|
||||||
boot.loader = {
|
boot = {
|
||||||
systemd-boot.enable = false;
|
kernelParams = ["quiet" "splash"];
|
||||||
efi.canTouchEfiVariables = true;
|
initrd = {
|
||||||
#boot.loader.efi.efiSysMountPoint = "/boot/efi";
|
verbose = false;
|
||||||
|
kernelModules = ["amdgpu"];
|
||||||
grub = {
|
|
||||||
enable = true;
|
|
||||||
device = "/dev/nvme0n1"; #Needs to be changed when using a new computer! (Make grub partition - look below!)
|
|
||||||
#devices = [ "nodev" ];
|
|
||||||
efiSupport = true;
|
|
||||||
useOSProber = true;
|
|
||||||
#splashImage =
|
|
||||||
# extraConfig = ''
|
|
||||||
# menuentry "NixOS - Default" {
|
|
||||||
# set hidden=1
|
|
||||||
# }
|
|
||||||
# '';
|
|
||||||
};
|
};
|
||||||
|
loader = {
|
||||||
|
systemd-boot.enable = false;
|
||||||
|
efi.canTouchEfiVariables = true;
|
||||||
|
#boot.loader.efi.efiSysMountPoint = "/boot/efi";
|
||||||
|
|
||||||
|
grub = {
|
||||||
|
enable = true;
|
||||||
|
device = "/dev/nvme0n1"; #Needs to be changed when using a new computer! (Make grub partition - look below!)
|
||||||
|
#devices = [ "nodev" ];
|
||||||
|
efiSupport = true;
|
||||||
|
useOSProber = true;
|
||||||
|
configurationLimit = 5;
|
||||||
|
};
|
||||||
|
|
||||||
grub2-theme = {
|
grub2-theme = {
|
||||||
enable = true;
|
enable = true;
|
||||||
theme = "whitesur";
|
theme = "whitesur";
|
||||||
footer = true;
|
footer = true;
|
||||||
|
};
|
||||||
|
|
||||||
|
timeout = 10;
|
||||||
};
|
};
|
||||||
|
|
||||||
timeout = 10;
|
|
||||||
};
|
};
|
||||||
|
|
||||||
#Ensure there is a grub_bios partition: (gparted)
|
#Ensure there is a grub_bios partition: (gparted)
|
||||||
@ -69,30 +70,38 @@
|
|||||||
#Apply
|
#Apply
|
||||||
#Manage flags -> Add bios_grub
|
#Manage flags -> Add bios_grub
|
||||||
|
|
||||||
networking.hostName = host;
|
networking = {
|
||||||
# Define your hostname.
|
# Enable networking
|
||||||
# networking.wireless.enable = true; # Enables wireless support via wpa_supplicant.
|
networkmanager.enable = true;
|
||||||
|
|
||||||
# Configure network proxy if necessary
|
extraHosts = ''
|
||||||
# networking.proxy.default = "http://user:password@proxy:port/";
|
100.89.141.79 tail-rpi
|
||||||
# networking.proxy.noProxy = "127.0.0.1,localhost,internal.domain";
|
'';
|
||||||
|
|
||||||
|
hostName = host;
|
||||||
|
# Define your hostname.
|
||||||
|
# wireless.enable = true; # Enables wireless support via wpa_supplicant.
|
||||||
|
|
||||||
|
# Configure network proxy if necessary
|
||||||
|
# proxy.default = "http://user:password@proxy:port/";
|
||||||
|
# proxy.noProxy = "127.0.0.1,localhost,internal.domain";
|
||||||
|
|
||||||
|
# Open ports in the firewall.
|
||||||
|
# firewall.allowedTCPPorts = [ ... ];
|
||||||
|
# firewall.allowedUDPPorts = [ ... ];
|
||||||
|
# Or disable the firewall altogether.
|
||||||
|
# firewall.enable = false;
|
||||||
|
};
|
||||||
|
|
||||||
home-manager = {
|
home-manager = {
|
||||||
useGlobalPkgs = true;
|
useGlobalPkgs = true;
|
||||||
useUserPackages = true;
|
useUserPackages = true;
|
||||||
users.${username} = ./home.nix;
|
users.${username} = ./home.nix;
|
||||||
backupFileExtension = "backup"; # Automatically backs up conflicting files during activation
|
backupFileExtension = "backup"; # Automatically backs up conflicting files during activation
|
||||||
extraSpecialArgs = { inherit inputs username version system host; };
|
extraSpecialArgs = {inherit inputs username project version system host;};
|
||||||
sharedModules = [ inputs.plasma-manager.homeModules.plasma-manager ];
|
sharedModules = [inputs.plasma-manager.homeModules.plasma-manager];
|
||||||
};
|
};
|
||||||
|
|
||||||
# Enable networking
|
|
||||||
networking.networkmanager.enable = true;
|
|
||||||
|
|
||||||
networking.extraHosts = ''
|
|
||||||
100.89.141.79 tail-rpi
|
|
||||||
'';
|
|
||||||
|
|
||||||
# Set your time zone.
|
# Set your time zone.
|
||||||
time.timeZone = "Europe/Berlin";
|
time.timeZone = "Europe/Berlin";
|
||||||
|
|
||||||
@ -119,11 +128,21 @@
|
|||||||
#loadModels = [ ... ];
|
#loadModels = [ ... ];
|
||||||
};
|
};
|
||||||
|
|
||||||
|
open-webui = {
|
||||||
|
enable = true;
|
||||||
|
package = pkgs.open-webui;
|
||||||
|
#environment = {
|
||||||
|
# DATA_DIR = "/var/lib/open-webui"; # System-wide writable dir
|
||||||
|
# OLLAMA_API_BASE_URL = "http://127.0.0.1:11434";
|
||||||
|
#};
|
||||||
|
#openFirewall = true;
|
||||||
|
};
|
||||||
|
|
||||||
fprintd.enable = true;
|
fprintd.enable = true;
|
||||||
fprintd.tod.enable = true;
|
fprintd.tod.enable = true;
|
||||||
fprintd.tod.driver = pkgs.libfprint-2-tod1-goodix;
|
fprintd.tod.driver = pkgs.libfprint-2-tod1-goodix;
|
||||||
|
|
||||||
fwupd.enable = true; #Allows BIOS updates
|
fwupd.enable = true; #Allows BIOS updates
|
||||||
|
|
||||||
locate = {
|
locate = {
|
||||||
enable = true;
|
enable = true;
|
||||||
@ -134,11 +153,36 @@
|
|||||||
enable = true;
|
enable = true;
|
||||||
useRoutingFeatures = "client";
|
useRoutingFeatures = "client";
|
||||||
extraSetFlags = [
|
extraSetFlags = [
|
||||||
"--operator=${username}"
|
"--operator=${username}"
|
||||||
"--accept-routes"
|
"--accept-routes"
|
||||||
];
|
];
|
||||||
};
|
};
|
||||||
|
|
||||||
|
# security.rtkit.enable = true;
|
||||||
|
pipewire = {
|
||||||
|
enable = true;
|
||||||
|
alsa.enable = true;
|
||||||
|
pulse.enable = true;
|
||||||
|
#jack.enable = true;
|
||||||
|
};
|
||||||
|
|
||||||
|
pipewire.wireplumber = {
|
||||||
|
enable = true;
|
||||||
|
extraConfig = {
|
||||||
|
"10-bluez-monitor.properties" = {
|
||||||
|
"bluez5.msbc-support" = false;
|
||||||
|
"bluez5.hfphsp-support" = false;
|
||||||
|
"bluez5.hfphsp-backend" = "none"; # Key addition: no backend
|
||||||
|
"bluez5.roles" = ["a2dp_sink"];
|
||||||
|
};
|
||||||
|
"11-bluetooth-policy" = {
|
||||||
|
"wireplumber.settings" = {
|
||||||
|
"bluetooth.autoswitch-to-headset-profile" = false;
|
||||||
|
};
|
||||||
|
};
|
||||||
|
};
|
||||||
|
};
|
||||||
|
|
||||||
#Enable CUPS to print documents.
|
#Enable CUPS to print documents.
|
||||||
printing.enable = true;
|
printing.enable = true;
|
||||||
|
|
||||||
@ -146,6 +190,11 @@
|
|||||||
openssh.enable = true;
|
openssh.enable = true;
|
||||||
};
|
};
|
||||||
|
|
||||||
|
systemd.services.fprintd = {
|
||||||
|
wantedBy = ["multi-user.target"];
|
||||||
|
serviceConfig.Type = "simple";
|
||||||
|
};
|
||||||
|
|
||||||
fonts = {
|
fonts = {
|
||||||
packages = with pkgs; [
|
packages = with pkgs; [
|
||||||
font-awesome
|
font-awesome
|
||||||
@ -153,7 +202,7 @@
|
|||||||
meslo-lgs-nf
|
meslo-lgs-nf
|
||||||
noto-fonts
|
noto-fonts
|
||||||
noto-fonts-cjk-sans
|
noto-fonts-cjk-sans
|
||||||
noto-fonts-emoji
|
noto-fonts-color-emoji
|
||||||
inter
|
inter
|
||||||
];
|
];
|
||||||
|
|
||||||
@ -161,125 +210,126 @@
|
|||||||
enable = true;
|
enable = true;
|
||||||
|
|
||||||
defaultFonts = {
|
defaultFonts = {
|
||||||
monospace = [ "JetBrainsMono Nerd Font" "MesloLGS NF" ];
|
monospace = ["JetBrainsMono Nerd Font" "MesloLGS NF"];
|
||||||
sansSerif = [ "Inter" "Noto Sans" ];
|
sansSerif = ["Inter" "Noto Sans"];
|
||||||
serif = [ "Noto Serif" ];
|
serif = ["Noto Serif"];
|
||||||
};
|
};
|
||||||
};
|
};
|
||||||
};
|
};
|
||||||
|
|
||||||
|
programs = {
|
||||||
|
steam.enable = true;
|
||||||
|
|
||||||
#In order for dynamically linked executables to work
|
ssh.askPassword = lib.mkForce "${pkgs.kdePackages.ksshaskpass}/bin/ksshaskpass";
|
||||||
programs.nix-ld.enable = true;
|
|
||||||
|
|
||||||
programs.ssh.askPassword = lib.mkForce "${pkgs.kdePackages.ksshaskpass}/bin/ksshaskpass";
|
#In order for dynamically linked executables to work
|
||||||
|
nix-ld.enable = true;
|
||||||
programs.steam.enable = true;
|
};
|
||||||
|
|
||||||
# Configure console keymap
|
# Configure console keymap
|
||||||
console.keyMap = "de";
|
console.keyMap = "de";
|
||||||
|
|
||||||
hardware.enableRedistributableFirmware = true;
|
hardware = {
|
||||||
#Enables proprietary, redistributable firmware so hardware devices function properly
|
#Enables proprietary, redistributable firmware so hardware devices function properly
|
||||||
|
enableRedistributableFirmware = true;
|
||||||
|
|
||||||
hardware.graphics = {
|
graphics = {
|
||||||
enable = true;
|
enable = true;
|
||||||
# Mesa should be enabled by default for Vulkan, but you can be explicit
|
# Mesa should be enabled by default for Vulkan, but you can be explicit
|
||||||
enable32Bit = true; # For 32-bit applications
|
enable32Bit = true; # For 32-bit applications
|
||||||
};
|
extraPackages = with pkgs; [
|
||||||
|
rocmPackages.clr.icd
|
||||||
|
rocmPackages.rocm-smi
|
||||||
|
];
|
||||||
|
};
|
||||||
|
|
||||||
hardware.cpu.amd.updateMicrocode = true;
|
cpu.amd.updateMicrocode = true;
|
||||||
|
|
||||||
hardware.bluetooth = {
|
amdgpu.opencl.enable = true;
|
||||||
enable = true;
|
|
||||||
powerOnBoot = true;
|
bluetooth = {
|
||||||
settings = {
|
enable = true;
|
||||||
General = {
|
powerOnBoot = true;
|
||||||
# Shows battery charge of connected devices on supported
|
settings = {
|
||||||
# Bluetooth adapters. Defaults to 'false'.
|
General = {
|
||||||
Experimental = true;
|
# Shows battery charge of connected devices on supported
|
||||||
# When enabled other devices can connect faster to us, however
|
# Bluetooth adapters. Defaults to 'false'.
|
||||||
# the tradeoff is increased power consumption. Defaults to
|
Experimental = true;
|
||||||
# 'false'.
|
# When enabled other devices can connect faster to us, however
|
||||||
FastConnectable = true;
|
# the tradeoff is increased power consumption. Defaults to
|
||||||
};
|
# 'false'.
|
||||||
Policy = {
|
FastConnectable = true;
|
||||||
# Enable all controllers when they are found. This includes
|
};
|
||||||
# adapters present on start as well as adapters that are plugged
|
Policy = {
|
||||||
# in later on. Defaults to 'true'.
|
# Enable all controllers when they are found. This includes
|
||||||
AutoEnable = true;
|
# adapters present on start as well as adapters that are plugged
|
||||||
|
# in later on. Defaults to 'true'.
|
||||||
|
AutoEnable = true;
|
||||||
|
};
|
||||||
};
|
};
|
||||||
};
|
};
|
||||||
};
|
};
|
||||||
|
|
||||||
# security.rtkit.enable = true;
|
|
||||||
# services.pipewire = {
|
|
||||||
# enable = true;
|
|
||||||
# alsa.enable = true;
|
|
||||||
# alsa.support32Bit = true;
|
|
||||||
# pulse.enable = true;
|
|
||||||
# # If you want to use JACK applications, uncomment this
|
|
||||||
# #jack.enable = true;
|
|
||||||
#
|
|
||||||
# # use the example session manager (no others are packaged yet so this is enabled by default,
|
|
||||||
# # no need to redefine it in your config for now)
|
|
||||||
# #media-session.enable = true;
|
|
||||||
# };
|
|
||||||
|
|
||||||
# Enable touchpad support (enabled default in most desktopManager).
|
|
||||||
# services.xserver.libinput.enable = true;
|
|
||||||
|
|
||||||
# Define a user account. Don't forget to set a password with ‘passwd’.
|
# Define a user account. Don't forget to set a password with ‘passwd’.
|
||||||
users.users.${username} = {
|
users.users.${username} = {
|
||||||
isNormalUser = true;
|
isNormalUser = true;
|
||||||
description = "Cookiez";
|
description = "Cookiez";
|
||||||
extraGroups = [ "networkmanager" "wheel" "docker" ];
|
extraGroups = ["networkmanager" "wheel" "docker"];
|
||||||
packages = with pkgs; [
|
packages = with pkgs; [
|
||||||
#User Packages Here
|
#User Packages Here
|
||||||
];
|
];
|
||||||
};
|
};
|
||||||
|
|
||||||
virtualisation.docker.enable = true;
|
virtualisation = {
|
||||||
|
docker.enable = true;
|
||||||
|
|
||||||
environment.etc."gitconfig".text = ''
|
#podman = {
|
||||||
[init]
|
# enable = true;
|
||||||
defaultBranch = main
|
# dockerCompat = true;
|
||||||
'';
|
#};
|
||||||
|
|
||||||
|
waydroid.enable = true;
|
||||||
|
};
|
||||||
|
|
||||||
|
environment = {
|
||||||
|
etc."gitconfig".text = ''
|
||||||
|
[init]
|
||||||
|
defaultBranch = main
|
||||||
|
'';
|
||||||
|
|
||||||
|
variables = {
|
||||||
|
EDITOR = "nvim";
|
||||||
|
# XKB_DEFAULT_LAYOUT = "de";
|
||||||
|
};
|
||||||
|
|
||||||
|
sessionVariables = {
|
||||||
|
NIXOS_OZONE_WL = "1"; #For chromium to work under wayland and with virtual Keyboards (Only really needed for virtual keyboards, but doest hurt ...)
|
||||||
|
TERMINAL = "kitty";
|
||||||
|
};
|
||||||
|
};
|
||||||
|
|
||||||
#So no user in the group Wheel has to input the password in order to use sudo
|
#So no user in the group Wheel has to input the password in order to use sudo
|
||||||
security.sudo.wheelNeedsPassword = false;
|
security = {
|
||||||
|
sudo.wheelNeedsPassword = false;
|
||||||
|
|
||||||
|
pam.services = {
|
||||||
|
sddm.fprintAuth = false; #Because of the bug with 30 seconds on sddm login
|
||||||
|
sddm-autologin.fprintAuth = false; #Same as above
|
||||||
|
login.fprintAuth = false;
|
||||||
|
sudo.fprintAuth = false; #Disabled because of security risk: https://nvd.nist.gov/vuln/detail/cve-2024-37408
|
||||||
|
kscreenlocker.fprintAuth = true;
|
||||||
|
polkit-1.fprintAuth = false; #Disabled because of security risk: https://nvd.nist.gov/vuln/detail/cve-2024-37408
|
||||||
|
kde.fprintAuth = false;
|
||||||
|
hyprlock = {};
|
||||||
|
};
|
||||||
|
};
|
||||||
|
|
||||||
#Allow Nix Commands
|
#Allow Nix Commands
|
||||||
nix.settings.experimental-features = [ "nix-command" "flakes" ];
|
nix.settings.experimental-features = ["nix-command" "flakes"];
|
||||||
|
|
||||||
# Allow unfree packages
|
# Allow unfree packages
|
||||||
nixpkgs.config.allowUnfree = true;
|
nixpkgs.config.allowUnfree = true;
|
||||||
|
|
||||||
# Some programs need SUID wrappers, can be configured further or are
|
|
||||||
# started in user sessions.
|
|
||||||
# programs.mtr.enable = true;
|
|
||||||
# programs.gnupg.agent = {
|
|
||||||
# enable = true;
|
|
||||||
# enableSSHSupport = true;
|
|
||||||
# };
|
|
||||||
|
|
||||||
environment.variables = {
|
|
||||||
EDITOR = "nvim";
|
|
||||||
# XKB_DEFAULT_LAYOUT = "de";
|
|
||||||
};
|
|
||||||
|
|
||||||
environment.sessionVariables = {
|
|
||||||
NIXOS_OZONE_WL = "1"; #For chromium to work under wayland and with virtual Keyboards (Only really needed for virtual keyboards, but doest hurt ...)
|
|
||||||
TERMINAL = "kitty";
|
|
||||||
};
|
|
||||||
|
|
||||||
|
|
||||||
# Open ports in the firewall.
|
|
||||||
# networking.firewall.allowedTCPPorts = [ ... ];
|
|
||||||
# networking.firewall.allowedUDPPorts = [ ... ];
|
|
||||||
# Or disable the firewall altogether.
|
|
||||||
# networking.firewall.enable = false;
|
|
||||||
|
|
||||||
# This value determines the NixOS release from which the default
|
# This value determines the NixOS release from which the default
|
||||||
# settings for stateful data, like file locations and database versions
|
# settings for stateful data, like file locations and database versions
|
||||||
# on your system were taken. It‘s perfectly fine and recommended to leave
|
# on your system were taken. It‘s perfectly fine and recommended to leave
|
||||||
|
|||||||
@ -1,17 +1,10 @@
|
|||||||
{ config, ... }:
|
{config, ...}: {
|
||||||
{
|
|
||||||
imports = [
|
imports = [
|
||||||
./configuration.nix
|
./configuration.nix
|
||||||
#./firefox.nix
|
|
||||||
#./boot-splash.nix
|
|
||||||
#./zsh.nix
|
|
||||||
#./neovim.nix
|
|
||||||
#./packages.nix
|
|
||||||
|
|
||||||
#./hardware-configuration.nix
|
#./hardware-configuration.nix
|
||||||
#../plasma/plasma.nix
|
../plasma
|
||||||
#../hyprland/hyprland.nix
|
../niri
|
||||||
#../niri/niri.nix
|
|
||||||
];
|
];
|
||||||
|
|
||||||
specialisation = {
|
specialisation = {
|
||||||
@ -19,50 +12,35 @@
|
|||||||
inheritParentConfig = false;
|
inheritParentConfig = false;
|
||||||
configuration = {
|
configuration = {
|
||||||
imports = [
|
imports = [
|
||||||
../plasma/plasma.nix
|
../plasma
|
||||||
./configuration.nix
|
./configuration.nix
|
||||||
];
|
];
|
||||||
|
|
||||||
programs.gamemode.enable = true;
|
|
||||||
|
|
||||||
environment.etc."nixos-tags".text = "plasma";
|
environment.etc."nixos-tags".text = "plasma";
|
||||||
};
|
};
|
||||||
};
|
};
|
||||||
|
|
||||||
"hyprland" = {
|
# "minimal" = {
|
||||||
inheritParentConfig = false;
|
# inheritParentConfig = false;
|
||||||
configuration = {
|
# configuration = {
|
||||||
imports = [
|
# imports = [
|
||||||
../hyprland/hyprland.nix
|
# ./minimal.nix
|
||||||
./configuration.nix
|
# ];
|
||||||
];
|
#
|
||||||
|
# environment.etc."nixos-tags".text = "minimal";
|
||||||
environment.etc."nixos-tags".text = "hyprland";
|
# };
|
||||||
};
|
# };
|
||||||
};
|
|
||||||
|
|
||||||
"minimal" = {
|
|
||||||
inheritParentConfig = false;
|
|
||||||
configuration = {
|
|
||||||
imports = [
|
|
||||||
./minimal.nix
|
|
||||||
];
|
|
||||||
|
|
||||||
environment.etc."nixos-tags".text = "minimal";
|
|
||||||
};
|
|
||||||
};
|
|
||||||
|
|
||||||
"niri" = {
|
"niri" = {
|
||||||
inheritParentConfig = false;
|
inheritParentConfig = false;
|
||||||
configuration = {
|
configuration = {
|
||||||
imports = [
|
imports = [
|
||||||
../niri/niri.nix
|
../niri
|
||||||
./configuration.nix
|
./configuration.nix
|
||||||
];
|
];
|
||||||
|
|
||||||
environment.etc."nixos-tags".text = "niri";
|
environment.etc."nixos-tags".text = "niri";
|
||||||
};
|
};
|
||||||
};
|
};
|
||||||
|
};
|
||||||
};
|
|
||||||
}
|
}
|
||||||
|
|||||||
@ -1,5 +1,9 @@
|
|||||||
{ pkgs, username, ...}:
|
|
||||||
{
|
{
|
||||||
|
pkgs,
|
||||||
|
username,
|
||||||
|
project,
|
||||||
|
...
|
||||||
|
}: {
|
||||||
xdg = {
|
xdg = {
|
||||||
desktopEntries.youtube = {
|
desktopEntries.youtube = {
|
||||||
name = "YouTube";
|
name = "YouTube";
|
||||||
@ -7,7 +11,7 @@
|
|||||||
terminal = false;
|
terminal = false;
|
||||||
type = "Application";
|
type = "Application";
|
||||||
icon = "applications-multimedia";
|
icon = "applications-multimedia";
|
||||||
categories = [ "AudioVideo" "Player" "Network" ];
|
categories = ["AudioVideo" "Player" "Network"];
|
||||||
};
|
};
|
||||||
|
|
||||||
desktopEntries."org.kde.konsole" = {
|
desktopEntries."org.kde.konsole" = {
|
||||||
@ -15,15 +19,33 @@
|
|||||||
noDisplay = true;
|
noDisplay = true;
|
||||||
};
|
};
|
||||||
|
|
||||||
|
desktopEntries."discord" = {
|
||||||
|
categories = ["Network" "InstantMessaging" "Chat"];
|
||||||
|
exec = "vesktop %U";
|
||||||
|
genericName = "Internet Messenger";
|
||||||
|
icon = "/home/${username}/${project}/other/discord.app.png";
|
||||||
|
name = "Discord";
|
||||||
|
type = "Application";
|
||||||
|
};
|
||||||
|
|
||||||
|
desktopEntries."vesktop" = {
|
||||||
|
noDisplay = true;
|
||||||
|
categories = ["Network" "InstantMessaging" "Chat"];
|
||||||
|
exec = "vesktop %U";
|
||||||
|
genericName = "Internet Messenger";
|
||||||
|
name = "Vesktop";
|
||||||
|
type = "Application";
|
||||||
|
};
|
||||||
|
|
||||||
desktopEntries.kitty = {
|
desktopEntries.kitty = {
|
||||||
name = "kitty";
|
name = "kitty";
|
||||||
genericName = "Terminal emulator";
|
genericName = "Terminal emulator";
|
||||||
comment = "Fast, feature-rich, GPU based terminal";
|
comment = "Fast, feature-rich, GPU based terminal";
|
||||||
exec = "kitty";
|
exec = "kitty";
|
||||||
terminal = false;
|
terminal = false;
|
||||||
categories = [ "System" "TerminalEmulator" ];
|
categories = ["System" "TerminalEmulator"];
|
||||||
|
|
||||||
icon = "/home/${username}/NixOS/other/kitty.app.png";
|
icon = "/home/${username}/${project}/other/kitty.app.png";
|
||||||
};
|
};
|
||||||
|
|
||||||
desktopEntries."org.kde.kinfocenter" = {
|
desktopEntries."org.kde.kinfocenter" = {
|
||||||
@ -62,7 +84,7 @@
|
|||||||
};
|
};
|
||||||
|
|
||||||
desktopEntries."nixos-manual" = {
|
desktopEntries."nixos-manual" = {
|
||||||
name = "NixOS Manual";
|
name = "${project} Manual";
|
||||||
noDisplay = true;
|
noDisplay = true;
|
||||||
};
|
};
|
||||||
|
|
||||||
@ -89,6 +111,5 @@
|
|||||||
name = "Discover";
|
name = "Discover";
|
||||||
noDisplay = true;
|
noDisplay = true;
|
||||||
};
|
};
|
||||||
|
|
||||||
};
|
};
|
||||||
}
|
}
|
||||||
|
|||||||
17
modules/firefox-home.nix
Normal file
17
modules/firefox-home.nix
Normal file
@ -0,0 +1,17 @@
|
|||||||
|
{username, ...}: {
|
||||||
|
programs.firefox = {
|
||||||
|
enable = true;
|
||||||
|
profiles = {
|
||||||
|
"${username}" = {
|
||||||
|
extensions.force = true;
|
||||||
|
};
|
||||||
|
};
|
||||||
|
};
|
||||||
|
|
||||||
|
systemd.user.services."firefox-autostart" = {
|
||||||
|
serviceConfig = {
|
||||||
|
ExecStart = "";
|
||||||
|
ExecStop = "";
|
||||||
|
};
|
||||||
|
};
|
||||||
|
}
|
||||||
@ -1,30 +1,36 @@
|
|||||||
{ config, pkgs, ... }:
|
|
||||||
|
|
||||||
let
|
|
||||||
lock-false = {
|
|
||||||
Value = false;
|
|
||||||
Status = "locked";
|
|
||||||
};
|
|
||||||
lock-true = {
|
|
||||||
Value = true;
|
|
||||||
Status = "locked";
|
|
||||||
};
|
|
||||||
in
|
|
||||||
|
|
||||||
{
|
{
|
||||||
|
config,
|
||||||
|
pkgs,
|
||||||
|
...
|
||||||
|
}: let
|
||||||
|
lock-false = {
|
||||||
|
Value = false;
|
||||||
|
Status = "locked";
|
||||||
|
};
|
||||||
|
lock-true = {
|
||||||
|
Value = true;
|
||||||
|
Status = "locked";
|
||||||
|
};
|
||||||
|
in {
|
||||||
|
home-manager.sharedModules = [
|
||||||
|
./firefox-home.nix
|
||||||
|
];
|
||||||
|
|
||||||
programs = {
|
programs = {
|
||||||
firefox = {
|
firefox = {
|
||||||
enable = true;
|
enable = true;
|
||||||
languagePacks = [ "de" "en-US" ];
|
languagePacks = ["de" "en-US"];
|
||||||
|
|
||||||
/* ---- POLICIES ---- */
|
/*
|
||||||
|
---- POLICIES ----
|
||||||
|
*/
|
||||||
# Check about:policies#documentation for options.
|
# Check about:policies#documentation for options.
|
||||||
policies = {
|
policies = {
|
||||||
PasswordManagerEnabled = false;
|
PasswordManagerEnabled = false;
|
||||||
DisableTelemetry = true;
|
DisableTelemetry = true;
|
||||||
DisableFirefoxStudies = true;
|
DisableFirefoxStudies = true;
|
||||||
EnableTrackingProtection = {
|
EnableTrackingProtection = {
|
||||||
Value= true;
|
Value = true;
|
||||||
Locked = true;
|
Locked = true;
|
||||||
Cryptomining = true;
|
Cryptomining = true;
|
||||||
Fingerprinting = true;
|
Fingerprinting = true;
|
||||||
@ -40,23 +46,23 @@
|
|||||||
DisplayMenuBar = "default-off"; # alternatives: "always", "never" or "default-on"
|
DisplayMenuBar = "default-off"; # alternatives: "always", "never" or "default-on"
|
||||||
SearchBar = "unified"; # alternative: "separate"
|
SearchBar = "unified"; # alternative: "separate"
|
||||||
|
|
||||||
/* ---- EXTENSIONS ---- */
|
/*
|
||||||
|
---- EXTENSIONS ----
|
||||||
|
*/
|
||||||
# Check about:support for extension/add-on ID strings.
|
# Check about:support for extension/add-on ID strings.
|
||||||
# Valid strings for installation_mode are "allowed", "blocked",
|
# Valid strings for installation_mode are "allowed", "blocked",
|
||||||
# "force_installed" and "normal_installed".
|
# "force_installed" and "normal_installed".
|
||||||
|
|
||||||
# How to: https://discourse.nixos.org/t/declare-firefox-extensions-and-settings/36265
|
# How to: https://discourse.nixos.org/t/declare-firefox-extensions-and-settings/36265
|
||||||
ExtensionSettings =
|
ExtensionSettings = with builtins; let
|
||||||
with builtins;
|
extension = shortId: uuid: {
|
||||||
let
|
name = uuid;
|
||||||
extension = shortId: uuid: {
|
value = {
|
||||||
name = uuid;
|
install_url = "https://addons.mozilla.org/en-US/firefox/downloads/latest/${shortId}/latest.xpi";
|
||||||
value = {
|
installation_mode = "normal_installed";
|
||||||
install_url = "https://addons.mozilla.org/en-US/firefox/downloads/latest/${shortId}/latest.xpi";
|
|
||||||
installation_mode = "normal_installed";
|
|
||||||
};
|
|
||||||
};
|
};
|
||||||
in
|
};
|
||||||
|
in
|
||||||
listToAttrs [
|
listToAttrs [
|
||||||
(extension "ublock-origin" "uBlock0@raymondhill.net")
|
(extension "ublock-origin" "uBlock0@raymondhill.net")
|
||||||
(extension "bitwarden-password-manager" "{446900e4-71c2-419f-a6a7-df9c091e268b}")
|
(extension "bitwarden-password-manager" "{446900e4-71c2-419f-a6a7-df9c091e268b}")
|
||||||
@ -70,12 +76,18 @@
|
|||||||
#(extension "react-devtools" "@react-devtools")
|
#(extension "react-devtools" "@react-devtools")
|
||||||
(extension "keepa" "amptra@keepa.com")
|
(extension "keepa" "amptra@keepa.com")
|
||||||
(extension "redditUntranslate" "reddit-url-redirector@kichkoupi.com")
|
(extension "redditUntranslate" "reddit-url-redirector@kichkoupi.com")
|
||||||
|
(extension "darkreader" "addon@darkreader.org")
|
||||||
];
|
];
|
||||||
|
|
||||||
/* ---- PREFERENCES ---- */
|
/*
|
||||||
|
---- PREFERENCES ----
|
||||||
|
*/
|
||||||
# Check about:config for options.
|
# Check about:config for options.
|
||||||
Preferences = {
|
Preferences = {
|
||||||
"browser.contentblocking.category" = { Value = "strict"; Status = "locked"; };
|
"browser.contentblocking.category" = {
|
||||||
|
Value = "strict";
|
||||||
|
Status = "locked";
|
||||||
|
};
|
||||||
"extensions.pocket.enabled" = lock-false;
|
"extensions.pocket.enabled" = lock-false;
|
||||||
"extensions.screenshots.disabled" = lock-true;
|
"extensions.screenshots.disabled" = lock-true;
|
||||||
"browser.topsites.contile.enabled" = lock-false;
|
"browser.topsites.contile.enabled" = lock-false;
|
||||||
|
|||||||
@ -1,30 +1,34 @@
|
|||||||
# Do not modify this file! It was generated by ‘nixos-generate-config’
|
# Do not modify this file! It was generated by ‘nixos-generate-config’
|
||||||
# and may be overwritten by future invocations. Please make changes
|
# and may be overwritten by future invocations. Please make changes
|
||||||
# to /etc/nixos/configuration.nix instead.
|
# to /etc/nixos/configuration.nix instead.
|
||||||
{ config, lib, pkgs, modulesPath, ... }:
|
|
||||||
|
|
||||||
{
|
{
|
||||||
imports =
|
config,
|
||||||
[ (modulesPath + "/installer/scan/not-detected.nix")
|
lib,
|
||||||
];
|
pkgs,
|
||||||
|
modulesPath,
|
||||||
|
...
|
||||||
|
}: {
|
||||||
|
imports = [
|
||||||
|
(modulesPath + "/installer/scan/not-detected.nix")
|
||||||
|
];
|
||||||
|
|
||||||
boot.initrd.availableKernelModules = [ "nvme" "xhci_pci" "thunderbolt" "uas" "usbhid" "sd_mod" ];
|
boot.initrd.availableKernelModules = ["nvme" "xhci_pci" "thunderbolt" "uas" "usbhid" "sd_mod"];
|
||||||
boot.initrd.kernelModules = [ ];
|
boot.initrd.kernelModules = [];
|
||||||
boot.kernelModules = [ "kvm-amd" ];
|
boot.kernelModules = ["kvm-amd"];
|
||||||
boot.extraModulePackages = [ ];
|
boot.extraModulePackages = [];
|
||||||
|
|
||||||
fileSystems."/" =
|
fileSystems."/" = {
|
||||||
{ device = "/dev/disk/by-uuid/af8fdb25-74d8-4b33-8413-bdcb66e0d22a";
|
device = "/dev/disk/by-uuid/af8fdb25-74d8-4b33-8413-bdcb66e0d22a";
|
||||||
fsType = "ext4";
|
fsType = "ext4";
|
||||||
};
|
};
|
||||||
|
|
||||||
fileSystems."/boot" =
|
fileSystems."/boot" = {
|
||||||
{ device = "/dev/disk/by-uuid/58D5-0C06";
|
device = "/dev/disk/by-uuid/58D5-0C06";
|
||||||
fsType = "vfat";
|
fsType = "vfat";
|
||||||
options = [ "fmask=0077" "dmask=0077" ];
|
options = ["fmask=0077" "dmask=0077"];
|
||||||
};
|
};
|
||||||
|
|
||||||
swapDevices = [ ];
|
swapDevices = [];
|
||||||
|
|
||||||
# Enables DHCP on each ethernet and wireless interface. In case of scripted networking
|
# Enables DHCP on each ethernet and wireless interface. In case of scripted networking
|
||||||
# (the default) this is the recommended approach. When using systemd-networkd it's
|
# (the default) this is the recommended approach. When using systemd-networkd it's
|
||||||
|
|||||||
@ -1,11 +1,30 @@
|
|||||||
{ lib, inputs, config, pkgs, username, host, version, ... }:
|
|
||||||
{
|
{
|
||||||
|
lib,
|
||||||
|
inputs,
|
||||||
|
config,
|
||||||
|
pkgs,
|
||||||
|
username,
|
||||||
|
project,
|
||||||
|
host,
|
||||||
|
version,
|
||||||
|
...
|
||||||
|
}: {
|
||||||
# Home Manager needs a bit of information about you and the
|
# Home Manager needs a bit of information about you and the
|
||||||
# paths it should manage.
|
# paths it should manage.
|
||||||
home.username = username;
|
home.username = username;
|
||||||
home.homeDirectory = "/home/${username}";
|
home.homeDirectory = "/home/${username}";
|
||||||
home.packages = [
|
home.packages = [
|
||||||
(import ./ncli.nix { inherit pkgs host; backupFiles = [ ".config/mimeapps.list.backup" ]; })
|
(import ./ncli.nix {
|
||||||
|
inherit pkgs host project;
|
||||||
|
backupFiles = [
|
||||||
|
".gtkrc-2.0.backup"
|
||||||
|
".config/gtk-3.0/gtk.css.backup"
|
||||||
|
".config/gtk-3.0/settings.ini.backup"
|
||||||
|
".config/gtk-4.0/gtk.css.backup"
|
||||||
|
".config/gtk-4.0/settings.ini.backup"
|
||||||
|
".config/niri/config.kdl"
|
||||||
|
];
|
||||||
|
})
|
||||||
];
|
];
|
||||||
|
|
||||||
imports = [
|
imports = [
|
||||||
@ -28,8 +47,15 @@
|
|||||||
|
|
||||||
# Let Home Manager install and manage itself.
|
# Let Home Manager install and manage itself.
|
||||||
programs = {
|
programs = {
|
||||||
home-manager = { enable = true; };
|
home-manager = {enable = true;};
|
||||||
|
|
||||||
|
zoxide = {
|
||||||
|
enable = true;
|
||||||
|
#enableZshIntegration = true;
|
||||||
|
#options = [
|
||||||
|
# "--cmd cd"
|
||||||
|
#];
|
||||||
|
};
|
||||||
|
|
||||||
kitty = {
|
kitty = {
|
||||||
enable = true;
|
enable = true;
|
||||||
@ -41,21 +67,21 @@
|
|||||||
};
|
};
|
||||||
};
|
};
|
||||||
|
|
||||||
|
git = {
|
||||||
|
enable = true;
|
||||||
|
settings = {
|
||||||
|
user = {
|
||||||
|
name = "Cookiez";
|
||||||
|
email = "jaden-puerkenauer@web.de";
|
||||||
|
init.defaultBranch = "main";
|
||||||
|
credentials.helper = "store";
|
||||||
|
};
|
||||||
|
};
|
||||||
|
};
|
||||||
|
|
||||||
git = {
|
zen-browser = {
|
||||||
enable = true;
|
enable = false;
|
||||||
userName = "Cookiez";
|
#package = inputs.zen-browser.packages.${pkgs.system}.default;
|
||||||
userEmail = "jaden-puerkenauer@web.de";
|
|
||||||
|
|
||||||
extraConfig = {
|
|
||||||
init.defaultBranch = "main";
|
|
||||||
credentials.helper = "store";
|
|
||||||
};
|
|
||||||
};
|
|
||||||
|
|
||||||
zen-browser = {
|
|
||||||
enable = true;
|
|
||||||
#package = inputs.zen-browser.packages.${pkgs.system}.default;
|
|
||||||
profiles = {
|
profiles = {
|
||||||
${username} = {
|
${username} = {
|
||||||
id = 0;
|
id = 0;
|
||||||
@ -64,7 +90,6 @@
|
|||||||
path = "${username}.default";
|
path = "${username}.default";
|
||||||
isDefault = true;
|
isDefault = true;
|
||||||
settings = {
|
settings = {
|
||||||
|
|
||||||
};
|
};
|
||||||
};
|
};
|
||||||
};
|
};
|
||||||
@ -85,17 +110,15 @@
|
|||||||
OfferToSaveLogins = false;
|
OfferToSaveLogins = false;
|
||||||
DisplayBookmarksToolbar = "always"; # alternatives: "always" or "newtab"
|
DisplayBookmarksToolbar = "always"; # alternatives: "always" or "newtab"
|
||||||
|
|
||||||
ExtensionSettings =
|
ExtensionSettings = with builtins; let
|
||||||
with builtins;
|
extension = shortId: uuid: {
|
||||||
let
|
name = uuid;
|
||||||
extension = shortId: uuid: {
|
value = {
|
||||||
name = uuid;
|
install_url = "https://addons.mozilla.org/en-US/firefox/downloads/latest/${shortId}/latest.xpi";
|
||||||
value = {
|
installation_mode = "force_installed";
|
||||||
install_url = "https://addons.mozilla.org/en-US/firefox/downloads/latest/${shortId}/latest.xpi";
|
|
||||||
installation_mode = "force_installed";
|
|
||||||
};
|
|
||||||
};
|
};
|
||||||
in
|
};
|
||||||
|
in
|
||||||
listToAttrs [
|
listToAttrs [
|
||||||
(extension "ublock-origin" "uBlock0@raymondhill.net")
|
(extension "ublock-origin" "uBlock0@raymondhill.net")
|
||||||
(extension "bitwarden-password-manager" "{446900e4-71c2-419f-a6a7-df9c091e268b}")
|
(extension "bitwarden-password-manager" "{446900e4-71c2-419f-a6a7-df9c091e268b}")
|
||||||
@ -116,11 +139,11 @@
|
|||||||
# run `jq .browser_specific_settings.gecko.id manifest.json` or
|
# run `jq .browser_specific_settings.gecko.id manifest.json` or
|
||||||
# `jq .applications.gecko.id manifest.json` to get the UUID
|
# `jq .applications.gecko.id manifest.json` to get the UUID
|
||||||
Preferences = {
|
Preferences = {
|
||||||
#"browser.contentblocking.category" = { Value = "strict"; Status = "locked"; };
|
#"browser.contentblocking.category" = { Value = "strict"; Status = "locked"; };
|
||||||
"browser.urlbar.showSearchSuggestionsFirst" = false;
|
"browser.urlbar.showSearchSuggestionsFirst" = false;
|
||||||
"browser.sessionstore.resume_session_once" = false;
|
"browser.sessionstore.resume_session_once" = false;
|
||||||
};
|
};
|
||||||
};
|
};
|
||||||
};
|
};
|
||||||
}; #End of programs = {};
|
}; #End of programs = {};
|
||||||
}
|
}
|
||||||
|
|||||||
@ -1,5 +1,9 @@
|
|||||||
{ config, inputs, pkgs, ... }:
|
|
||||||
{
|
{
|
||||||
|
config,
|
||||||
|
inputs,
|
||||||
|
pkgs,
|
||||||
|
...
|
||||||
|
}: {
|
||||||
imports = [
|
imports = [
|
||||||
];
|
];
|
||||||
|
|
||||||
@ -7,7 +11,7 @@
|
|||||||
./home.nix
|
./home.nix
|
||||||
];
|
];
|
||||||
|
|
||||||
environment.systemPackages = with pkgs;
|
environment.systemPackages = with pkgs; [
|
||||||
[
|
hyprlock
|
||||||
];
|
];
|
||||||
}
|
}
|
||||||
|
|||||||
@ -1,10 +1,13 @@
|
|||||||
{pkgs, inputs, username, ...}:
|
|
||||||
{
|
{
|
||||||
|
pkgs,
|
||||||
|
inputs,
|
||||||
|
username,
|
||||||
|
...
|
||||||
|
}: {
|
||||||
imports = [
|
imports = [
|
||||||
];
|
];
|
||||||
|
|
||||||
programs = {
|
programs = {
|
||||||
hyprlock.enable = true;
|
hyprlock.enable = true;
|
||||||
};
|
};
|
||||||
}
|
}
|
||||||
|
|||||||
@ -1,5 +1,9 @@
|
|||||||
{ config, inputs, pkgs, ... }:
|
|
||||||
{
|
{
|
||||||
|
config,
|
||||||
|
inputs,
|
||||||
|
pkgs,
|
||||||
|
...
|
||||||
|
}: {
|
||||||
imports = [
|
imports = [
|
||||||
];
|
];
|
||||||
|
|
||||||
@ -7,7 +11,7 @@
|
|||||||
./home.nix
|
./home.nix
|
||||||
];
|
];
|
||||||
|
|
||||||
environment.systemPackages = with pkgs;
|
environment.systemPackages = with pkgs; [
|
||||||
[
|
hyprpaper
|
||||||
];
|
];
|
||||||
}
|
}
|
||||||
|
|||||||
@ -1,20 +1,30 @@
|
|||||||
{pkgs, inputs, username, ...}:
|
|
||||||
{
|
{
|
||||||
|
pkgs,
|
||||||
|
inputs,
|
||||||
|
username,
|
||||||
|
project,
|
||||||
|
...
|
||||||
|
}: {
|
||||||
imports = [
|
imports = [
|
||||||
];
|
];
|
||||||
|
|
||||||
services = {
|
services = {
|
||||||
hyprpaper = {
|
hyprpaper = {
|
||||||
enable = true;
|
enable = false;
|
||||||
|
|
||||||
settings = {
|
settings = {
|
||||||
preload = [
|
preload = [
|
||||||
"/home/${username}/NixOS/other/wallpaper2.png"
|
#"/home/${username}/${project}/other/wallpaper1.png"
|
||||||
|
#"/home/${username}/${project}/other/wallpaper2.png"
|
||||||
|
#"/home/${username}/${project}/other/wallpaper3.png"
|
||||||
|
"/home/${username}/${project}/other/wallpaper4.png"
|
||||||
];
|
];
|
||||||
|
|
||||||
wallpaper = [
|
wallpaper = [
|
||||||
"eDP-1,/home/${username}/NixOS/other/wallpaper2.png"
|
#"eDP-1,/home/${username}/${project}/other/wallpaper1.png"
|
||||||
|
#"eDP-1,/home/${username}/${project}/other/wallpaper2.png"
|
||||||
|
#"eDP-1,/home/${username}/${project}/other/wallpaper3.png"
|
||||||
|
"eDP-1,/home/${username}/${project}/other/wallpaper4.png"
|
||||||
];
|
];
|
||||||
};
|
};
|
||||||
};
|
};
|
||||||
|
|||||||
@ -3,17 +3,21 @@
|
|||||||
#nmcli device wifi connect <ssid> password <password>
|
#nmcli device wifi connect <ssid> password <password>
|
||||||
# or if no password (open wifi)
|
# or if no password (open wifi)
|
||||||
#nmcli device wifi connect <ssid>
|
#nmcli device wifi connect <ssid>
|
||||||
|
|
||||||
{ config, pkgs, lib, username, version, ... }:
|
|
||||||
{
|
{
|
||||||
imports =
|
config,
|
||||||
[
|
pkgs,
|
||||||
./hardware-configuration.nix
|
lib,
|
||||||
./zsh.nix
|
username,
|
||||||
#./ncli.nix
|
version,
|
||||||
#./neovim.nix
|
...
|
||||||
./packages.nix
|
}: {
|
||||||
];
|
imports = [
|
||||||
|
./hardware-configuration.nix
|
||||||
|
./zsh.nix
|
||||||
|
#./ncli.nix
|
||||||
|
#./neovim.nix
|
||||||
|
./packages.nix
|
||||||
|
];
|
||||||
|
|
||||||
#networking.hostName = "nixos";
|
#networking.hostName = "nixos";
|
||||||
# Define your hostname.
|
# Define your hostname.
|
||||||
@ -51,7 +55,7 @@
|
|||||||
users.users.cookiez = {
|
users.users.cookiez = {
|
||||||
isNormalUser = true;
|
isNormalUser = true;
|
||||||
description = "Cookiez";
|
description = "Cookiez";
|
||||||
extraGroups = [ "networkmanager" "wheel" "docker" ];
|
extraGroups = ["networkmanager" "wheel" "docker"];
|
||||||
packages = with pkgs; [
|
packages = with pkgs; [
|
||||||
#User Packages Here
|
#User Packages Here
|
||||||
];
|
];
|
||||||
@ -63,18 +67,18 @@
|
|||||||
security.sudo.wheelNeedsPassword = false;
|
security.sudo.wheelNeedsPassword = false;
|
||||||
|
|
||||||
#Allow Nix Commands
|
#Allow Nix Commands
|
||||||
nix.settings.experimental-features = [ "nix-command" "flakes" ];
|
nix.settings.experimental-features = ["nix-command" "flakes"];
|
||||||
|
|
||||||
# Allow unfree packages
|
# Allow unfree packages
|
||||||
nixpkgs.config.allowUnfree = true;
|
nixpkgs.config.allowUnfree = true;
|
||||||
|
|
||||||
environment.variables = {
|
environment.variables = {
|
||||||
EDITOR = "nvim";
|
EDITOR = "nvim";
|
||||||
# XKB_DEFAULT_LAYOUT = "de";
|
# XKB_DEFAULT_LAYOUT = "de";
|
||||||
};
|
};
|
||||||
|
|
||||||
environment.sessionVariables = {
|
environment.sessionVariables = {
|
||||||
NIXOS_OZONE_WL = "1"; #For chromium to work under wayland and with virtual Keyboards (Only really needed for virtual keyboards, but doest hurt ...)
|
NIXOS_OZONE_WL = "1"; #For chromium to work under wayland and with virtual Keyboards (Only really needed for virtual keyboards, but doest hurt ...)
|
||||||
TERMINAL = "kitty";
|
TERMINAL = "kitty";
|
||||||
};
|
};
|
||||||
|
|
||||||
|
|||||||
@ -2,6 +2,7 @@
|
|||||||
pkgs,
|
pkgs,
|
||||||
host,
|
host,
|
||||||
backupFiles ? [".config/mimeapps.list.backup"],
|
backupFiles ? [".config/mimeapps.list.backup"],
|
||||||
|
project,
|
||||||
...
|
...
|
||||||
}: let
|
}: let
|
||||||
backupFilesString = pkgs.lib.strings.concatStringsSep " " backupFiles;
|
backupFilesString = pkgs.lib.strings.concatStringsSep " " backupFiles;
|
||||||
@ -11,7 +12,7 @@ in
|
|||||||
set -euo pipefail
|
set -euo pipefail
|
||||||
|
|
||||||
# --- Configuration ---
|
# --- Configuration ---
|
||||||
PROJECT="NixOS"
|
PROJECT="${project}"
|
||||||
HOST="${host}"
|
HOST="${host}"
|
||||||
BACKUP_FILES_STR="${backupFilesString}"
|
BACKUP_FILES_STR="${backupFilesString}"
|
||||||
VERSION="2.0.0"
|
VERSION="2.0.0"
|
||||||
@ -19,6 +20,9 @@ in
|
|||||||
|
|
||||||
read -r -a BACKUP_FILES <<< "$BACKUP_FILES_STR"
|
read -r -a BACKUP_FILES <<< "$BACKUP_FILES_STR"
|
||||||
|
|
||||||
|
# --- Read Colors file ---
|
||||||
|
source /$HOME/$PROJECT/other/colors.sh
|
||||||
|
|
||||||
# --- Helper Functions ---
|
# --- Helper Functions ---
|
||||||
print_help() {
|
print_help() {
|
||||||
echo "NixOS CLI Utility -- version $VERSION"
|
echo "NixOS CLI Utility -- version $VERSION"
|
||||||
@ -126,7 +130,7 @@ in
|
|||||||
rebuild)
|
rebuild)
|
||||||
handle_backups
|
handle_backups
|
||||||
geno=$(sudo nix-env --list-generations --profile /nix/var/nix/profiles/system | grep current | awk '{print $1}')
|
geno=$(sudo nix-env --list-generations --profile /nix/var/nix/profiles/system | grep current | awk '{print $1}')
|
||||||
echo "Starting NixOS rebuild for current host: $HOST on generation: $geno"
|
echo -e "Starting NixOS rebuild for current host: $HOST on generation: $YELLOW$geno$NOCOLOR"
|
||||||
cd "$HOME/$PROJECT" || { echo "Error: Could not change to $HOME/$PROJECT"; exit 1; }
|
cd "$HOME/$PROJECT" || { echo "Error: Could not change to $HOME/$PROJECT"; exit 1; }
|
||||||
|
|
||||||
current=""
|
current=""
|
||||||
@ -144,7 +148,7 @@ in
|
|||||||
fi
|
fi
|
||||||
|
|
||||||
genn=$(sudo nix-env --list-generations --profile /nix/var/nix/profiles/system | grep current | awk '{print $1}')
|
genn=$(sudo nix-env --list-generations --profile /nix/var/nix/profiles/system | grep current | awk '{print $1}')
|
||||||
echo "Running on new generation: $geno -> $genn"
|
echo -e "Running on new generation: $YELLOW $geno $NOCOLOR-> $GREEN$genn$NOCOLOR"
|
||||||
|
|
||||||
else
|
else
|
||||||
echo "✗ Rebuild failed for $HOST" >&2
|
echo "✗ Rebuild failed for $HOST" >&2
|
||||||
@ -154,16 +158,67 @@ in
|
|||||||
update)
|
update)
|
||||||
handle_backups
|
handle_backups
|
||||||
geno=$(sudo nix-env --list-generations --profile /nix/var/nix/profiles/system | grep current | awk '{print $1}')
|
geno=$(sudo nix-env --list-generations --profile /nix/var/nix/profiles/system | grep current | awk '{print $1}')
|
||||||
echo "Updating flake and rebuilding system for current host: $HOST on generation: $geno"
|
echo -e "Updating flake and rebuilding system for current host: $HOST on generation: $YELLOW$geno$NOCOLOR"
|
||||||
cd "$HOME/$PROJECT" || { echo "Error: Could not change to $HOME/$PROJECT"; exit 1; }
|
cd "$HOME/$PROJECT" || { echo "Error: Could not change to $HOME/$PROJECT"; exit 1; }
|
||||||
|
|
||||||
echo "Updating flake..."
|
# --- Selective flake update ---
|
||||||
if nix flake update; then
|
read -rp "Update [a]ll inputs or [s]elect manually? (a/s): " choice
|
||||||
echo "✓ Flake updated successfully"
|
|
||||||
else
|
case "$choice" in
|
||||||
echo "✗ Flake update failed" >&2
|
a|A)
|
||||||
exit 1
|
echo "Updating all inputs..."
|
||||||
fi
|
if nix flake update --flake .; then
|
||||||
|
echo "✓ Flake updated successfully"
|
||||||
|
else
|
||||||
|
echo "✗ Flake update failed" >&2
|
||||||
|
exit 1
|
||||||
|
fi
|
||||||
|
;;
|
||||||
|
s|S)
|
||||||
|
echo "Fetching available updates (this may take a moment)..."
|
||||||
|
TEMP_LOCK=$(mktemp)
|
||||||
|
trap 'rm -f "$TEMP_LOCK"' EXIT
|
||||||
|
|
||||||
|
nix flake update --output-lock-file "$TEMP_LOCK" --flake . 2>/dev/null
|
||||||
|
|
||||||
|
outdated=$(jq -r --slurpfile new "$TEMP_LOCK" '
|
||||||
|
.nodes as $old |
|
||||||
|
$new[0].nodes as $newn |
|
||||||
|
($old | keys[]) |
|
||||||
|
select(. != "root") |
|
||||||
|
select(
|
||||||
|
($old[.].locked.lastModified // 0) !=
|
||||||
|
($newn[.].locked.lastModified // 0)
|
||||||
|
)
|
||||||
|
' flake.lock)
|
||||||
|
|
||||||
|
if [[ -z "$outdated" ]]; then
|
||||||
|
echo "✓ All inputs are already up to date, skipping flake update."
|
||||||
|
else
|
||||||
|
echo
|
||||||
|
echo "Updates available for:"
|
||||||
|
printf '%s\n' "$outdated"
|
||||||
|
echo
|
||||||
|
echo "Tab to select, Enter to update, Esc to cancel."
|
||||||
|
selected=$(printf '%s\n' "$outdated" | fzf --multi) || {
|
||||||
|
echo "No inputs selected, skipping flake update."
|
||||||
|
selected=""
|
||||||
|
}
|
||||||
|
if [[ -n "$selected" ]]; then
|
||||||
|
if nix flake update --flake . $selected; then
|
||||||
|
echo "✓ Flake updated successfully"
|
||||||
|
else
|
||||||
|
echo "✗ Flake update failed" >&2
|
||||||
|
exit 1
|
||||||
|
fi
|
||||||
|
fi
|
||||||
|
fi
|
||||||
|
;;
|
||||||
|
*)
|
||||||
|
echo "Invalid choice, skipping flake update."
|
||||||
|
;;
|
||||||
|
esac
|
||||||
|
# --- End selective flake update ---
|
||||||
|
|
||||||
|
|
||||||
current=""
|
current=""
|
||||||
@ -187,7 +242,7 @@ in
|
|||||||
fi
|
fi
|
||||||
|
|
||||||
genn=$(sudo nix-env --list-generations --profile /nix/var/nix/profiles/system | grep current | awk '{print $1}')
|
genn=$(sudo nix-env --list-generations --profile /nix/var/nix/profiles/system | grep current | awk '{print $1}')
|
||||||
echo "Running on new generation: $geno -> $genn"
|
echo -e "Running on new generation: $YELLOW $geno $NOCOLOR-> $GREEN$genn$NOCOLOR"
|
||||||
|
|
||||||
else
|
else
|
||||||
echo "✗ Update and rebuild failed for $HOST" >&2
|
echo "✗ Update and rebuild failed for $HOST" >&2
|
||||||
@ -257,9 +312,12 @@ in
|
|||||||
cd "$HOME/$PROJECT" || { echo "Error: Could not change to $HOME/$PROJECT"; exit 1; }
|
cd "$HOME/$PROJECT" || { echo "Error: Could not change to $HOME/$PROJECT"; exit 1; }
|
||||||
git status
|
git status
|
||||||
;;
|
;;
|
||||||
|
format)
|
||||||
|
nix fmt .
|
||||||
|
;;
|
||||||
trim)
|
trim)
|
||||||
echo "Running 'sudo fstrim -v /' may take a few minutes and impact system performance."
|
echo "Running 'sudo fstrim -v /' may take a few minutes and impact system performance."
|
||||||
read -p "Enter (y/Y) to run now or enter to exit (y/N): " -n 1 -r
|
read -p "Enter to run now or enter to exit (y/N): " -n 1 -r
|
||||||
echo # move to a new line
|
echo # move to a new line
|
||||||
if [[ $REPLY =~ ^[Yy]$ ]]; then
|
if [[ $REPLY =~ ^[Yy]$ ]]; then
|
||||||
echo "Running fstrim..."
|
echo "Running fstrim..."
|
||||||
|
|||||||
@ -1,95 +0,0 @@
|
|||||||
{ config, lib, pkgs, ... }:
|
|
||||||
{
|
|
||||||
programs.neovim = {
|
|
||||||
enable = true;
|
|
||||||
# ...
|
|
||||||
extraPackages = with pkgs.vimPlugins; [
|
|
||||||
lazy-nvim
|
|
||||||
LazyVim
|
|
||||||
|
|
||||||
bufferline-nvim
|
|
||||||
# stylua
|
|
||||||
# ripgrep
|
|
||||||
];
|
|
||||||
|
|
||||||
extraLuaConfig =
|
|
||||||
let
|
|
||||||
plugins = with pkgs.vimPlugins; [
|
|
||||||
LazyVim
|
|
||||||
bufferline-nvim
|
|
||||||
cmp-buffer
|
|
||||||
cmp-nvim-lsp
|
|
||||||
cmp-path
|
|
||||||
cmp_luasnip
|
|
||||||
conform-nvim
|
|
||||||
dashboard-nvim
|
|
||||||
dressing-nvim
|
|
||||||
flash-nvim
|
|
||||||
friendly-snippets
|
|
||||||
gitsigns-nvim
|
|
||||||
indent-blankline-nvim
|
|
||||||
lualine-nvim
|
|
||||||
neo-tree-nvim
|
|
||||||
neoconf-nvim
|
|
||||||
neodev-nvim
|
|
||||||
noice-nvim
|
|
||||||
nui-nvim
|
|
||||||
nvim-cmp
|
|
||||||
nvim-lint
|
|
||||||
nvim-lspconfig
|
|
||||||
nvim-notify
|
|
||||||
nvim-spectre
|
|
||||||
nvim-treesitter
|
|
||||||
nvim-treesitter-context
|
|
||||||
nvim-treesitter-textobjects
|
|
||||||
nvim-ts-autotag
|
|
||||||
nvim-ts-context-commentstring
|
|
||||||
nvim-web-devicons
|
|
||||||
persistence-nvim
|
|
||||||
plenary-nvim
|
|
||||||
telescope-fzf-native-nvim
|
|
||||||
telescope-nvim
|
|
||||||
todo-comments-nvim
|
|
||||||
tokyonight-nvim
|
|
||||||
trouble-nvim
|
|
||||||
vim-illuminate
|
|
||||||
vim-startuptime
|
|
||||||
which-key-nvim
|
|
||||||
{ name = "LuaSnip"; path = luasnip; }
|
|
||||||
{ name = "catppuccin"; path = catppuccin-nvim; }
|
|
||||||
];
|
|
||||||
|
|
||||||
mkEntryFromDrv = drv:
|
|
||||||
if lib.isDerivation drv then { name = "${lib.getName drv}"; path = drv; }
|
|
||||||
else drv;
|
|
||||||
|
|
||||||
lazyPath = pkgs.linkFarm "lazy-plugins" (builtins.map mkEntryFromDrv plugins);
|
|
||||||
in
|
|
||||||
''
|
|
||||||
vim.opt.clipboard = "unnamedplus"
|
|
||||||
vim.opt.shiftwidth = 2
|
|
||||||
|
|
||||||
vim.opt.mousescroll = "ver:0,hor:0"
|
|
||||||
|
|
||||||
vim.opt.rtp:prepend("${pkgs.vimPlugins.lazy-nvim}")
|
|
||||||
|
|
||||||
require("lazy").setup({
|
|
||||||
defaults = { lazy = true },
|
|
||||||
dev = {
|
|
||||||
path = "${lazyPath}",
|
|
||||||
patterns = { "" },
|
|
||||||
fallback = true,
|
|
||||||
},
|
|
||||||
spec = {
|
|
||||||
{ "LazyVim/LazyVim", import = "lazyvim.plugins" },
|
|
||||||
{ "nvim-telescope/telescope-fzf-native.nvim", enabled = true },
|
|
||||||
{ "williamboman/mason-lspconfig.nvim", enabled = false },
|
|
||||||
{ "williamboman/mason.nvim", enabled = false },
|
|
||||||
{ import = "plugins" },
|
|
||||||
{ "nvim-treesitter/nvim-treesitter", opts = { ensure_installed = {} } },
|
|
||||||
},
|
|
||||||
})
|
|
||||||
|
|
||||||
'';
|
|
||||||
};
|
|
||||||
}
|
|
||||||
@ -1,20 +0,0 @@
|
|||||||
{ inputs, config, lib, pkgs, ... }:
|
|
||||||
{
|
|
||||||
environment.systemPackages = with pkgs;
|
|
||||||
[
|
|
||||||
neovim
|
|
||||||
vimPlugins.LazyVim
|
|
||||||
vimPlugins.lazygit-nvim
|
|
||||||
wl-clipboard
|
|
||||||
xclip
|
|
||||||
];
|
|
||||||
|
|
||||||
home-manager.sharedModules = [
|
|
||||||
./neovim-home.nix
|
|
||||||
];
|
|
||||||
|
|
||||||
|
|
||||||
# programs.neovim = {
|
|
||||||
# enable = true;
|
|
||||||
#};
|
|
||||||
}
|
|
||||||
23
modules/neovim/default.nix
Normal file
23
modules/neovim/default.nix
Normal file
@ -0,0 +1,23 @@
|
|||||||
|
{
|
||||||
|
inputs,
|
||||||
|
config,
|
||||||
|
lib,
|
||||||
|
pkgs,
|
||||||
|
...
|
||||||
|
}: {
|
||||||
|
environment.systemPackages = with pkgs; [
|
||||||
|
neovim
|
||||||
|
vimPlugins.LazyVim
|
||||||
|
vimPlugins.lazygit-nvim
|
||||||
|
wl-clipboard
|
||||||
|
xclip
|
||||||
|
];
|
||||||
|
|
||||||
|
home-manager.sharedModules = [
|
||||||
|
./home.nix
|
||||||
|
];
|
||||||
|
|
||||||
|
# programs.neovim = {
|
||||||
|
# enable = true;
|
||||||
|
#};
|
||||||
|
}
|
||||||
143
modules/neovim/home.nix
Normal file
143
modules/neovim/home.nix
Normal file
@ -0,0 +1,143 @@
|
|||||||
|
{
|
||||||
|
inputs,
|
||||||
|
config,
|
||||||
|
lib,
|
||||||
|
pkgs,
|
||||||
|
...
|
||||||
|
}: {
|
||||||
|
imports = [
|
||||||
|
inputs.nixvim.homeModules.nixvim
|
||||||
|
];
|
||||||
|
|
||||||
|
programs.nixvim = {
|
||||||
|
enable = true;
|
||||||
|
|
||||||
|
waylandSupport = true;
|
||||||
|
|
||||||
|
# Basic options
|
||||||
|
opts = {
|
||||||
|
autoindent = true;
|
||||||
|
clipboard = "unnamedplus";
|
||||||
|
shiftwidth = 2;
|
||||||
|
mousescroll = "ver:0,hor:0";
|
||||||
|
|
||||||
|
expandtab = true; # Always insert spaces, never hard tab characters
|
||||||
|
tabstop = 2; # Make hard tabs display as 2 columns (matches shiftwidth)
|
||||||
|
softtabstop = 2; # Backspace deletes 2 spaces at a time
|
||||||
|
|
||||||
|
number = true;
|
||||||
|
relativenumber = true;
|
||||||
|
|
||||||
|
cursorline = true; # Highlights the entire current line
|
||||||
|
cursorlineopt = "both"; # Highlights both the line AND the line number
|
||||||
|
|
||||||
|
termguicolors = true;
|
||||||
|
};
|
||||||
|
|
||||||
|
colorschemes.catppuccin = {
|
||||||
|
enable = true;
|
||||||
|
settings = {
|
||||||
|
flavour = "mocha";
|
||||||
|
term_colors = true;
|
||||||
|
|
||||||
|
styles = {
|
||||||
|
booleans = ["bold" "italic"];
|
||||||
|
conditionals = ["bold"];
|
||||||
|
functions = ["bold"];
|
||||||
|
keywords = ["italic"];
|
||||||
|
};
|
||||||
|
};
|
||||||
|
};
|
||||||
|
|
||||||
|
keymaps = [
|
||||||
|
{
|
||||||
|
mode = "v";
|
||||||
|
key = ">";
|
||||||
|
action = ">gv";
|
||||||
|
options.desc = "Indent and keep selection";
|
||||||
|
}
|
||||||
|
{
|
||||||
|
mode = "v";
|
||||||
|
key = "<";
|
||||||
|
action = "<gv";
|
||||||
|
options.desc = "Unindent and keep selection";
|
||||||
|
}
|
||||||
|
];
|
||||||
|
|
||||||
|
plugins = {
|
||||||
|
# Statusline at the bottom of the screen
|
||||||
|
lualine.enable = true;
|
||||||
|
# Tab bar at the top of the screen
|
||||||
|
bufferline.enable = true;
|
||||||
|
# File type icons used by many UI plugins (Dependency)
|
||||||
|
web-devicons.enable = true;
|
||||||
|
# Replaces the default cmdline, messages, and popupmenu with a nicer UI
|
||||||
|
noice.enable = true;
|
||||||
|
# Popup notification manager
|
||||||
|
notify.enable = true;
|
||||||
|
treesitter = {
|
||||||
|
# Syntax parsing for accurate highlighting and code understanding
|
||||||
|
enable = true;
|
||||||
|
settings = {
|
||||||
|
highlight.enable = true;
|
||||||
|
indent.enable = true;
|
||||||
|
};
|
||||||
|
};
|
||||||
|
# Shows the current function/class context pinned at the top of the buffer
|
||||||
|
treesitter-context.enable = true;
|
||||||
|
# Text objects based on treesitter nodes (e.g. select a function body)
|
||||||
|
treesitter-textobjects.enable = true;
|
||||||
|
# Auto-closes and renames HTML/JSX tags using treesitter
|
||||||
|
ts-autotag.enable = true;
|
||||||
|
# Adds indentation guide lines to every indent level
|
||||||
|
indent-blankline = {
|
||||||
|
enable = true;
|
||||||
|
settings = {
|
||||||
|
indent = {
|
||||||
|
char = "│";
|
||||||
|
tab_char = "│"; # Explicitly define the tab indent guide character
|
||||||
|
};
|
||||||
|
scope = {
|
||||||
|
enabled = true;
|
||||||
|
};
|
||||||
|
whitespace = {
|
||||||
|
remove_blankline_trail = false;
|
||||||
|
};
|
||||||
|
};
|
||||||
|
};
|
||||||
|
# Highlights and searches TODO/FIXME/HACK comments
|
||||||
|
todo-comments.enable = true;
|
||||||
|
nvim-autopairs = {
|
||||||
|
enable = true;
|
||||||
|
settings = {
|
||||||
|
check_ts = true; # Use treesitter to avoid pairing inside strings/comments
|
||||||
|
};
|
||||||
|
};
|
||||||
|
conform-nvim = {
|
||||||
|
enable = true;
|
||||||
|
settings = {
|
||||||
|
formatters_by_ft = {
|
||||||
|
nix = ["alejandra"];
|
||||||
|
};
|
||||||
|
format_on_save = {
|
||||||
|
lsp_format = "fallback";
|
||||||
|
timeout_ms = 500;
|
||||||
|
};
|
||||||
|
};
|
||||||
|
# Pin the exact binary path so Nix guarantees it's available
|
||||||
|
settings.formatters = {
|
||||||
|
alejandra.command = "${pkgs.alejandra}/bin/alejandra";
|
||||||
|
};
|
||||||
|
};
|
||||||
|
};
|
||||||
|
|
||||||
|
extraPlugins = with pkgs.vimPlugins; [
|
||||||
|
];
|
||||||
|
|
||||||
|
# Additional Lua configuration
|
||||||
|
extraConfigLua = ''
|
||||||
|
-- Custom Lua config here
|
||||||
|
vim.opt.cpoptions:append('I')
|
||||||
|
'';
|
||||||
|
};
|
||||||
|
}
|
||||||
@ -1,14 +0,0 @@
|
|||||||
{ config, inputs, pkgs, ... }:
|
|
||||||
{
|
|
||||||
imports = [
|
|
||||||
];
|
|
||||||
|
|
||||||
home-manager.sharedModules = [
|
|
||||||
./home.nix
|
|
||||||
];
|
|
||||||
|
|
||||||
environment.systemPackages = with pkgs;
|
|
||||||
[
|
|
||||||
inputs.noctalia.packages.${system}.default
|
|
||||||
];
|
|
||||||
}
|
|
||||||
@ -1,13 +0,0 @@
|
|||||||
{pkgs, inputs, ...}:
|
|
||||||
{
|
|
||||||
imports = [
|
|
||||||
inputs.noctalia.homeModules.default
|
|
||||||
];
|
|
||||||
|
|
||||||
programs = {
|
|
||||||
noctalia-shell = {
|
|
||||||
enable = true;
|
|
||||||
systemd.enable = true;
|
|
||||||
};
|
|
||||||
};
|
|
||||||
}
|
|
||||||
@ -1,130 +0,0 @@
|
|||||||
{config, pkgs, libs, inputs, nix-flatpak, ...}:
|
|
||||||
{
|
|
||||||
environment.systemPackages = with pkgs; [
|
|
||||||
#Essentials (CLI Only)
|
|
||||||
wget #A tool for quickly downloading things from the Web
|
|
||||||
micro-with-xclip #Micro text editor with xclip for clipboard
|
|
||||||
thefuck #Error correction in case commands are wrong. Type: 'fuck'
|
|
||||||
jdk23 #Java Development Kit 23
|
|
||||||
python312 #Python 3.12
|
|
||||||
python312Packages.pip #Pip for Python 3.12
|
|
||||||
python312Packages.cmake #The CMake tool to manage project build configurations
|
|
||||||
fastfetch #A utility to see information about your machine
|
|
||||||
btop #A replacement for htop to see your machines resources
|
|
||||||
git #Git ... no need to explain
|
|
||||||
efibootmgr
|
|
||||||
zip #A utility for ZIP archives
|
|
||||||
unzip #A utility for ZIP archives
|
|
||||||
rar #A utility for RAR archives
|
|
||||||
gnutar #A utility for .tar archives
|
|
||||||
cron #A tool to set up commands to run scheduled
|
|
||||||
tmux #A tool to let command windows contiune to run in the background
|
|
||||||
home-manager #A package to also edit the user Configuration, like with nix
|
|
||||||
konsave #A package to transfer the look and feel of KDE Plasma to other machines
|
|
||||||
ocs-url
|
|
||||||
kdePackages.plasma-workspace
|
|
||||||
kdePackages.kdialog
|
|
||||||
openssh #SSH
|
|
||||||
zoxide #Alternatice to cd, browse files
|
|
||||||
fzf-zsh #Search for file names
|
|
||||||
coreutils-full
|
|
||||||
multipath-tools
|
|
||||||
docker
|
|
||||||
docker-compose
|
|
||||||
plymouth
|
|
||||||
mesa
|
|
||||||
fprintd
|
|
||||||
nh
|
|
||||||
|
|
||||||
#Programming
|
|
||||||
#jetbrains.pycharm-community #The PyCharm IDE to edit Python code
|
|
||||||
jetbrains.idea-community #The IntelliJ IDE to edit Java code
|
|
||||||
#jetbrains.clion #The CLion IDE to edit and compile c/c++ code
|
|
||||||
#racket #The racket Programming language, with DrRacket IDE, for University (*Not* because it's my favourite)
|
|
||||||
rustup #Rust Programming Toolchain
|
|
||||||
#go #Go Programming Language
|
|
||||||
gcc
|
|
||||||
pkg-config
|
|
||||||
vscode #Editor for all kinds of programms
|
|
||||||
nodejs_22
|
|
||||||
|
|
||||||
#Hochschule
|
|
||||||
postgresql
|
|
||||||
dbeaver-bin
|
|
||||||
sqlite
|
|
||||||
|
|
||||||
#Desktop Applications
|
|
||||||
drawio
|
|
||||||
jetbrains.datagrip
|
|
||||||
ryubing
|
|
||||||
vlc
|
|
||||||
#steam
|
|
||||||
#heroic
|
|
||||||
lutris
|
|
||||||
#putty Need to find alternative as it sucks on linux
|
|
||||||
mission-center
|
|
||||||
trayscale
|
|
||||||
spotify
|
|
||||||
rpi-imager
|
|
||||||
kdePackages.yakuake
|
|
||||||
#atlauncher
|
|
||||||
discord
|
|
||||||
wineWowPackages.stagingFull
|
|
||||||
winetricks
|
|
||||||
#whatsapp-for-linux
|
|
||||||
#obs-studio
|
|
||||||
#i2p
|
|
||||||
gparted #Disk partition Manager
|
|
||||||
#rustdesk
|
|
||||||
realvnc-vnc-viewer
|
|
||||||
eddie #AirVPN desktop client
|
|
||||||
chromium #For Youtube app to work
|
|
||||||
kdePackages.bluez-qt
|
|
||||||
moonlight-qt
|
|
||||||
kitty
|
|
||||||
wmctrl #To Force windows into fullscreen
|
|
||||||
kdePackages.dolphin
|
|
||||||
persepolis #Download Manager
|
|
||||||
libreoffice-still
|
|
||||||
kdePackages.kservice
|
|
||||||
qbittorrent
|
|
||||||
|
|
||||||
#CLI tools
|
|
||||||
pdftk
|
|
||||||
yt-dlp
|
|
||||||
tailscale
|
|
||||||
speedtest-cli
|
|
||||||
#duplicati
|
|
||||||
#ollama
|
|
||||||
cloudflare-warp
|
|
||||||
ddrescue
|
|
||||||
texliveFull #LaTeX PDF maker
|
|
||||||
lazygit
|
|
||||||
gtypist
|
|
||||||
powertop
|
|
||||||
file
|
|
||||||
];
|
|
||||||
|
|
||||||
nixpkgs.config.permittedInsecurePackages = [
|
|
||||||
"dotnet-sdk-6.0.428"
|
|
||||||
"dotnet-runtime-6.0.36"
|
|
||||||
];
|
|
||||||
|
|
||||||
# services.flatpak = {
|
|
||||||
# enable = false;
|
|
||||||
#
|
|
||||||
# remotes = [
|
|
||||||
# {
|
|
||||||
# name = "flathub";
|
|
||||||
# location = "https://dl.flathub.org/repo/flathub.flatpakrepo";
|
|
||||||
# }
|
|
||||||
# ];
|
|
||||||
# packages = [
|
|
||||||
# {
|
|
||||||
# appId = "org.vinegarhq.Sober";
|
|
||||||
# origin = "flathub";
|
|
||||||
# #commit = "e28fd81675b0871614ccdc8fc66c6da6761dd11333a65900a0451edf07ef0ea6";
|
|
||||||
# }
|
|
||||||
# ];
|
|
||||||
# };
|
|
||||||
}
|
|
||||||
27
modules/packages/cli.nix
Normal file
27
modules/packages/cli.nix
Normal file
@ -0,0 +1,27 @@
|
|||||||
|
{
|
||||||
|
config,
|
||||||
|
pkgs,
|
||||||
|
libs,
|
||||||
|
inputs,
|
||||||
|
...
|
||||||
|
}: {
|
||||||
|
environment.systemPackages = with pkgs; [
|
||||||
|
#CLI tools
|
||||||
|
pdftk #PDF toolkit
|
||||||
|
yt-dlp #YouTube and others video downloader
|
||||||
|
tailscale #VPN
|
||||||
|
speedtest-cli #Internet speed tester
|
||||||
|
#duplicati
|
||||||
|
ollama-rocm
|
||||||
|
open-webui
|
||||||
|
cloudflare-warp
|
||||||
|
ddrescue
|
||||||
|
texliveFull #LaTeX PDF maker
|
||||||
|
lazygit #Git CLI tool with TUI
|
||||||
|
gtypist #Typing tutor
|
||||||
|
powertop #Power consumption monitor and optimizer
|
||||||
|
file #File type identifier
|
||||||
|
hashcat #Password recovery/cracking tool
|
||||||
|
packwiz #A Minecraft modpack editor
|
||||||
|
];
|
||||||
|
}
|
||||||
8
modules/packages/default.nix
Normal file
8
modules/packages/default.nix
Normal file
@ -0,0 +1,8 @@
|
|||||||
|
{...}: {
|
||||||
|
imports = [
|
||||||
|
./desktop.nix
|
||||||
|
./cli.nix
|
||||||
|
./essentials.nix
|
||||||
|
./flatpak.nix
|
||||||
|
];
|
||||||
|
}
|
||||||
63
modules/packages/desktop.nix
Normal file
63
modules/packages/desktop.nix
Normal file
@ -0,0 +1,63 @@
|
|||||||
|
{
|
||||||
|
config,
|
||||||
|
pkgs,
|
||||||
|
libs,
|
||||||
|
inputs,
|
||||||
|
...
|
||||||
|
}: {
|
||||||
|
environment.systemPackages = with pkgs; [
|
||||||
|
#Programming
|
||||||
|
jetbrains.pycharm #The PyCharm IDE to edit Python code
|
||||||
|
jetbrains.idea #The IntelliJ IDE to edit Java code
|
||||||
|
jetbrains.clion #The CLion IDE to edit and compile c/c++ code
|
||||||
|
jetbrains.datagrip #The DataGrip IDE to manage Databases
|
||||||
|
#jetbrains-toolbox
|
||||||
|
#racket #The racket Programming language, with DrRacket IDE, for University (*Not* because it's my favourite)
|
||||||
|
rustup #Rust Programming Toolchain
|
||||||
|
#go #Go Programming Language
|
||||||
|
gcc #C/C++ Compiler
|
||||||
|
pkg-config
|
||||||
|
vscode #Editor for all kinds of programms
|
||||||
|
nodejs_22 #NodeJS for JavaScript programming
|
||||||
|
|
||||||
|
#Hochschule
|
||||||
|
postgresql #Database system
|
||||||
|
dbeaver-bin #Database Management Tool
|
||||||
|
sqlite #Lightweight Database system
|
||||||
|
|
||||||
|
#Desktop Applications
|
||||||
|
drawio
|
||||||
|
ryubing #Nintendo Switch Emulator
|
||||||
|
vlc #VLC Media Player
|
||||||
|
lutris #Gaming Platform
|
||||||
|
mission-center #For a Task Manager like GUI
|
||||||
|
trayscale #Tailscale unofficial GUI
|
||||||
|
spotify #Spotify Music Client
|
||||||
|
rpi-imager #Raspberry Pi Imager
|
||||||
|
atlauncher #Minecraft Launcher
|
||||||
|
#discord
|
||||||
|
vesktop #Aternative for discord on Wayland
|
||||||
|
wineWow64Packages.stagingFull
|
||||||
|
winetricks
|
||||||
|
wasistlos #Whatsapp
|
||||||
|
#obs-studio #Screen Recorder
|
||||||
|
gparted #Disk partition Manager
|
||||||
|
#rustdesk #Remote Desktop Client
|
||||||
|
realvnc-vnc-viewer #VNC Remote Desktop Client
|
||||||
|
eddie #AirVPN desktop client
|
||||||
|
chromium #Chromium browser for Youtube app to work
|
||||||
|
moonlight-qt #Game Streaming Client
|
||||||
|
kitty #Kitty Terminal Emulator
|
||||||
|
wmctrl #To Force windows into fullscreen
|
||||||
|
kdePackages.dolphin #KDE File Browser
|
||||||
|
libreoffice-still #Office Suite
|
||||||
|
kdePackages.kservice
|
||||||
|
qbittorrent #Torrent Client
|
||||||
|
waydroid #Android emulator on Linux
|
||||||
|
gimp2-with-plugins #Image Editor
|
||||||
|
kdePackages.filelight #Disk Usage Analyzer
|
||||||
|
filezilla
|
||||||
|
audacity
|
||||||
|
freecad
|
||||||
|
];
|
||||||
|
}
|
||||||
59
modules/packages/essentials.nix
Normal file
59
modules/packages/essentials.nix
Normal file
@ -0,0 +1,59 @@
|
|||||||
|
{
|
||||||
|
config,
|
||||||
|
pkgs,
|
||||||
|
libs,
|
||||||
|
inputs,
|
||||||
|
system,
|
||||||
|
alejandra,
|
||||||
|
...
|
||||||
|
}: {
|
||||||
|
environment.systemPackages = with pkgs; [
|
||||||
|
#Essentials (CLI Only)
|
||||||
|
wget #A tool for quickly downloading things from the Web
|
||||||
|
javaPackages.compiler.openjdk25 #Java Development Kit 25
|
||||||
|
python314 #Python
|
||||||
|
python314Packages.pip #Pip for Python 3.12
|
||||||
|
python314Packages.cmake #The CMake tool to manage project build configurations
|
||||||
|
fastfetch #A utility to see information about your machine
|
||||||
|
btop #A replacement for htop to see your machines resources
|
||||||
|
git #Git ... no need to explain
|
||||||
|
efibootmgr #A tool to manage UEFI boot entries
|
||||||
|
zip #A utility for ZIP archives
|
||||||
|
unzip #A utility for ZIP archives
|
||||||
|
rar #A utility for RAR archives
|
||||||
|
gnutar #A utility for .tar archives
|
||||||
|
cron #A tool to set up commands to run scheduled
|
||||||
|
tmux #A tool to let command windows contiune to run in the background
|
||||||
|
home-manager #A package to also edit the user Configuration, like with nix
|
||||||
|
konsave #A package to transfer the look and feel of KDE Plasma to other machines
|
||||||
|
openssh #SSH
|
||||||
|
zoxide #Alternatice to cd, browse files
|
||||||
|
zsh #Search for file names
|
||||||
|
coreutils-full #Full set of coreutils, including some missing ones
|
||||||
|
multipath-tools
|
||||||
|
docker #Docker ... no need to explain
|
||||||
|
docker-compose #Docker Compose for docker
|
||||||
|
plymouth #Boot Splash screen
|
||||||
|
mesa #Graphics drivers
|
||||||
|
fprintd #Fingerprint reader support
|
||||||
|
nh
|
||||||
|
whois #To find out domain information
|
||||||
|
networkmanagerapplet #For managing network manager connections
|
||||||
|
zoxide #Alternative to cd, browse files
|
||||||
|
pocl #Portable OpenCL implementation
|
||||||
|
clinfo #OpenCL info tool
|
||||||
|
rocmPackages.rocm-runtime #AMD ROCm runtime
|
||||||
|
ripgrep #Alternative to grep search for text in files
|
||||||
|
pipewire #Multimedia handling
|
||||||
|
fzf #Needed for nix-selective update tool
|
||||||
|
jq #Needed for nix-selective update tool
|
||||||
|
distrobox
|
||||||
|
dbus
|
||||||
|
cifs-utils
|
||||||
|
samba
|
||||||
|
kdePackages.ksshaskpass
|
||||||
|
ntfs3g
|
||||||
|
appimage-run
|
||||||
|
alejandra.defaultPackage.${system}
|
||||||
|
];
|
||||||
|
}
|
||||||
26
modules/packages/flatpak.nix
Normal file
26
modules/packages/flatpak.nix
Normal file
@ -0,0 +1,26 @@
|
|||||||
|
{
|
||||||
|
config,
|
||||||
|
pkgs,
|
||||||
|
libs,
|
||||||
|
inputs,
|
||||||
|
nix-flatpak,
|
||||||
|
...
|
||||||
|
}: {
|
||||||
|
services.flatpak = {
|
||||||
|
enable = true;
|
||||||
|
|
||||||
|
remotes = [
|
||||||
|
{
|
||||||
|
name = "flathub";
|
||||||
|
location = "https://dl.flathub.org/repo/flathub.flatpakrepo";
|
||||||
|
}
|
||||||
|
];
|
||||||
|
packages = [
|
||||||
|
{
|
||||||
|
appId = "org.vinegarhq.Sober";
|
||||||
|
origin = "flathub";
|
||||||
|
#commit = "e28fd81675b0871614ccdc8fc66c6da6761dd11333a65900a0451edf07ef0ea6";
|
||||||
|
}
|
||||||
|
];
|
||||||
|
};
|
||||||
|
}
|
||||||
@ -1,32 +0,0 @@
|
|||||||
{
|
|
||||||
containers.portainer = {
|
|
||||||
autoStart = true;
|
|
||||||
privateNetwork = true;
|
|
||||||
|
|
||||||
config = { pkgs, ... }: {
|
|
||||||
services.docker.enable = true;
|
|
||||||
|
|
||||||
systemd.services.portainer = {
|
|
||||||
description = "Portainer Container Manager";
|
|
||||||
after = [ "docker.service" ];
|
|
||||||
wantedBy = [ "multi-user.target" ];
|
|
||||||
serviceConfig = {
|
|
||||||
ExecStart = ''
|
|
||||||
${pkgs.docker}/bin/docker run \
|
|
||||||
-d \
|
|
||||||
--name portainer \
|
|
||||||
-p 9000:9000 \
|
|
||||||
-p 9443:9443 \
|
|
||||||
-v /var/run/docker.sock:/var/run/docker.sock \
|
|
||||||
-v portainer_data:/data \
|
|
||||||
portainer/portainer-ce:latest
|
|
||||||
'';
|
|
||||||
ExecStop = "${pkgs.docker}/bin/docker stop portainer";
|
|
||||||
Restart = "unless-stopped";
|
|
||||||
};
|
|
||||||
};
|
|
||||||
|
|
||||||
networking.firewall.allowedTCPPorts = [ 9000 9443 ];
|
|
||||||
};
|
|
||||||
};
|
|
||||||
}
|
|
||||||
@ -1,16 +1,23 @@
|
|||||||
{ pkgs, inputs, ... }:
|
|
||||||
{
|
{
|
||||||
|
pkgs,
|
||||||
imports =
|
inputs,
|
||||||
[
|
username,
|
||||||
|
...
|
||||||
|
}: {
|
||||||
|
imports = [
|
||||||
inputs.stylix.nixosModules.stylix
|
inputs.stylix.nixosModules.stylix
|
||||||
];
|
];
|
||||||
|
|
||||||
|
home-manager.sharedModules = [
|
||||||
|
./home.nix
|
||||||
|
];
|
||||||
|
|
||||||
stylix = {
|
stylix = {
|
||||||
enable = true;
|
enable = true;
|
||||||
image = ../other/wallpaper2.png;
|
autoEnable = false; #So I can choose my programs it targets myself!
|
||||||
|
#image = ../../other/wallpaper2.png;
|
||||||
#autoEnable = true; #Auto generate theme based on wallpaper
|
#autoEnable = true; #Auto generate theme based on wallpaper
|
||||||
base16Scheme = "${pkgs.base16-schemes}/share/themes/tokyo-night-moon.yaml";
|
base16Scheme = "${pkgs.base16-schemes}/share/themes/dracula.yaml";
|
||||||
opacity = {
|
opacity = {
|
||||||
desktop = 0.5;
|
desktop = 0.5;
|
||||||
terminal = 0.9;
|
terminal = 0.9;
|
||||||
@ -31,6 +38,12 @@
|
|||||||
name = "Noto Serif";
|
name = "Noto Serif";
|
||||||
};
|
};
|
||||||
};
|
};
|
||||||
targets.grub.enable = false;
|
targets = {
|
||||||
|
plymouth.enable = true;
|
||||||
|
plymouth.logoAnimated = true;
|
||||||
|
console.enable = true; #Default console without desktop environment! (NOT KITTY!)
|
||||||
|
grub.enable = false;
|
||||||
|
#qt.enable = false;
|
||||||
|
};
|
||||||
};
|
};
|
||||||
}
|
}
|
||||||
27
modules/stylix/home.nix
Normal file
27
modules/stylix/home.nix
Normal file
@ -0,0 +1,27 @@
|
|||||||
|
{
|
||||||
|
pkgs,
|
||||||
|
inputs,
|
||||||
|
username,
|
||||||
|
...
|
||||||
|
}: {
|
||||||
|
imports = [
|
||||||
|
];
|
||||||
|
|
||||||
|
services = {
|
||||||
|
};
|
||||||
|
|
||||||
|
stylix = {
|
||||||
|
targets = {
|
||||||
|
kitty.enable = false;
|
||||||
|
#firefox = {
|
||||||
|
# enable = true;
|
||||||
|
# colorTheme.enable = true;
|
||||||
|
# profileNames = [ "${username}" ];
|
||||||
|
#};
|
||||||
|
qt.enable = true;
|
||||||
|
qt.platform = "kde";
|
||||||
|
#kde.enable = false;
|
||||||
|
zen-browser.profileNames = ["${username}"];
|
||||||
|
};
|
||||||
|
};
|
||||||
|
}
|
||||||
153
modules/waybar/config.jsonc
Normal file
153
modules/waybar/config.jsonc
Normal file
@ -0,0 +1,153 @@
|
|||||||
|
{
|
||||||
|
"layer": "top",
|
||||||
|
"position": "top",
|
||||||
|
"modules-left": [
|
||||||
|
"custom/launcher",
|
||||||
|
"hyprland/workspaces",
|
||||||
|
"cpu",
|
||||||
|
"memory"
|
||||||
|
|
||||||
|
],
|
||||||
|
"modules-center": [
|
||||||
|
"hyprland/window"
|
||||||
|
],
|
||||||
|
"spacing": 4,
|
||||||
|
"modules-right": [
|
||||||
|
"tray",
|
||||||
|
"wireplumber",
|
||||||
|
"network",
|
||||||
|
"backlight",
|
||||||
|
"clock",
|
||||||
|
"battery",
|
||||||
|
"custom/power"
|
||||||
|
],
|
||||||
|
"backlight": {
|
||||||
|
"device": "intel_backlight",
|
||||||
|
"format": "{percent}% {icon}",
|
||||||
|
"format-icons": ["", ""]
|
||||||
|
},
|
||||||
|
"hyprland/workspaces": {
|
||||||
|
"format": "{name}",
|
||||||
|
"persistent-workspaces": {
|
||||||
|
"1": [],
|
||||||
|
"2": [],
|
||||||
|
"3": []
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"hyprland/window": {
|
||||||
|
"icon": false,
|
||||||
|
"separate-outputs": true,
|
||||||
|
"format": "{}"
|
||||||
|
},
|
||||||
|
"tray": {
|
||||||
|
"icon-size": 15,
|
||||||
|
"spacing": 7
|
||||||
|
},
|
||||||
|
"clock": {
|
||||||
|
"format": "{:%H:%M} ",
|
||||||
|
"format-alt": "{:%A, %B %d, %Y (%R)}",
|
||||||
|
"tooltip-format": "<tt><small>{calendar}</small></tt>",
|
||||||
|
"calendar": {
|
||||||
|
"mode": "year",
|
||||||
|
"mode-mon-col": 3,
|
||||||
|
"weeks-pos": "right",
|
||||||
|
"on-scroll": 1,
|
||||||
|
"on-click-right": "mode",
|
||||||
|
"format": {
|
||||||
|
"months": "<span color='#f5e0dc'><b>{}</b></span>",
|
||||||
|
"days": "<span color='#cdd6f4'><b>{}</b></span>",
|
||||||
|
"weeks": "<span color='#fab387'><b>W{}</b></span>",
|
||||||
|
"weekdays": "<span color='#f5c2e7'><b>{}</b></span>",
|
||||||
|
"today": "<span color='#cba6f7'><b><u>{}</u></b></span>"
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"actions": {
|
||||||
|
"on-click-right": "mode",
|
||||||
|
"on-click-forward": "tz_up",
|
||||||
|
"on-click-backward": "tz_down",
|
||||||
|
"on-scroll-up": "shift_up",
|
||||||
|
"on-scroll-down": "shift_down"
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"cpu": {
|
||||||
|
"interval": 1,
|
||||||
|
"format": "CPU {usage:>2}% {icon0}{icon1}{icon2}{icon3}",
|
||||||
|
"format-icons": [
|
||||||
|
"▁",
|
||||||
|
"▂",
|
||||||
|
"▃",
|
||||||
|
"▄",
|
||||||
|
"▅",
|
||||||
|
"▆",
|
||||||
|
"▇",
|
||||||
|
"█"
|
||||||
|
],
|
||||||
|
"on-click": "kitty -e btop"
|
||||||
|
},
|
||||||
|
"memory": {
|
||||||
|
"interval": 30,
|
||||||
|
"format": "MEM {used:0.1f}G/{total:0.1f}G"
|
||||||
|
},
|
||||||
|
"network": {
|
||||||
|
"format": " Disabled",
|
||||||
|
"format-wifi": " ",
|
||||||
|
"format-ethernet": " ",
|
||||||
|
"format-disconnected": "⚠",
|
||||||
|
"tooltip": true,
|
||||||
|
"tooltip-format": "{ifname}\n{ipaddr}",
|
||||||
|
"tooltip-format-wifi": "{essid} {ifname}\n{ipaddr}\nstrength: {signalStrength}%",
|
||||||
|
"on-click": "networkmanager_dmenu"
|
||||||
|
},
|
||||||
|
"custom/launcher": {
|
||||||
|
"format": " ",
|
||||||
|
"tooltip": false,
|
||||||
|
"on-click": "wofi -c ~/.config/wofi/config -I"
|
||||||
|
},
|
||||||
|
"custom/power": {
|
||||||
|
"format": " ",
|
||||||
|
"on-click": "~/.config/wofi/scripts/power.sh",
|
||||||
|
"tooltip": false
|
||||||
|
},
|
||||||
|
"wireplumber": {
|
||||||
|
"scroll-step": 10,
|
||||||
|
"format": "{volume}% {icon} ",
|
||||||
|
"format-bluetooth": "{icon} {volume}%",
|
||||||
|
"format-muted": "muted ",
|
||||||
|
"on-click": "pavucontrol",
|
||||||
|
"format-icons": {
|
||||||
|
"headphones": "",
|
||||||
|
"handsfree": "",
|
||||||
|
"headset": "",
|
||||||
|
"phone": "",
|
||||||
|
"portable": "",
|
||||||
|
"car": "",
|
||||||
|
"default": [
|
||||||
|
"",
|
||||||
|
""
|
||||||
|
]
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"battery": {
|
||||||
|
"states": {
|
||||||
|
"warning": 30,
|
||||||
|
"critical": 15
|
||||||
|
},
|
||||||
|
"format": "{capacity}% {icon}",
|
||||||
|
"format-charging": " {capacity}%",
|
||||||
|
"format-pluged": " {capacity}%",
|
||||||
|
"format-full": " {capacity}%",
|
||||||
|
"format-icons": [
|
||||||
|
"",
|
||||||
|
"",
|
||||||
|
"",
|
||||||
|
"",
|
||||||
|
"",
|
||||||
|
"",
|
||||||
|
"",
|
||||||
|
"",
|
||||||
|
"",
|
||||||
|
"",
|
||||||
|
""
|
||||||
|
]
|
||||||
|
}
|
||||||
|
}
|
||||||
4
modules/waybar/home.nix
Normal file
4
modules/waybar/home.nix
Normal file
@ -0,0 +1,4 @@
|
|||||||
|
{...}: {
|
||||||
|
# xdg.configFile."waybar/config.jsonc".source = ./config.jsonc;
|
||||||
|
# xdg.configFile."waybar/style.css".source = ./style.css;
|
||||||
|
}
|
||||||
167
modules/waybar/style.css
Normal file
167
modules/waybar/style.css
Normal file
@ -0,0 +1,167 @@
|
|||||||
|
* {
|
||||||
|
font-family: "JetBrainsMono Nerd Font", sans-serif;
|
||||||
|
font-size: 13px;
|
||||||
|
}
|
||||||
|
|
||||||
|
window#waybar {
|
||||||
|
background-color: transparent;
|
||||||
|
}
|
||||||
|
|
||||||
|
window > box {
|
||||||
|
margin-top: 0px;
|
||||||
|
margin-left: 10px;
|
||||||
|
margin-right: 10px;
|
||||||
|
padding-left: 4px;
|
||||||
|
padding-right: 4px;
|
||||||
|
}
|
||||||
|
|
||||||
|
#window {
|
||||||
|
background-color: #202020;
|
||||||
|
border-radius: 20px;
|
||||||
|
padding: 8px 12px 8px 8px;
|
||||||
|
margin: 0px 0;
|
||||||
|
}
|
||||||
|
|
||||||
|
window#waybar.empty #window {
|
||||||
|
background: rgba(12, 12, 12, 0);
|
||||||
|
}
|
||||||
|
|
||||||
|
.modules-left {
|
||||||
|
padding: 3px;
|
||||||
|
}
|
||||||
|
|
||||||
|
.modules-right {
|
||||||
|
padding: 3px;
|
||||||
|
}
|
||||||
|
|
||||||
|
.modules-center {
|
||||||
|
padding: 3px;
|
||||||
|
}
|
||||||
|
|
||||||
|
#workspaces {
|
||||||
|
background-color: #202020;
|
||||||
|
border-radius: 20px;
|
||||||
|
padding: 4px 4px 4px 6px;
|
||||||
|
margin: 4px 0;
|
||||||
|
}
|
||||||
|
|
||||||
|
#workspaces button {
|
||||||
|
min-height: 0;
|
||||||
|
padding: 0 7px;
|
||||||
|
margin-right: 2px;
|
||||||
|
color: #f5e0dc;
|
||||||
|
}
|
||||||
|
|
||||||
|
#workspaces button.urgent {
|
||||||
|
color: #f5e0dc;
|
||||||
|
animation-name: blink;
|
||||||
|
animation-duration: 0.5s;
|
||||||
|
animation-timing-function: linear;
|
||||||
|
animation-iteration-count: infinite;
|
||||||
|
animation-direction: alternate;
|
||||||
|
}
|
||||||
|
|
||||||
|
#workspaces button.empty {
|
||||||
|
color: #cdd6f4;
|
||||||
|
}
|
||||||
|
|
||||||
|
#workspaces button.visible {
|
||||||
|
color: #89dceb;
|
||||||
|
}
|
||||||
|
|
||||||
|
#workspaces button.active {
|
||||||
|
color: #fab387;
|
||||||
|
}
|
||||||
|
|
||||||
|
@keyframes blink {
|
||||||
|
to {
|
||||||
|
color: #202020;
|
||||||
|
background-color: #dcf5f3;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
#custom-launcher {
|
||||||
|
background-color: #202020;
|
||||||
|
border-radius: 20px;
|
||||||
|
padding: 8px 8px 8px 4px;
|
||||||
|
margin: 4px 0;
|
||||||
|
color: #89dceb;
|
||||||
|
}
|
||||||
|
|
||||||
|
#custom-power {
|
||||||
|
background-color: #202020;
|
||||||
|
border-radius: 20px;
|
||||||
|
padding: 8px 12px 8px 8px;
|
||||||
|
margin: 4px 0;
|
||||||
|
}
|
||||||
|
|
||||||
|
#cpu {
|
||||||
|
background-color: #202020;
|
||||||
|
border-radius: 20px;
|
||||||
|
padding: 8px 8px 8px 20px;
|
||||||
|
margin: 4px 0;
|
||||||
|
color: #f2cdcd;
|
||||||
|
}
|
||||||
|
|
||||||
|
#memory {
|
||||||
|
background-color: #202020;
|
||||||
|
border-radius: 20px;
|
||||||
|
padding: 8px 8px 8px 20px;
|
||||||
|
margin: 4px 0;
|
||||||
|
color: #fab387;
|
||||||
|
}
|
||||||
|
|
||||||
|
#wireplumber {
|
||||||
|
background-color: #202020;
|
||||||
|
border-radius: 20px;
|
||||||
|
padding: 8px 8px 8px 20px;
|
||||||
|
margin: 4px 0;
|
||||||
|
color: #f9e2af;
|
||||||
|
}
|
||||||
|
|
||||||
|
#wireplumber.muted {
|
||||||
|
color: #f38ba8;
|
||||||
|
}
|
||||||
|
|
||||||
|
#clock {
|
||||||
|
background-color: #202020;
|
||||||
|
border-radius: 20px;
|
||||||
|
padding: 8px 10px 10px 10px;
|
||||||
|
margin: 4px 0;
|
||||||
|
color: #94e2d5;
|
||||||
|
}
|
||||||
|
|
||||||
|
#network {
|
||||||
|
background-color: #202020;
|
||||||
|
color: #cdd6f4;
|
||||||
|
border-radius: 20px;
|
||||||
|
padding: 8px;
|
||||||
|
margin: 4px 0;
|
||||||
|
}
|
||||||
|
|
||||||
|
#network.disabled {
|
||||||
|
color: #f38ba8;
|
||||||
|
}
|
||||||
|
|
||||||
|
#tray {
|
||||||
|
background-color: #202020;
|
||||||
|
border-radius: 20px;
|
||||||
|
padding: 8px 12px 8px 12px;
|
||||||
|
margin: 4px 0;
|
||||||
|
}
|
||||||
|
|
||||||
|
#battery {
|
||||||
|
background-color: #202020;
|
||||||
|
color: #cdd6f4;
|
||||||
|
border-radius: 20px;
|
||||||
|
padding: 8px;
|
||||||
|
margin: 4px 0;
|
||||||
|
}
|
||||||
|
|
||||||
|
#backlight {
|
||||||
|
background-color: #202020;
|
||||||
|
color: #cdd6f4;
|
||||||
|
border-radius: 20px;
|
||||||
|
padding: 8px;
|
||||||
|
margin: 4px 0;
|
||||||
|
}
|
||||||
@ -1,19 +1,35 @@
|
|||||||
{ config, pkgs, username, ... }: {
|
{
|
||||||
|
config,
|
||||||
|
pkgs,
|
||||||
|
username,
|
||||||
|
project,
|
||||||
|
...
|
||||||
|
}: {
|
||||||
programs.zsh = {
|
programs.zsh = {
|
||||||
enable = true;
|
enable = true;
|
||||||
|
enableCompletion = false;
|
||||||
|
autosuggestions = {
|
||||||
|
enable = true;
|
||||||
|
highlightStyle = "fg=242"; # Lighter gray shadow (0-255 scale)
|
||||||
|
};
|
||||||
|
|
||||||
ohMyZsh = {
|
ohMyZsh = {
|
||||||
enable = true;
|
enable = true;
|
||||||
plugins = [ "git" ];
|
plugins = ["git"];
|
||||||
};
|
};
|
||||||
|
|
||||||
shellInit = ''
|
shellInit = ''
|
||||||
source /home/${username}/NixOS/other/aliases
|
source /home/${username}/${project}/other/aliases
|
||||||
|
eval "$(${pkgs.zoxide}/bin/zoxide init zsh --cmd cd)"
|
||||||
'';
|
'';
|
||||||
|
|
||||||
#To reset powerlevel10k, write 'p10k configure' in shell!
|
#To reset powerlevel10k, write 'p10k configure' in shell!
|
||||||
promptInit = ''
|
promptInit = ''
|
||||||
source ${pkgs.zsh-powerlevel10k}/share/zsh-powerlevel10k/powerlevel10k.zsh-theme
|
source ${pkgs.zsh-powerlevel10k}/share/zsh-powerlevel10k/powerlevel10k.zsh-theme
|
||||||
|
|
||||||
|
# Make ← and → move the cursor on the command line, even when in the menu
|
||||||
|
bindkey -M menuselect '^[[D' .backward-char '^[OD' .backward-char
|
||||||
|
bindkey -M menuselect '^[[C' .forward-char '^[OC' .forward-char
|
||||||
'';
|
'';
|
||||||
};
|
};
|
||||||
|
|
||||||
@ -24,6 +40,6 @@
|
|||||||
pkgs.zsh-completions
|
pkgs.zsh-completions
|
||||||
pkgs.zsh-powerlevel10k
|
pkgs.zsh-powerlevel10k
|
||||||
pkgs.zsh-syntax-highlighting
|
pkgs.zsh-syntax-highlighting
|
||||||
pkgs.zsh-autocomplete
|
pkgs.zsh-autosuggestions
|
||||||
];
|
];
|
||||||
}
|
}
|
||||||
|
|||||||
55
niri/autostart.nix
Normal file
55
niri/autostart.nix
Normal file
@ -0,0 +1,55 @@
|
|||||||
|
{
|
||||||
|
config,
|
||||||
|
pkgs,
|
||||||
|
username,
|
||||||
|
project,
|
||||||
|
...
|
||||||
|
}: {
|
||||||
|
#To show logs of services run:
|
||||||
|
#journalctl --user-unit={service-name} --user
|
||||||
|
systemd.user.services.niri-waybar = {
|
||||||
|
description = "Waybar status bar for Niri";
|
||||||
|
|
||||||
|
# "wantedBy" replaces the [Install] section
|
||||||
|
wantedBy = ["graphical-session.target"];
|
||||||
|
|
||||||
|
# "partOf" and "after" replace the [Unit] section dependencies
|
||||||
|
partOf = ["graphical-session.target"];
|
||||||
|
after = ["graphical-session.target"];
|
||||||
|
|
||||||
|
# [Unit] configuration goes here
|
||||||
|
unitConfig = {
|
||||||
|
# This checks the environment variable to ensure we are in Niri
|
||||||
|
ConditionEnvironment = "XDG_CURRENT_DESKTOP=niri";
|
||||||
|
};
|
||||||
|
|
||||||
|
# [Service] configuration goes here
|
||||||
|
serviceConfig = {
|
||||||
|
ExecStart = "${pkgs.waybar}/bin/waybar";
|
||||||
|
Restart = "on-failure";
|
||||||
|
RestartSec = "1s";
|
||||||
|
};
|
||||||
|
};
|
||||||
|
|
||||||
|
# 2. The Niri Session Cleanup Service
|
||||||
|
# This service starts when the graphical session starts, and when it stops,
|
||||||
|
# it forcibly stops the graphical-session.target to ensure a clean state for the next login.
|
||||||
|
systemd.user.services.niri-session-manager = {
|
||||||
|
description = "Niri Session Management";
|
||||||
|
wantedBy = ["graphical-session.target"];
|
||||||
|
partOf = ["graphical-session.target"];
|
||||||
|
|
||||||
|
# Only run this cleanup logic for Niri
|
||||||
|
unitConfig.ConditionEnvironment = "XDG_CURRENT_DESKTOP=niri";
|
||||||
|
|
||||||
|
serviceConfig = {
|
||||||
|
Type = "simple";
|
||||||
|
# A dummy command that stays alive. 'sleep infinity' is low resource.
|
||||||
|
ExecStart = "${pkgs.coreutils}/bin/sleep infinity";
|
||||||
|
|
||||||
|
# IMPORTANT: When this service stops (which happens when niri kills its children),
|
||||||
|
# it brings down the whole target.
|
||||||
|
ExecStopPost = "${pkgs.systemd}/bin/systemctl --user stop graphical-session.target";
|
||||||
|
};
|
||||||
|
};
|
||||||
|
}
|
||||||
44
niri/default.nix
Normal file
44
niri/default.nix
Normal file
@ -0,0 +1,44 @@
|
|||||||
|
{
|
||||||
|
config,
|
||||||
|
inputs,
|
||||||
|
pkgs,
|
||||||
|
...
|
||||||
|
}: {
|
||||||
|
imports = [
|
||||||
|
./autostart.nix
|
||||||
|
../modules/hyprlock
|
||||||
|
../modules/hyprpaper
|
||||||
|
../modules/stylix
|
||||||
|
];
|
||||||
|
|
||||||
|
home-manager.sharedModules = [
|
||||||
|
./home.nix
|
||||||
|
];
|
||||||
|
|
||||||
|
environment.systemPackages = with pkgs; [
|
||||||
|
#mako
|
||||||
|
fuzzel
|
||||||
|
waybar
|
||||||
|
xwayland-satellite
|
||||||
|
];
|
||||||
|
|
||||||
|
programs = {
|
||||||
|
niri = {
|
||||||
|
enable = true;
|
||||||
|
};
|
||||||
|
xwayland.enable = true;
|
||||||
|
};
|
||||||
|
|
||||||
|
#services.xserver.enable = true;
|
||||||
|
#services.xserver.displayManager.sddm.enable = true;
|
||||||
|
|
||||||
|
xdg.portal = {
|
||||||
|
#Needed for waybar
|
||||||
|
enable = true;
|
||||||
|
extraPortals = [pkgs.xdg-desktop-portal-gtk pkgs.xdg-desktop-portal-wlr];
|
||||||
|
config.common.default = "*";
|
||||||
|
};
|
||||||
|
|
||||||
|
#sound.enable = true;
|
||||||
|
#security.rtkit.enable = true;
|
||||||
|
}
|
||||||
480
niri/home.nix
480
niri/home.nix
@ -1,284 +1,80 @@
|
|||||||
{pkgs, inputs, ...}:
|
|
||||||
{
|
{
|
||||||
|
pkgs,
|
||||||
|
inputs,
|
||||||
|
...
|
||||||
|
}: {
|
||||||
imports = [
|
imports = [
|
||||||
inputs.niri.homeModules.niri
|
inputs.niri.homeModules.niri
|
||||||
|
../modules/waybar/home.nix
|
||||||
];
|
];
|
||||||
|
|
||||||
|
xdg.configFile."mako/config".text = ''
|
||||||
|
default-timeout=5000
|
||||||
|
ignore-timeout=1
|
||||||
|
'';
|
||||||
|
|
||||||
programs.niri = {
|
programs.niri = {
|
||||||
package = pkgs.niri;
|
package = pkgs.niri;
|
||||||
enable = true;
|
enable = true;
|
||||||
#xwayland.enable = true;
|
#xwayland.enable = true;
|
||||||
# config = ''
|
# config = ''
|
||||||
# binds {
|
# binds {
|
||||||
# Super+Return { spawn "kitty"; }
|
# Super+Return { spawn "kitty"; }
|
||||||
# Super+Space { spawn "fuzzel"; }
|
# Super+Space { spawn "fuzzel"; }
|
||||||
# Super+Q { close-window; }
|
# Super+Q { close-window; }
|
||||||
# Super+Left { focus-column-left; }
|
# Super+Left { focus-column-left; }
|
||||||
# Super+Right { focus-column-right; }
|
# Super+Right { focus-column-right; }
|
||||||
# Super+Up { focus-workspace-up; }
|
# Super+Up { focus-workspace-up; }
|
||||||
# Super+Down { focus-workspace-down; }
|
# Super+Down { focus-workspace-down; }
|
||||||
# Super+L { spawn "hyprlock"; }
|
# Super+L { spawn "hyprlock"; }
|
||||||
# Super+Shift+E { "quit"; }
|
# Super+Shift+E { "quit"; }
|
||||||
# }
|
# }
|
||||||
# '';
|
# '';
|
||||||
config = ''
|
config = ''
|
||||||
// This config is in the KDL format: https://kdl.dev
|
|
||||||
// "/-" comments out the following node.
|
|
||||||
// Check the wiki for a full description of the configuration:
|
|
||||||
// https://yalter.github.io/niri/Configuration:-Introduction
|
|
||||||
|
|
||||||
// Input device configuration.
|
|
||||||
// Find the full list of options on the wiki:
|
|
||||||
// https://yalter.github.io/niri/Configuration:-Input
|
|
||||||
input {
|
input {
|
||||||
keyboard {
|
keyboard {
|
||||||
xkb {
|
xkb {
|
||||||
// You can set rules, model, layout, variant and options.
|
layout "de"
|
||||||
// For more information, see xkeyboard-config(7).
|
|
||||||
|
|
||||||
// For example:
|
|
||||||
// layout "us,ru"
|
|
||||||
// options "grp:win_space_toggle,compose:ralt,ctrl:nocaps"
|
|
||||||
|
|
||||||
// If this section is empty, niri will fetch xkb settings
|
|
||||||
// from org.freedesktop.locale1. You can control these using
|
|
||||||
// localectl set-x11-keymap.
|
|
||||||
}
|
}
|
||||||
|
|
||||||
// Enable numlock on startup, omitting this setting disables it.
|
|
||||||
numlock
|
numlock
|
||||||
}
|
}
|
||||||
|
|
||||||
// Next sections include libinput settings.
|
|
||||||
// Omitting settings disables them, or leaves them at their default values.
|
|
||||||
// All commented-out settings here are examples, not defaults.
|
|
||||||
touchpad {
|
|
||||||
// off
|
|
||||||
tap
|
|
||||||
// dwt
|
|
||||||
// dwtp
|
|
||||||
// drag false
|
|
||||||
// drag-lock
|
|
||||||
natural-scroll
|
|
||||||
// accel-speed 0.2
|
|
||||||
// accel-profile "flat"
|
|
||||||
// scroll-method "two-finger"
|
|
||||||
// disabled-on-external-mouse
|
|
||||||
}
|
|
||||||
|
|
||||||
mouse {
|
|
||||||
// off
|
|
||||||
// natural-scroll
|
|
||||||
// accel-speed 0.2
|
|
||||||
// accel-profile "flat"
|
|
||||||
// scroll-method "no-scroll"
|
|
||||||
}
|
|
||||||
|
|
||||||
trackpoint {
|
|
||||||
// off
|
|
||||||
// natural-scroll
|
|
||||||
// accel-speed 0.2
|
|
||||||
// accel-profile "flat"
|
|
||||||
// scroll-method "on-button-down"
|
|
||||||
// scroll-button 273
|
|
||||||
// scroll-button-lock
|
|
||||||
// middle-emulation
|
|
||||||
}
|
|
||||||
|
|
||||||
// Uncomment this to make the mouse warp to the center of newly focused windows.
|
|
||||||
// warp-mouse-to-focus
|
|
||||||
|
|
||||||
// Focus windows and outputs automatically when moving the mouse into them.
|
|
||||||
// Setting max-scroll-amount="0%" makes it work only on windows already fully on screen.
|
|
||||||
// focus-follows-mouse max-scroll-amount="0%"
|
|
||||||
}
|
}
|
||||||
|
|
||||||
// You can configure outputs by their name, which you can find
|
prefer-no-csd
|
||||||
// by running `niri msg outputs` while inside a niri instance.
|
|
||||||
// The built-in laptop monitor is usually called "eDP-1".
|
|
||||||
// Find more information on the wiki:
|
|
||||||
// https://yalter.github.io/niri/Configuration:-Outputs
|
|
||||||
// Remember to uncomment the node by removing "/-"!
|
|
||||||
/-output "eDP-1" {
|
|
||||||
// Uncomment this line to disable this output.
|
|
||||||
// off
|
|
||||||
|
|
||||||
// Resolution and, optionally, refresh rate of the output.
|
|
||||||
// The format is "<width>x<height>" or "<width>x<height>@<refresh rate>".
|
|
||||||
// If the refresh rate is omitted, niri will pick the highest refresh rate
|
|
||||||
// for the resolution.
|
|
||||||
// If the mode is omitted altogether or is invalid, niri will pick one automatically.
|
|
||||||
// Run `niri msg outputs` while inside a niri instance to list all outputs and their modes.
|
|
||||||
mode "1920x1080@120.030"
|
|
||||||
|
|
||||||
// You can use integer or fractional scale, for example use 1.5 for 150% scale.
|
|
||||||
scale 2
|
|
||||||
|
|
||||||
// Transform allows to rotate the output counter-clockwise, valid values are:
|
|
||||||
// normal, 90, 180, 270, flipped, flipped-90, flipped-180 and flipped-270.
|
|
||||||
transform "normal"
|
|
||||||
|
|
||||||
// Position of the output in the global coordinate space.
|
|
||||||
// This affects directional monitor actions like "focus-monitor-left", and cursor movement.
|
|
||||||
// The cursor can only move between directly adjacent outputs.
|
|
||||||
// Output scale and rotation has to be taken into account for positioning:
|
|
||||||
// outputs are sized in logical, or scaled, pixels.
|
|
||||||
// For example, a 3840×2160 output with scale 2.0 will have a logical size of 1920×1080,
|
|
||||||
// so to put another output directly adjacent to it on the right, set its x to 1920.
|
|
||||||
// If the position is unset or results in an overlap, the output is instead placed
|
|
||||||
// automatically.
|
|
||||||
position x=1280 y=0
|
|
||||||
}
|
|
||||||
|
|
||||||
// Settings that influence how windows are positioned and sized.
|
|
||||||
// Find more information on the wiki:
|
|
||||||
// https://yalter.github.io/niri/Configuration:-Layout
|
|
||||||
layout {
|
layout {
|
||||||
// Set gaps around windows in logical pixels.
|
gaps 10
|
||||||
gaps 16
|
|
||||||
|
|
||||||
// When to center a column when changing focus, options are:
|
|
||||||
// - "never", default behavior, focusing an off-screen column will keep at the left
|
|
||||||
// or right edge of the screen.
|
|
||||||
// - "always", the focused column will always be centered.
|
|
||||||
// - "on-overflow", focusing a column will center it if it doesn't fit
|
|
||||||
// together with the previously focused column.
|
|
||||||
center-focused-column "never"
|
center-focused-column "never"
|
||||||
|
|
||||||
// You can customize the widths that "switch-preset-column-width" (Mod+R) toggles between.
|
|
||||||
preset-column-widths {
|
preset-column-widths {
|
||||||
// Proportion sets the width as a fraction of the output width, taking gaps into account.
|
|
||||||
// For example, you can perfectly fit four windows sized "proportion 0.25" on an output.
|
|
||||||
// The default preset widths are 1/3, 1/2 and 2/3 of the output.
|
|
||||||
proportion 0.33333
|
proportion 0.33333
|
||||||
proportion 0.5
|
proportion 0.5
|
||||||
proportion 0.66667
|
proportion 0.66667
|
||||||
|
|
||||||
// Fixed sets the width in logical pixels exactly.
|
|
||||||
// fixed 1920
|
|
||||||
}
|
}
|
||||||
|
|
||||||
// You can also customize the heights that "switch-preset-window-height" (Mod+Shift+R) toggles between.
|
|
||||||
// preset-window-heights { }
|
|
||||||
|
|
||||||
// You can change the default width of the new windows.
|
|
||||||
default-column-width { proportion 0.5; }
|
default-column-width { proportion 0.5; }
|
||||||
// If you leave the brackets empty, the windows themselves will decide their initial width.
|
|
||||||
// default-column-width {}
|
|
||||||
|
|
||||||
// By default focus ring and border are rendered as a solid background rectangle
|
|
||||||
// behind windows. That is, they will show up through semitransparent windows.
|
|
||||||
// This is because windows using client-side decorations can have an arbitrary shape.
|
|
||||||
//
|
|
||||||
// If you don't like that, you should uncomment `prefer-no-csd` below.
|
|
||||||
// Niri will draw focus ring and border *around* windows that agree to omit their
|
|
||||||
// client-side decorations.
|
|
||||||
//
|
|
||||||
// Alternatively, you can override it with a window rule called
|
|
||||||
// `draw-border-with-background`.
|
|
||||||
|
|
||||||
// You can change how the focus ring looks.
|
|
||||||
focus-ring {
|
focus-ring {
|
||||||
// Uncomment this line to disable the focus ring.
|
|
||||||
// off
|
// off
|
||||||
|
|
||||||
// How many logical pixels the ring extends out from the windows.
|
width 2
|
||||||
width 4
|
|
||||||
|
|
||||||
// Colors can be set in a variety of ways:
|
|
||||||
// - CSS named colors: "red"
|
|
||||||
// - RGB hex: "#rgb", "#rgba", "#rrggbb", "#rrggbbaa"
|
|
||||||
// - CSS-like notation: "rgb(255, 127, 0)", rgba(), hsl() and a few others.
|
|
||||||
|
|
||||||
// Color of the ring on the active monitor.
|
|
||||||
active-color "#7fc8ff"
|
active-color "#7fc8ff"
|
||||||
|
|
||||||
// Color of the ring on inactive monitors.
|
|
||||||
//
|
|
||||||
// The focus ring only draws around the active window, so the only place
|
|
||||||
// where you can see its inactive-color is on other monitors.
|
|
||||||
inactive-color "#505050"
|
inactive-color "#505050"
|
||||||
|
|
||||||
// You can also use gradients. They take precedence over solid colors.
|
|
||||||
// Gradients are rendered the same as CSS linear-gradient(angle, from, to).
|
|
||||||
// The angle is the same as in linear-gradient, and is optional,
|
|
||||||
// defaulting to 180 (top-to-bottom gradient).
|
|
||||||
// You can use any CSS linear-gradient tool on the web to set these up.
|
|
||||||
// Changing the color space is also supported, check the wiki for more info.
|
|
||||||
//
|
|
||||||
// active-gradient from="#80c8ff" to="#c7ff7f" angle=45
|
|
||||||
|
|
||||||
// You can also color the gradient relative to the entire view
|
|
||||||
// of the workspace, rather than relative to just the window itself.
|
|
||||||
// To do that, set relative-to="workspace-view".
|
|
||||||
//
|
|
||||||
// inactive-gradient from="#505050" to="#808080" angle=45 relative-to="workspace-view"
|
|
||||||
}
|
}
|
||||||
|
|
||||||
// You can also add a border. It's similar to the focus ring, but always visible.
|
|
||||||
border {
|
border {
|
||||||
// The settings are the same as for the focus ring.
|
|
||||||
// If you enable the border, you probably want to disable the focus ring.
|
|
||||||
off
|
off
|
||||||
|
|
||||||
width 4
|
width 2
|
||||||
active-color "#ffc87f"
|
active-color "#ffc87f"
|
||||||
inactive-color "#505050"
|
inactive-color "#505050"
|
||||||
|
|
||||||
// Color of the border around windows that request your attention.
|
|
||||||
urgent-color "#9b0000"
|
urgent-color "#9b0000"
|
||||||
|
|
||||||
// Gradients can use a few different interpolation color spaces.
|
|
||||||
// For example, this is a pastel rainbow gradient via in="oklch longer hue".
|
|
||||||
//
|
|
||||||
// active-gradient from="#e5989b" to="#ffb4a2" angle=45 relative-to="workspace-view" in="oklch longer hue"
|
|
||||||
|
|
||||||
// inactive-gradient from="#505050" to="#808080" angle=45 relative-to="workspace-view"
|
|
||||||
}
|
}
|
||||||
|
|
||||||
// You can enable drop shadows for windows.
|
|
||||||
shadow {
|
|
||||||
// Uncomment the next line to enable shadows.
|
|
||||||
// on
|
|
||||||
|
|
||||||
// By default, the shadow draws only around its window, and not behind it.
|
|
||||||
// Uncomment this setting to make the shadow draw behind its window.
|
|
||||||
//
|
|
||||||
// Note that niri has no way of knowing about the CSD window corner
|
|
||||||
// radius. It has to assume that windows have square corners, leading to
|
|
||||||
// shadow artifacts inside the CSD rounded corners. This setting fixes
|
|
||||||
// those artifacts.
|
|
||||||
//
|
|
||||||
// However, instead you may want to set prefer-no-csd and/or
|
|
||||||
// geometry-corner-radius. Then, niri will know the corner radius and
|
|
||||||
// draw the shadow correctly, without having to draw it behind the
|
|
||||||
// window. These will also remove client-side shadows if the window
|
|
||||||
// draws any.
|
|
||||||
//
|
|
||||||
// draw-behind-window true
|
|
||||||
|
|
||||||
// You can change how shadows look. The values below are in logical
|
|
||||||
// pixels and match the CSS box-shadow properties.
|
|
||||||
|
|
||||||
// Softness controls the shadow blur radius.
|
|
||||||
softness 30
|
|
||||||
|
|
||||||
// Spread expands the shadow.
|
|
||||||
spread 5
|
|
||||||
|
|
||||||
// Offset moves the shadow relative to the window.
|
|
||||||
offset x=0 y=5
|
|
||||||
|
|
||||||
// You can also change the shadow color and opacity.
|
|
||||||
color "#0007"
|
|
||||||
}
|
|
||||||
|
|
||||||
// Struts shrink the area occupied by windows, similarly to layer-shell panels.
|
|
||||||
// You can think of them as a kind of outer gaps. They are set in logical pixels.
|
|
||||||
// Left and right struts will cause the next window to the side to always be visible.
|
|
||||||
// Top and bottom struts will simply add outer gaps in addition to the area occupied by
|
|
||||||
// layer-shell panels and regular gaps.
|
|
||||||
struts {
|
struts {
|
||||||
// left 64
|
// left 64
|
||||||
// right 64
|
// right 64
|
||||||
@ -287,140 +83,53 @@
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
// Add lines like this to spawn processes at startup.
|
// spawn-at-startup "waybar"
|
||||||
// Note that running niri as a session supports xdg-desktop-autostart,
|
spawn-at-startup "hyprpaper"
|
||||||
// which may be more convenient to use.
|
spawn-at-startup "${pkgs.mako}/bin/mako"
|
||||||
// See the binds section below for more spawn examples.
|
|
||||||
|
|
||||||
// This line starts waybar, a commonly used bar for Wayland compositors.
|
|
||||||
spawn-at-startup "waybar"
|
|
||||||
|
|
||||||
// To run a shell command (with variables, pipes, etc.), use spawn-sh-at-startup:
|
|
||||||
// spawn-sh-at-startup "qs -c ~/source/qs/MyAwesomeShell"
|
// spawn-sh-at-startup "qs -c ~/source/qs/MyAwesomeShell"
|
||||||
|
|
||||||
hotkey-overlay {
|
hotkey-overlay {
|
||||||
// Uncomment this line to disable the "Important Hotkeys" pop-up at startup.
|
// Uncomment this line to disable the "Important Hotkeys" pop-up at startup.
|
||||||
// skip-at-startup
|
skip-at-startup
|
||||||
}
|
}
|
||||||
|
|
||||||
// Uncomment this line to ask the clients to omit their client-side decorations if possible.
|
|
||||||
// If the client will specifically ask for CSD, the request will be honored.
|
|
||||||
// Additionally, clients will be informed that they are tiled, removing some client-side rounded corners.
|
|
||||||
// This option will also fix border/focus ring drawing behind some semitransparent windows.
|
|
||||||
// After enabling or disabling this, you need to restart the apps for this to take effect.
|
|
||||||
// prefer-no-csd
|
|
||||||
|
|
||||||
// You can change the path where screenshots are saved.
|
|
||||||
// A ~ at the front will be expanded to the home directory.
|
|
||||||
// The path is formatted with strftime(3) to give you the screenshot date and time.
|
|
||||||
screenshot-path "~/Pictures/Screenshots/Screenshot from %Y-%m-%d %H-%M-%S.png"
|
screenshot-path "~/Pictures/Screenshots/Screenshot from %Y-%m-%d %H-%M-%S.png"
|
||||||
|
|
||||||
// You can also set this to null to disable saving screenshots to disk.
|
|
||||||
// screenshot-path null
|
|
||||||
|
|
||||||
// Animation settings.
|
|
||||||
// The wiki explains how to configure individual animations:
|
|
||||||
// https://yalter.github.io/niri/Configuration:-Animations
|
|
||||||
animations {
|
|
||||||
// Uncomment to turn off all animations.
|
|
||||||
// off
|
|
||||||
|
|
||||||
// Slow down all animations by this factor. Values below 1 speed them up instead.
|
|
||||||
// slowdown 3.0
|
|
||||||
}
|
|
||||||
|
|
||||||
// Window rules let you adjust behavior for individual windows.
|
|
||||||
// Find more information on the wiki:
|
|
||||||
// https://yalter.github.io/niri/Configuration:-Window-Rules
|
|
||||||
|
|
||||||
// Work around WezTerm's initial configure bug
|
|
||||||
// by setting an empty default-column-width.
|
|
||||||
window-rule {
|
window-rule {
|
||||||
// This regular expression is intentionally made as specific as possible,
|
|
||||||
// since this is the default config, and we want no false positives.
|
|
||||||
// You can get away with just app-id="wezterm" if you want.
|
|
||||||
match app-id=r#"^org\.wezfurlong\.wezterm$"#
|
|
||||||
default-column-width {}
|
|
||||||
}
|
|
||||||
|
|
||||||
// Open the Firefox picture-in-picture player as floating by default.
|
|
||||||
window-rule {
|
|
||||||
// This app-id regular expression will work for both:
|
|
||||||
// - host Firefox (app-id is "firefox")
|
|
||||||
// - Flatpak Firefox (app-id is "org.mozilla.firefox")
|
|
||||||
match app-id=r#"firefox$"# title="^Picture-in-Picture$"
|
|
||||||
open-floating true
|
|
||||||
}
|
|
||||||
|
|
||||||
// Example: block out two password managers from screen capture.
|
|
||||||
// (This example rule is commented out with a "/-" in front.)
|
|
||||||
/-window-rule {
|
|
||||||
match app-id=r#"^org\.keepassxc\.KeePassXC$"#
|
|
||||||
match app-id=r#"^org\.gnome\.World\.Secrets$"#
|
|
||||||
|
|
||||||
block-out-from "screen-capture"
|
|
||||||
|
|
||||||
// Use this instead if you want them visible on third-party screenshot tools.
|
|
||||||
// block-out-from "screencast"
|
|
||||||
}
|
|
||||||
|
|
||||||
// Example: enable rounded corners for all windows.
|
|
||||||
// (This example rule is commented out with a "/-" in front.)
|
|
||||||
/-window-rule {
|
|
||||||
geometry-corner-radius 12
|
geometry-corner-radius 12
|
||||||
clip-to-geometry true
|
clip-to-geometry true
|
||||||
|
draw-border-with-background false
|
||||||
|
}
|
||||||
|
|
||||||
|
output "eDP-1" {
|
||||||
|
mode "2880x1920@120.000"
|
||||||
|
scale 2
|
||||||
|
// Optional: position x=0 y=0
|
||||||
}
|
}
|
||||||
|
|
||||||
binds {
|
binds {
|
||||||
// Keys consist of modifiers separated by + signs, followed by an XKB key name
|
Mod+Shift+Minus { show-hotkey-overlay; }
|
||||||
// in the end. To find an XKB name for a particular key, you may use a program
|
|
||||||
// like wev.
|
|
||||||
//
|
|
||||||
// "Mod" is a special modifier equal to Super when running on a TTY, and to Alt
|
|
||||||
// when running as a winit window.
|
|
||||||
//
|
|
||||||
// Most actions that you can bind here can also be invoked programmatically with
|
|
||||||
// `niri msg action do-something`.
|
|
||||||
|
|
||||||
// Mod-Shift-/, which is usually the same as Mod-?,
|
|
||||||
// shows a list of important hotkeys.
|
|
||||||
Mod+Shift+Slash { show-hotkey-overlay; }
|
|
||||||
|
|
||||||
// Suggested binds for running programs: terminal, app launcher, screen locker.
|
|
||||||
Mod+T hotkey-overlay-title="Open a Terminal: kitty" { spawn "kitty"; }
|
Mod+T hotkey-overlay-title="Open a Terminal: kitty" { spawn "kitty"; }
|
||||||
Mod+D hotkey-overlay-title="Run an Application: fuzzel" { spawn "fuzzel"; }
|
Mod+D hotkey-overlay-title="Run an Application: fuzzel" { spawn "fuzzel"; }
|
||||||
Super+Alt+L hotkey-overlay-title="Lock the Screen: hyprlock" { spawn "hyrplock"; }
|
Super+L hotkey-overlay-title="Lock the Screen: hyprlock" { spawn "hyprlock"; }
|
||||||
|
|
||||||
// Use spawn-sh to run a shell command. Do this if you need pipes, multiple commands, etc.
|
|
||||||
// Note: the entire command goes as a single argument. It's passed verbatim to `sh -c`.
|
|
||||||
// For example, this is a standard bind to toggle the screen reader (orca).
|
|
||||||
Super+Alt+S allow-when-locked=true hotkey-overlay-title=null { spawn-sh "pkill orca || exec orca"; }
|
Super+Alt+S allow-when-locked=true hotkey-overlay-title=null { spawn-sh "pkill orca || exec orca"; }
|
||||||
|
|
||||||
// Example volume keys mappings for PipeWire & WirePlumber.
|
|
||||||
// The allow-when-locked=true property makes them work even when the session is locked.
|
|
||||||
// Using spawn-sh allows to pass multiple arguments together with the command.
|
|
||||||
// "-l 1.0" limits the volume to 100%.
|
|
||||||
XF86AudioRaiseVolume allow-when-locked=true { spawn-sh "wpctl set-volume @DEFAULT_AUDIO_SINK@ 0.1+ -l 1.0"; }
|
XF86AudioRaiseVolume allow-when-locked=true { spawn-sh "wpctl set-volume @DEFAULT_AUDIO_SINK@ 0.1+ -l 1.0"; }
|
||||||
XF86AudioLowerVolume allow-when-locked=true { spawn-sh "wpctl set-volume @DEFAULT_AUDIO_SINK@ 0.1-"; }
|
XF86AudioLowerVolume allow-when-locked=true { spawn-sh "wpctl set-volume @DEFAULT_AUDIO_SINK@ 0.1-"; }
|
||||||
XF86AudioMute allow-when-locked=true { spawn-sh "wpctl set-mute @DEFAULT_AUDIO_SINK@ toggle"; }
|
XF86AudioMute allow-when-locked=true { spawn-sh "wpctl set-mute @DEFAULT_AUDIO_SINK@ toggle"; }
|
||||||
XF86AudioMicMute allow-when-locked=true { spawn-sh "wpctl set-mute @DEFAULT_AUDIO_SOURCE@ toggle"; }
|
XF86AudioMicMute allow-when-locked=true { spawn-sh "wpctl set-mute @DEFAULT_AUDIO_SOURCE@ toggle"; }
|
||||||
|
|
||||||
// Example media keys mapping using playerctl.
|
|
||||||
// This will work with any MPRIS-enabled media player.
|
|
||||||
XF86AudioPlay allow-when-locked=true { spawn-sh "playerctl play-pause"; }
|
XF86AudioPlay allow-when-locked=true { spawn-sh "playerctl play-pause"; }
|
||||||
XF86AudioStop allow-when-locked=true { spawn-sh "playerctl stop"; }
|
XF86AudioStop allow-when-locked=true { spawn-sh "playerctl stop"; }
|
||||||
XF86AudioPrev allow-when-locked=true { spawn-sh "playerctl previous"; }
|
XF86AudioPrev allow-when-locked=true { spawn-sh "playerctl previous"; }
|
||||||
XF86AudioNext allow-when-locked=true { spawn-sh "playerctl next"; }
|
XF86AudioNext allow-when-locked=true { spawn-sh "playerctl next"; }
|
||||||
|
|
||||||
// Example brightness key mappings for brightnessctl.
|
|
||||||
// You can use regular spawn with multiple arguments too (to avoid going through "sh"),
|
|
||||||
// but you need to manually put each argument in separate "" quotes.
|
|
||||||
XF86MonBrightnessUp allow-when-locked=true { spawn "brightnessctl" "--class=backlight" "set" "+10%"; }
|
XF86MonBrightnessUp allow-when-locked=true { spawn "brightnessctl" "--class=backlight" "set" "+10%"; }
|
||||||
XF86MonBrightnessDown allow-when-locked=true { spawn "brightnessctl" "--class=backlight" "set" "10%-"; }
|
XF86MonBrightnessDown allow-when-locked=true { spawn "brightnessctl" "--class=backlight" "set" "10%-"; }
|
||||||
|
|
||||||
// Open/close the Overview: a zoomed-out view of workspaces and windows.
|
|
||||||
// You can also move the mouse into the top-left hot corner,
|
|
||||||
// or do a four-finger swipe up on a touchpad.
|
|
||||||
Mod+O repeat=false { toggle-overview; }
|
Mod+O repeat=false { toggle-overview; }
|
||||||
|
|
||||||
Mod+Q repeat=false { close-window; }
|
Mod+Q repeat=false { close-window; }
|
||||||
@ -443,21 +152,14 @@
|
|||||||
Mod+Ctrl+K { move-window-up; }
|
Mod+Ctrl+K { move-window-up; }
|
||||||
Mod+Ctrl+L { move-column-right; }
|
Mod+Ctrl+L { move-column-right; }
|
||||||
|
|
||||||
// Alternative commands that move across workspaces when reaching
|
|
||||||
// the first or last window in a column.
|
|
||||||
// Mod+J { focus-window-or-workspace-down; }
|
|
||||||
// Mod+K { focus-window-or-workspace-up; }
|
|
||||||
// Mod+Ctrl+J { move-window-down-or-to-workspace-down; }
|
|
||||||
// Mod+Ctrl+K { move-window-up-or-to-workspace-up; }
|
|
||||||
|
|
||||||
Mod+Home { focus-column-first; }
|
Mod+Home { focus-column-first; }
|
||||||
Mod+End { focus-column-last; }
|
Mod+End { focus-column-last; }
|
||||||
Mod+Ctrl+Home { move-column-to-first; }
|
Mod+Ctrl+Home { move-column-to-first; }
|
||||||
Mod+Ctrl+End { move-column-to-last; }
|
Mod+Ctrl+End { move-column-to-last; }
|
||||||
|
|
||||||
Mod+Shift+Left { focus-monitor-left; }
|
Mod+Shift+Left { focus-monitor-left; }
|
||||||
Mod+Shift+Down { focus-monitor-down; }
|
Mod+Shift+Down { move-window-down-or-to-workspace-down; }
|
||||||
Mod+Shift+Up { focus-monitor-up; }
|
Mod+Shift+Up { move-window-up-or-to-workspace-up; }
|
||||||
Mod+Shift+Right { focus-monitor-right; }
|
Mod+Shift+Right { focus-monitor-right; }
|
||||||
Mod+Shift+H { focus-monitor-left; }
|
Mod+Shift+H { focus-monitor-left; }
|
||||||
Mod+Shift+J { focus-monitor-down; }
|
Mod+Shift+J { focus-monitor-down; }
|
||||||
@ -473,14 +175,6 @@
|
|||||||
Mod+Shift+Ctrl+K { move-column-to-monitor-up; }
|
Mod+Shift+Ctrl+K { move-column-to-monitor-up; }
|
||||||
Mod+Shift+Ctrl+L { move-column-to-monitor-right; }
|
Mod+Shift+Ctrl+L { move-column-to-monitor-right; }
|
||||||
|
|
||||||
// Alternatively, there are commands to move just a single window:
|
|
||||||
// Mod+Shift+Ctrl+Left { move-window-to-monitor-left; }
|
|
||||||
// ...
|
|
||||||
|
|
||||||
// And you can also move a whole workspace to another monitor:
|
|
||||||
// Mod+Shift+Ctrl+Left { move-workspace-to-monitor-left; }
|
|
||||||
// ...
|
|
||||||
|
|
||||||
Mod+Page_Down { focus-workspace-down; }
|
Mod+Page_Down { focus-workspace-down; }
|
||||||
Mod+Page_Up { focus-workspace-up; }
|
Mod+Page_Up { focus-workspace-up; }
|
||||||
Mod+U { focus-workspace-down; }
|
Mod+U { focus-workspace-down; }
|
||||||
@ -490,21 +184,12 @@
|
|||||||
Mod+Ctrl+U { move-column-to-workspace-down; }
|
Mod+Ctrl+U { move-column-to-workspace-down; }
|
||||||
Mod+Ctrl+I { move-column-to-workspace-up; }
|
Mod+Ctrl+I { move-column-to-workspace-up; }
|
||||||
|
|
||||||
// Alternatively, there are commands to move just a single window:
|
|
||||||
// Mod+Ctrl+Page_Down { move-window-to-workspace-down; }
|
|
||||||
// ...
|
|
||||||
|
|
||||||
Mod+Shift+Page_Down { move-workspace-down; }
|
Mod+Shift+Page_Down { move-workspace-down; }
|
||||||
Mod+Shift+Page_Up { move-workspace-up; }
|
Mod+Shift+Page_Up { move-workspace-up; }
|
||||||
Mod+Shift+U { move-workspace-down; }
|
Mod+Shift+U { move-workspace-down; }
|
||||||
Mod+Shift+I { move-workspace-up; }
|
Mod+Shift+I { move-workspace-up; }
|
||||||
|
|
||||||
// You can bind mouse wheel scroll ticks using the following syntax.
|
|
||||||
// These binds will change direction based on the natural-scroll setting.
|
|
||||||
//
|
|
||||||
// To avoid scrolling through workspaces really fast, you can use
|
|
||||||
// the cooldown-ms property. The bind will be rate-limited to this value.
|
|
||||||
// You can set a cooldown on any bind, but it's most useful for the wheel.
|
|
||||||
Mod+WheelScrollDown cooldown-ms=150 { focus-workspace-down; }
|
Mod+WheelScrollDown cooldown-ms=150 { focus-workspace-down; }
|
||||||
Mod+WheelScrollUp cooldown-ms=150 { focus-workspace-up; }
|
Mod+WheelScrollUp cooldown-ms=150 { focus-workspace-up; }
|
||||||
Mod+Ctrl+WheelScrollDown cooldown-ms=150 { move-column-to-workspace-down; }
|
Mod+Ctrl+WheelScrollDown cooldown-ms=150 { move-column-to-workspace-down; }
|
||||||
@ -515,30 +200,11 @@
|
|||||||
Mod+Ctrl+WheelScrollRight { move-column-right; }
|
Mod+Ctrl+WheelScrollRight { move-column-right; }
|
||||||
Mod+Ctrl+WheelScrollLeft { move-column-left; }
|
Mod+Ctrl+WheelScrollLeft { move-column-left; }
|
||||||
|
|
||||||
// Usually scrolling up and down with Shift in applications results in
|
|
||||||
// horizontal scrolling; these binds replicate that.
|
|
||||||
Mod+Shift+WheelScrollDown { focus-column-right; }
|
Mod+Shift+WheelScrollDown { focus-column-right; }
|
||||||
Mod+Shift+WheelScrollUp { focus-column-left; }
|
Mod+Shift+WheelScrollUp { focus-column-left; }
|
||||||
Mod+Ctrl+Shift+WheelScrollDown { move-column-right; }
|
Mod+Ctrl+Shift+WheelScrollDown { move-column-right; }
|
||||||
Mod+Ctrl+Shift+WheelScrollUp { move-column-left; }
|
Mod+Ctrl+Shift+WheelScrollUp { move-column-left; }
|
||||||
|
|
||||||
// Similarly, you can bind touchpad scroll "ticks".
|
|
||||||
// Touchpad scrolling is continuous, so for these binds it is split into
|
|
||||||
// discrete intervals.
|
|
||||||
// These binds are also affected by touchpad's natural-scroll, so these
|
|
||||||
// example binds are "inverted", since we have natural-scroll enabled for
|
|
||||||
// touchpads by default.
|
|
||||||
// Mod+TouchpadScrollDown { spawn-sh "wpctl set-volume @DEFAULT_AUDIO_SINK@ 0.02+"; }
|
|
||||||
// Mod+TouchpadScrollUp { spawn-sh "wpctl set-volume @DEFAULT_AUDIO_SINK@ 0.02-"; }
|
|
||||||
|
|
||||||
// You can refer to workspaces by index. However, keep in mind that
|
|
||||||
// niri is a dynamic workspace system, so these commands are kind of
|
|
||||||
// "best effort". Trying to refer to a workspace index bigger than
|
|
||||||
// the current workspace count will instead refer to the bottommost
|
|
||||||
// (empty) workspace.
|
|
||||||
//
|
|
||||||
// For example, with 2 workspaces + 1 empty, indices 3, 4, 5 and so on
|
|
||||||
// will all refer to the 3rd workspace.
|
|
||||||
Mod+1 { focus-workspace 1; }
|
Mod+1 { focus-workspace 1; }
|
||||||
Mod+2 { focus-workspace 2; }
|
Mod+2 { focus-workspace 2; }
|
||||||
Mod+3 { focus-workspace 3; }
|
Mod+3 { focus-workspace 3; }
|
||||||
@ -558,17 +224,8 @@
|
|||||||
Mod+Ctrl+8 { move-column-to-workspace 8; }
|
Mod+Ctrl+8 { move-column-to-workspace 8; }
|
||||||
Mod+Ctrl+9 { move-column-to-workspace 9; }
|
Mod+Ctrl+9 { move-column-to-workspace 9; }
|
||||||
|
|
||||||
// Alternatively, there are commands to move just a single window:
|
Mod+udiaeresis { consume-or-expel-window-left; }
|
||||||
// Mod+Ctrl+1 { move-window-to-workspace 1; }
|
Mod+plus { consume-or-expel-window-right; }
|
||||||
|
|
||||||
// Switches focus between the current and the previous workspace.
|
|
||||||
// Mod+Tab { focus-workspace-previous; }
|
|
||||||
|
|
||||||
// The following binds move the focused window in and out of a column.
|
|
||||||
// If the window is alone, they will consume it into the nearby column to the side.
|
|
||||||
// If the window is already in a column, they will expel it out.
|
|
||||||
Mod+BracketLeft { consume-or-expel-window-left; }
|
|
||||||
Mod+BracketRight { consume-or-expel-window-right; }
|
|
||||||
|
|
||||||
// Consume one window from the right to the bottom of the focused column.
|
// Consume one window from the right to the bottom of the focused column.
|
||||||
Mod+Comma { consume-window-into-column; }
|
Mod+Comma { consume-window-into-column; }
|
||||||
@ -576,74 +233,37 @@
|
|||||||
Mod+Period { expel-window-from-column; }
|
Mod+Period { expel-window-from-column; }
|
||||||
|
|
||||||
Mod+R { switch-preset-column-width; }
|
Mod+R { switch-preset-column-width; }
|
||||||
// Cycling through the presets in reverse order is also possible.
|
|
||||||
// Mod+R { switch-preset-column-width-back; }
|
|
||||||
Mod+Shift+R { switch-preset-window-height; }
|
Mod+Shift+R { switch-preset-window-height; }
|
||||||
Mod+Ctrl+R { reset-window-height; }
|
Mod+Ctrl+R { reset-window-height; }
|
||||||
Mod+F { maximize-column; }
|
Mod+F { maximize-column; }
|
||||||
Mod+Shift+F { fullscreen-window; }
|
Mod+Shift+F { fullscreen-window; }
|
||||||
|
|
||||||
// Expand the focused column to space not taken up by other fully visible columns.
|
|
||||||
// Makes the column "fill the rest of the space".
|
|
||||||
Mod+Ctrl+F { expand-column-to-available-width; }
|
Mod+Ctrl+F { expand-column-to-available-width; }
|
||||||
|
|
||||||
Mod+C { center-column; }
|
Mod+C { center-column; }
|
||||||
|
|
||||||
// Center all fully visible columns on screen.
|
|
||||||
Mod+Ctrl+C { center-visible-columns; }
|
Mod+Ctrl+C { center-visible-columns; }
|
||||||
|
|
||||||
// Finer width adjustments.
|
Mod+ssharp { set-column-width "-10%"; }
|
||||||
// This command can also:
|
Mod+dead_acute { set-column-width "+10%"; }
|
||||||
// * set width in pixels: "1000"
|
|
||||||
// * adjust width in pixels: "-5" or "+5"
|
|
||||||
// * set width as a percentage of screen width: "25%"
|
|
||||||
// * adjust width as a percentage of screen width: "-10%" or "+10%"
|
|
||||||
// Pixel sizes use logical, or scaled, pixels. I.e. on an output with scale 2.0,
|
|
||||||
// set-column-width "100" will make the column occupy 200 physical screen pixels.
|
|
||||||
Mod+Minus { set-column-width "-10%"; }
|
|
||||||
Mod+Equal { set-column-width "+10%"; }
|
|
||||||
|
|
||||||
// Finer height adjustments when in column with other windows.
|
Mod+Shift+ssharp { set-window-height "-10%"; }
|
||||||
Mod+Shift+Minus { set-window-height "-10%"; }
|
Mod+Shift+dead_acute { set-window-height "+10%"; }
|
||||||
Mod+Shift+Equal { set-window-height "+10%"; }
|
|
||||||
|
|
||||||
// Move the focused window between the floating and the tiling layout.
|
|
||||||
Mod+V { toggle-window-floating; }
|
Mod+V { toggle-window-floating; }
|
||||||
Mod+Shift+V { switch-focus-between-floating-and-tiling; }
|
Mod+Shift+V { switch-focus-between-floating-and-tiling; }
|
||||||
|
|
||||||
// Toggle tabbed column display mode.
|
|
||||||
// Windows in this column will appear as vertical tabs,
|
|
||||||
// rather than stacked on top of each other.
|
|
||||||
Mod+W { toggle-column-tabbed-display; }
|
Mod+W { toggle-column-tabbed-display; }
|
||||||
|
|
||||||
// Actions to switch layouts.
|
|
||||||
// Note: if you uncomment these, make sure you do NOT have
|
|
||||||
// a matching layout switch hotkey configured in xkb options above.
|
|
||||||
// Having both at once on the same hotkey will break the switching,
|
|
||||||
// since it will switch twice upon pressing the hotkey (once by xkb, once by niri).
|
|
||||||
// Mod+Space { switch-layout "next"; }
|
|
||||||
// Mod+Shift+Space { switch-layout "prev"; }
|
|
||||||
|
|
||||||
Print { screenshot; }
|
Print { screenshot; }
|
||||||
Ctrl+Print { screenshot-screen; }
|
Ctrl+Print { screenshot-screen; }
|
||||||
Alt+Print { screenshot-window; }
|
Alt+Print { screenshot-window; }
|
||||||
|
|
||||||
// Applications such as remote-desktop clients and software KVM switches may
|
|
||||||
// request that niri stops processing the keyboard shortcuts defined here
|
|
||||||
// so they may, for example, forward the key presses as-is to a remote machine.
|
|
||||||
// It's a good idea to bind an escape hatch to toggle the inhibitor,
|
|
||||||
// so a buggy application can't hold your session hostage.
|
|
||||||
//
|
|
||||||
// The allow-inhibiting=false property can be applied to other binds as well,
|
|
||||||
// which ensures niri always processes them, even when an inhibitor is active.
|
|
||||||
Mod+Escape allow-inhibiting=false { toggle-keyboard-shortcuts-inhibit; }
|
Mod+Escape allow-inhibiting=false { toggle-keyboard-shortcuts-inhibit; }
|
||||||
|
|
||||||
// The quit action will show a confirmation dialog to avoid accidental exits.
|
|
||||||
Mod+Shift+E { quit; }
|
Mod+Shift+E { quit; }
|
||||||
Ctrl+Alt+Delete { quit; }
|
Ctrl+Alt+Delete { quit; }
|
||||||
|
|
||||||
// Powers off the monitors. To turn them back on, do any input like
|
|
||||||
// moving the mouse or pressing any other key.
|
|
||||||
Mod+Shift+P { power-off-monitors; }
|
Mod+Shift+P { power-off-monitors; }
|
||||||
}
|
}
|
||||||
'';
|
'';
|
||||||
|
|||||||
@ -1,46 +0,0 @@
|
|||||||
{ config, inputs, pkgs, ... }:
|
|
||||||
{
|
|
||||||
imports = [
|
|
||||||
# ./autostart.nix
|
|
||||||
../modules/noctalia
|
|
||||||
../modules/hyprlock
|
|
||||||
../modules/hyprpaper
|
|
||||||
../modules/stylix.nix
|
|
||||||
];
|
|
||||||
|
|
||||||
home-manager.sharedModules = [
|
|
||||||
./home.nix
|
|
||||||
];
|
|
||||||
|
|
||||||
environment.systemPackages = with pkgs;
|
|
||||||
[
|
|
||||||
mako
|
|
||||||
waybar
|
|
||||||
fuzzel
|
|
||||||
];
|
|
||||||
|
|
||||||
# programs = {
|
|
||||||
# niri = {
|
|
||||||
# enable = true;
|
|
||||||
# };
|
|
||||||
# };
|
|
||||||
|
|
||||||
|
|
||||||
#services.xserver.enable = true;
|
|
||||||
#services.xserver.displayManager.sddm.enable = true;
|
|
||||||
|
|
||||||
# xdg.portal = {
|
|
||||||
# enable = true;
|
|
||||||
# extraPortals = [ pkgs.xdg-desktop-portal-gtk ];
|
|
||||||
# };
|
|
||||||
|
|
||||||
#sound.enable = true;
|
|
||||||
#security.rtkit.enable = true;
|
|
||||||
#services.pipewire = {
|
|
||||||
# enable = true;
|
|
||||||
# alsa.enable = true;
|
|
||||||
# #alsa.support3Bbit = true;
|
|
||||||
# pulse.enable = true;
|
|
||||||
# jack.enable = true;
|
|
||||||
#};
|
|
||||||
}
|
|
||||||
@ -1,7 +1,5 @@
|
|||||||
#Variables
|
#Variables
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
#----------
|
#----------
|
||||||
# Commands that will be used as aliases for zsh and bash
|
# Commands that will be used as aliases for zsh and bash
|
||||||
#----------
|
#----------
|
||||||
@ -9,8 +7,8 @@
|
|||||||
# Common commands
|
# Common commands
|
||||||
#-----
|
#-----
|
||||||
alias py="python3"
|
alias py="python3"
|
||||||
#alias mcrow="sudo micro"
|
|
||||||
alias mcrow="echo 'you better try to use nvim you little shit! :3'"
|
alias mcrow="echo 'you better try to use nvim you little shit! :3'"
|
||||||
|
alias vi="nvim"
|
||||||
alias srcals="source $HOME/NixOS/other/aliases && echo 'Sourced Aliases ... successful!'"
|
alias srcals="source $HOME/NixOS/other/aliases && echo 'Sourced Aliases ... successful!'"
|
||||||
alias please="sudo"
|
alias please="sudo"
|
||||||
alias se="sudoedit"
|
alias se="sudoedit"
|
||||||
@ -22,36 +20,13 @@ alias neofetch="fastfetch"
|
|||||||
|
|
||||||
# Nix Specific commands
|
# Nix Specific commands
|
||||||
#-----
|
#-----
|
||||||
#alias nix-upd="sudo nixos-rebuild switch --flake /etc/nixos"
|
|
||||||
#alias nix-update="sudo nixos-rebuild switch --flake /etc/nixos"
|
|
||||||
#alias nix-edit="sudoedit /etc/nixos/configuration.nix"
|
|
||||||
#alias nix-packages="sudoedit /etc/nixos/packages.nix"
|
|
||||||
#alias nix-pkgs="sudoedit /etc/nixos/packages.nix"
|
|
||||||
#alias nix-flake="sudoedit /etc/nixos/flake.nix"
|
|
||||||
#alias nix-edit-flake="sudoedit /etc/nixos/flake.nix"
|
|
||||||
#alias nix-zsh="sudoedit /etc/nixos/zsh.nix"
|
|
||||||
#alias nix-edit-zsh="sudoedit /etc/nixos/zsh.nix"
|
|
||||||
#alias nix-aliases="sudoedit /etc/nixos/other/aliases"
|
|
||||||
#alias nix-edit-aliases="sudoedit /etc/nixos/other/aliases"
|
|
||||||
#alias nix-regenerate-config="sudo nixos-generate-config"
|
|
||||||
#alias nix-home="sudoedit /etc/nixos/home.nix"
|
|
||||||
alias nix-gc="sudo nix-store --gc"
|
alias nix-gc="sudo nix-store --gc"
|
||||||
alias nix-clean="sudo nix-store --gc"
|
alias nix-clean="sudo nix-store --gc"
|
||||||
alias nix-clear="sudo nix-store --gc"
|
alias nix-clear="sudo nix-store --gc"
|
||||||
|
|
||||||
#alias home-edit="sudoedit /etc/nixos/home.nix"
|
|
||||||
|
|
||||||
#alias cd-nix="cd /etc/nixos/"
|
|
||||||
|
|
||||||
#KDE Plasma Specific
|
#KDE Plasma Specific
|
||||||
#-----
|
#-----
|
||||||
alias kde-theme-apply="source $HOME/NixOS/plasma/konsave.sh"
|
alias kde-theme-apply="source $HOME/NixOS/plasma/konsave.sh"
|
||||||
|
|
||||||
#Hyprland Specific
|
|
||||||
#-----
|
|
||||||
alias exit-hyprland="hyprctl dispatch exit"
|
|
||||||
alias hyprland-exit="hyprctl dispatch exit"
|
|
||||||
alias hypr-edit="sudoedit $HOME/NixOS/hyprland/hyprland.conf"
|
|
||||||
|
|
||||||
#LaTeX Commands
|
#LaTeX Commands
|
||||||
alias makepdf="makeglossaries main && pdflatex main.tex"
|
alias makepdf="makeglossaries main && pdflatex main.tex"
|
||||||
|
|||||||
BIN
other/discord.app.png
Normal file
BIN
other/discord.app.png
Normal file
Binary file not shown.
|
After Width: | Height: | Size: 2.0 KiB |
Binary file not shown.
|
Before Width: | Height: | Size: 8.9 MiB |
BIN
other/wallpaper1.png
Normal file
BIN
other/wallpaper1.png
Normal file
Binary file not shown.
|
After Width: | Height: | Size: 134 KiB |
BIN
other/wallpaper3.png
Normal file
BIN
other/wallpaper3.png
Normal file
Binary file not shown.
|
After Width: | Height: | Size: 2.7 MiB |
BIN
other/wallpaper4.png
Normal file
BIN
other/wallpaper4.png
Normal file
Binary file not shown.
|
After Width: | Height: | Size: 3.1 MiB |
Binary file not shown.
@ -1,65 +1,38 @@
|
|||||||
{ config, pkgs, username, ... }:
|
|
||||||
{
|
{
|
||||||
|
config,
|
||||||
#To show logs of services run: journalctl --user-unit={service-name} --user
|
pkgs,
|
||||||
|
username,
|
||||||
systemd.user.services.set-wallpaper = {
|
project,
|
||||||
enable = true;
|
...
|
||||||
description = "Set KDE Plasma wallpaper";
|
}: {
|
||||||
#after = [ "plasma-desktop.service" ];
|
#To show logs of services run: journalctl --user-unit={service-name} --user
|
||||||
wantedBy = [ "graphical-session.target" ];
|
|
||||||
serviceConfig = {
|
|
||||||
ExecStart = [ "/run/current-system/sw/bin/plasma-apply-wallpaperimage /home/${username}/NixOS/other/wallpaper2.png" ];
|
|
||||||
|
|
||||||
Type = "oneshot";
|
|
||||||
Restart = "on-failure";
|
|
||||||
RestartSec = "5s";
|
|
||||||
};
|
|
||||||
};
|
|
||||||
|
|
||||||
systemd.user.services.autostart-yakuake = {
|
systemd.user.services.autostart-yakuake = {
|
||||||
enable = true;
|
enable = true;
|
||||||
description = "Automatically start Yakuake";
|
description = "Automatically start Yakuake";
|
||||||
after = [ "graphical-session.target" ];
|
after = ["graphical-session.target"];
|
||||||
wantedBy = [ "graphical-session.target" ];
|
wantedBy = ["graphical-session.target"];
|
||||||
serviceConfig = {
|
serviceConfig = {
|
||||||
ExecStart = [ "${pkgs.kdePackages.yakuake}/bin/yakuake" ];
|
ExecStart = ["${pkgs.kdePackages.yakuake}/bin/yakuake"];
|
||||||
|
|
||||||
Type = "oneshot";
|
Type = "oneshot";
|
||||||
Restart = "on-failure";
|
Restart = "on-failure";
|
||||||
RestartSec = "5s";
|
RestartSec = "5s";
|
||||||
Environment = "PATH=/run/current-system/sw/bin:/etc/profiles/per-user/$USER/bin";
|
Environment = "PATH=/run/current-system/sw/bin:/etc/profiles/per-user/$USER/bin";
|
||||||
};
|
};
|
||||||
};
|
|
||||||
|
|
||||||
systemd.user.services.theme-set-reminder = {
|
|
||||||
enable = true;
|
|
||||||
description = "Remind the user to apply the custom Plasma Theme shipped with this NixOS";
|
|
||||||
after = [ "graphical-session.target" ];
|
|
||||||
wantedBy = [ "graphical-session.target" ];
|
|
||||||
serviceConfig = {
|
|
||||||
# ExecStart = [ "${pkgs.kdePackages.kdialog}/bin/kdialog --passivepopup \"Dont forget to apply custom system theme! (run kde-theme-apply in terminal)\"" ];
|
|
||||||
ExecStart = [ "/etc/nixos/plasma/theme-popup.sh" ];
|
|
||||||
|
|
||||||
Type = "oneshot";
|
|
||||||
Restart = "on-failure";
|
|
||||||
RestartSec = "5s";
|
|
||||||
# Environment = "PATH=/run/current-system/sw/bin:/etc/profiles/per-user/$USER/bin";
|
|
||||||
# Environment = "DISPLAY=:0";
|
|
||||||
};
|
|
||||||
};
|
};
|
||||||
|
|
||||||
systemd.user.services.autostart-trayscale = {
|
systemd.user.services.autostart-trayscale = {
|
||||||
enable = true;
|
enable = true;
|
||||||
description = "Automatically start Trayscale";
|
description = "Automatically start Trayscale";
|
||||||
#after = [ "plasma-desktop.service" ];
|
#after = [ "plasma-desktop.service" ];
|
||||||
wantedBy = [ "default.target" ];
|
wantedBy = ["default.target"];
|
||||||
serviceConfig = {
|
serviceConfig = {
|
||||||
ExecStart = [ "${pkgs.trayscale}/bin/trayscale --hide-window" ];
|
ExecStart = ["${pkgs.trayscale}/bin/trayscale --hide-window"];
|
||||||
|
|
||||||
Type = "oneshot";
|
Type = "oneshot";
|
||||||
Restart = "on-failure";
|
Restart = "on-failure";
|
||||||
RestartSec = "5s";
|
RestartSec = "5s";
|
||||||
};
|
};
|
||||||
};
|
};
|
||||||
}
|
}
|
||||||
|
|||||||
100
plasma/default.nix
Normal file
100
plasma/default.nix
Normal file
@ -0,0 +1,100 @@
|
|||||||
|
{
|
||||||
|
config,
|
||||||
|
pkgs,
|
||||||
|
username,
|
||||||
|
project,
|
||||||
|
...
|
||||||
|
}: let
|
||||||
|
# Define the custom background package with the correct relative path
|
||||||
|
background-package = pkgs.stdenvNoCC.mkDerivation {
|
||||||
|
name = "background-image";
|
||||||
|
src = ../other/wallpaper4.png; # Place wallpaper.jpg in the same directory as this config file
|
||||||
|
dontUnpack = true;
|
||||||
|
installPhase = ''
|
||||||
|
cp $src $out
|
||||||
|
'';
|
||||||
|
};
|
||||||
|
|
||||||
|
plasmaTheme = "desktop"; #Possible values are "laptop" or "desktop"
|
||||||
|
powerProfile = "laptop"; #Possible values are "laptop" or "desktop"
|
||||||
|
in {
|
||||||
|
imports = [
|
||||||
|
./autostart.nix
|
||||||
|
../modules/stylix
|
||||||
|
];
|
||||||
|
|
||||||
|
# Pass the variable to home-manager
|
||||||
|
home-manager.extraSpecialArgs = {
|
||||||
|
inherit plasmaTheme powerProfile;
|
||||||
|
};
|
||||||
|
|
||||||
|
home-manager.sharedModules = [
|
||||||
|
./home.nix
|
||||||
|
];
|
||||||
|
|
||||||
|
systemd.services = {
|
||||||
|
"plasma-workspace".serviceConfig.KillMode = "mixed";
|
||||||
|
"plasma-workspace".serviceConfig.TimeoutStopSec = "5s";
|
||||||
|
"sddm".serviceConfig.KillMode = "mixed";
|
||||||
|
};
|
||||||
|
|
||||||
|
programs.gamemode.enable = true;
|
||||||
|
|
||||||
|
services = {
|
||||||
|
xserver = {
|
||||||
|
enable = true;
|
||||||
|
videoDrivers = ["amdgpu"];
|
||||||
|
|
||||||
|
xkb = {
|
||||||
|
layout = "de";
|
||||||
|
variant = "";
|
||||||
|
};
|
||||||
|
|
||||||
|
desktopManager = {
|
||||||
|
#gnome.enable = true;
|
||||||
|
xterm.enable = false;
|
||||||
|
};
|
||||||
|
|
||||||
|
excludePackages = [pkgs.xterm];
|
||||||
|
## Enable sound with pipewire.
|
||||||
|
#services.pulseaudio.enable = false;
|
||||||
|
};
|
||||||
|
|
||||||
|
displayManager = {
|
||||||
|
sddm = {
|
||||||
|
enable = true;
|
||||||
|
theme = "breeze";
|
||||||
|
wayland.enable = true;
|
||||||
|
};
|
||||||
|
};
|
||||||
|
|
||||||
|
# Enable the KDE Plasma Desktop Environment.
|
||||||
|
desktopManager.plasma6.enable = true;
|
||||||
|
};
|
||||||
|
|
||||||
|
system.activationScripts.script.text = ''
|
||||||
|
source /home/${username}/${project}/other/colors.sh
|
||||||
|
source /home/${username}/${project}/other/pfp.sh
|
||||||
|
'';
|
||||||
|
|
||||||
|
environment = {
|
||||||
|
plasma6.excludePackages = with pkgs; [
|
||||||
|
kdePackages.elisa
|
||||||
|
];
|
||||||
|
|
||||||
|
systemPackages = with pkgs; [
|
||||||
|
(pkgs.writeTextDir "share/sddm/themes/breeze/theme.conf.user" ''
|
||||||
|
[General]
|
||||||
|
background = "${background-package}"
|
||||||
|
'') #Custom SDDM theme with background image
|
||||||
|
kdePackages.plymouth-kcm
|
||||||
|
xdg-desktop-portal
|
||||||
|
kdePackages.xdg-desktop-portal-kde
|
||||||
|
kdePackages.plasma-workspace
|
||||||
|
kdePackages.kdialog
|
||||||
|
kdePackages.yakuake #Drop down Terminal
|
||||||
|
kdePackages.bluez-qt #Bluetooth management for KDE Plasma
|
||||||
|
kdePackages.kconfig #To Get infos about the current config, such as themes
|
||||||
|
];
|
||||||
|
};
|
||||||
|
}
|
||||||
506
plasma/home.nix
506
plasma/home.nix
@ -1,493 +1,17 @@
|
|||||||
{pkgs, inputs, username, ...}:
|
|
||||||
{
|
{
|
||||||
|
pkgs,
|
||||||
imports = [
|
lib,
|
||||||
];
|
inputs,
|
||||||
|
username,
|
||||||
programs = {
|
project,
|
||||||
plasma = {
|
plasmaTheme,
|
||||||
enable = false;
|
...
|
||||||
overrideConfig = true;
|
}: {
|
||||||
|
imports =
|
||||||
panels = [
|
[
|
||||||
{
|
./settings/common.nix
|
||||||
height = 44;
|
./settings/powerProfile.nix
|
||||||
location = "top";
|
]
|
||||||
alignment = "center";
|
++ lib.optionals (plasmaTheme == "laptop") [./settings/laptop.nix]
|
||||||
floating = true;
|
++ lib.optionals (plasmaTheme == "desktop") [./settings/desktop.nix];
|
||||||
opacity = "translucent";
|
|
||||||
widgets = [
|
|
||||||
"org.kde.plasma.kickoff"
|
|
||||||
"org.kde.plasma.pager"
|
|
||||||
"org.kde.plasma.panelspacer"
|
|
||||||
"org.kde.plasma.systemmonitor.cpu"
|
|
||||||
"org.kde.plasma.systemtray"
|
|
||||||
"org.kde.plasma.digitalclock"
|
|
||||||
];
|
|
||||||
}
|
|
||||||
{
|
|
||||||
height = 60;
|
|
||||||
location = "bottom";
|
|
||||||
alignment = "center";
|
|
||||||
lengthMode = "fit";
|
|
||||||
floating = true;
|
|
||||||
opacity = "translucent";
|
|
||||||
hiding = "dodgewindows";
|
|
||||||
widgets = [
|
|
||||||
{
|
|
||||||
name = "org.kde.plasma.icontasks";
|
|
||||||
config = {
|
|
||||||
General = {
|
|
||||||
launchers = [
|
|
||||||
# optional pinned apps
|
|
||||||
"kitty.desktop"
|
|
||||||
"firefox.desktop"
|
|
||||||
"org.kde.dolphin.desktop"
|
|
||||||
];
|
|
||||||
};
|
|
||||||
};
|
|
||||||
}
|
|
||||||
|
|
||||||
];
|
|
||||||
}
|
|
||||||
];
|
|
||||||
|
|
||||||
powerdevil = {
|
|
||||||
# On AC power (plugged in): Minimal power saving
|
|
||||||
AC = {
|
|
||||||
powerProfile = "performance";
|
|
||||||
#turnOffDisplay.idleTimeout = 900; # 15 min idle
|
|
||||||
autoSuspend = {
|
|
||||||
action = "nothing";
|
|
||||||
};
|
|
||||||
dimDisplay.enable = false;
|
|
||||||
turnOffDisplay.idleTimeout = "never";
|
|
||||||
};
|
|
||||||
|
|
||||||
# Normal battery: Balanced saving
|
|
||||||
battery = {
|
|
||||||
powerProfile = "balanced";
|
|
||||||
#turnOffDisplay.idleTimeout = 300; # 5 min
|
|
||||||
autoSuspend = {
|
|
||||||
action = "nothing";
|
|
||||||
};
|
|
||||||
whenLaptopLidClosed = "sleep";
|
|
||||||
dimDisplay.enable = false;
|
|
||||||
turnOffDisplay.idleTimeout = "never";
|
|
||||||
};
|
|
||||||
|
|
||||||
# Low battery (e.g., <10%): Critical actions
|
|
||||||
lowBattery = {
|
|
||||||
powerProfile = "powerSaving";
|
|
||||||
autoSuspend = {
|
|
||||||
action = "sleep";
|
|
||||||
idleTimeout = 300; # 5 min idle
|
|
||||||
};
|
|
||||||
whenLaptopLidClosed = "shutDown";
|
|
||||||
dimDisplay = {
|
|
||||||
idleTimeout = 60;
|
|
||||||
};
|
|
||||||
displayBrightness = 30; #Go to 30% display Brightness
|
|
||||||
turnOffDisplay.idleTimeout = 120;
|
|
||||||
};
|
|
||||||
|
|
||||||
# Thresholds for "lowBattery" state
|
|
||||||
batteryLevels = {
|
|
||||||
lowLevel = 10;
|
|
||||||
criticalLevel = 5;
|
|
||||||
criticalAction = "sleep";
|
|
||||||
};
|
|
||||||
};
|
|
||||||
|
|
||||||
workspace = {
|
|
||||||
theme = "WhiteSur-dark";
|
|
||||||
colorScheme = "BreezeDark";
|
|
||||||
cursor = {
|
|
||||||
theme = "Breeze_Light";
|
|
||||||
size = 24;
|
|
||||||
};
|
|
||||||
wallpaper = /home/${username}/NixOS/other/wallpaper2.png;
|
|
||||||
soundTheme = "freedesktop";
|
|
||||||
iconTheme = "Breeze-LaCapitaine-apps";
|
|
||||||
splashScreen = {
|
|
||||||
theme = "a2n.kuro";
|
|
||||||
};
|
|
||||||
windowDecorations = {
|
|
||||||
library = "org.kde.kwin.aurorae";
|
|
||||||
theme = "__aurorae__svg__Nordic";
|
|
||||||
};
|
|
||||||
};
|
|
||||||
|
|
||||||
shortcuts = {
|
|
||||||
# ActivityManager.switch-to-activity-0f8d8349-5b1b-4b77-bfa5-22829bfaf459 = [ ];
|
|
||||||
# ActivityManager.switch-to-activity-7dbb43d7-7e06-4b20-907c-a1dbf4afe6c7 = [ ];
|
|
||||||
# ActivityManager.switch-to-activity-e85f493f-046d-4dca-9e07-987ecd4ca4bc = [ ];
|
|
||||||
# "KDE Keyboard Layout Switcher"."Switch keyboard layout to English (US)" = [ ];
|
|
||||||
# "KDE Keyboard Layout Switcher"."Switch keyboard layout to German" = [ ];
|
|
||||||
# "KDE Keyboard Layout Switcher"."Switch to Last-Used Keyboard Layout" = [ ];
|
|
||||||
# "KDE Keyboard Layout Switcher"."Switch to Next Keyboard Layout" = [ ];
|
|
||||||
# kaccess."Toggle Screen Reader On and Off" = "Meta+Alt+S";
|
|
||||||
# kcm_touchpad."Disable Touchpad" = "Touchpad Off";
|
|
||||||
# kcm_touchpad."Enable Touchpad" = "Touchpad On";
|
|
||||||
# kcm_touchpad."Toggle Touchpad" = ["Touchpad Toggle" "Meta+Ctrl+Zenkaku Hankaku"];
|
|
||||||
# kmix.decrease_microphone_volume = "Microphone Volume Down";
|
|
||||||
# kmix.decrease_volume = "Volume Down";
|
|
||||||
# kmix.decrease_volume_small = "Shift+Volume Down";
|
|
||||||
# kmix.increase_microphone_volume = "Microphone Volume Up";
|
|
||||||
# kmix.increase_volume = "Volume Up";
|
|
||||||
# kmix.increase_volume_small = "Shift+Volume Up";
|
|
||||||
# kmix.mic_mute = ["Microphone Mute" "Meta+Volume Mute"];
|
|
||||||
# kmix.mute = "Volume Mute";
|
|
||||||
# ksmserver."Halt Without Confirmation" = [ ];
|
|
||||||
# ksmserver."Lock Session" = ["Meta+L" "Screensaver"];
|
|
||||||
# ksmserver."Log Out" = "Ctrl+Alt+Del";
|
|
||||||
# ksmserver."Log Out Without Confirmation" = [ ];
|
|
||||||
# ksmserver.LogOut = [ ];
|
|
||||||
# ksmserver.Reboot = [ ];
|
|
||||||
# ksmserver."Reboot Without Confirmation" = [ ];
|
|
||||||
# ksmserver."Shut Down" = [ ];
|
|
||||||
# kwin."Activate Window Demanding Attention" = "Meta+Ctrl+A";
|
|
||||||
kwin.Cube = "Meta+C";
|
|
||||||
# kwin."Cycle Overview" = [ ];
|
|
||||||
# kwin."Cycle Overview Opposite" = [ ];
|
|
||||||
# kwin."Decrease Opacity" = [ ];
|
|
||||||
# kwin."Edit Tiles" = "Meta+T";
|
|
||||||
# kwin.Expose = "Ctrl+F9";
|
|
||||||
# kwin.ExposeAll = ["Ctrl+F10" "Launch (C)"];
|
|
||||||
# kwin.ExposeClass = "Ctrl+F7";
|
|
||||||
# kwin.ExposeClassCurrentDesktop = [ ];
|
|
||||||
kwin."Grid View" = "Meta+G";
|
|
||||||
# kwin."Increase Opacity" = [ ];
|
|
||||||
# kwin."Kill Window" = "Meta+Ctrl+Esc";
|
|
||||||
# kwin."Move Tablet to Next Output" = [ ];
|
|
||||||
# kwin.MoveMouseToCenter = "Meta+F6";
|
|
||||||
# kwin.MoveMouseToFocus = "Meta+F5";
|
|
||||||
# kwin.MoveZoomDown = [ ];
|
|
||||||
# kwin.MoveZoomLeft = [ ];
|
|
||||||
# kwin.MoveZoomRight = [ ];
|
|
||||||
# kwin.MoveZoomUp = [ ];
|
|
||||||
# kwin.Overview = "Meta+W";
|
|
||||||
# kwin."Setup Window Shortcut" = [ ];
|
|
||||||
# kwin."Show Desktop" = "Meta+D";
|
|
||||||
# kwin."Suspend Compositing" = "Alt+Shift+F12";
|
|
||||||
kwin."Switch One Desktop Down" = "Meta+Ctrl+Down";
|
|
||||||
kwin."Switch One Desktop Up" = "Meta+Ctrl+Up";
|
|
||||||
kwin."Switch One Desktop to the Left" = "Meta+Ctrl+Left";
|
|
||||||
kwin."Switch One Desktop to the Right" = "Meta+Ctrl+Right";
|
|
||||||
# kwin."Switch Window Down" = "Meta+Alt+Down";
|
|
||||||
# kwin."Switch Window Left" = "Meta+Alt+Left";
|
|
||||||
# kwin."Switch Window Right" = "Meta+Alt+Right";
|
|
||||||
# kwin."Switch Window Up" = "Meta+Alt+Up";
|
|
||||||
# kwin."Switch to Desktop 1" = "Ctrl+F1";
|
|
||||||
# kwin."Switch to Desktop 10" = [ ];
|
|
||||||
# kwin."Switch to Desktop 11" = [ ];
|
|
||||||
# kwin."Switch to Desktop 12" = [ ];
|
|
||||||
# kwin."Switch to Desktop 13" = [ ];
|
|
||||||
# kwin."Switch to Desktop 14" = [ ];
|
|
||||||
# kwin."Switch to Desktop 15" = [ ];
|
|
||||||
# kwin."Switch to Desktop 16" = [ ];
|
|
||||||
# kwin."Switch to Desktop 17" = [ ];
|
|
||||||
# kwin."Switch to Desktop 18" = [ ];
|
|
||||||
# kwin."Switch to Desktop 19" = [ ];
|
|
||||||
# kwin."Switch to Desktop 2" = "Ctrl+F2";
|
|
||||||
# kwin."Switch to Desktop 20" = [ ];
|
|
||||||
# kwin."Switch to Desktop 3" = "Ctrl+F3";
|
|
||||||
# kwin."Switch to Desktop 4" = "Ctrl+F4";
|
|
||||||
# kwin."Switch to Desktop 5" = [ ];
|
|
||||||
# kwin."Switch to Desktop 6" = [ ];
|
|
||||||
# kwin."Switch to Desktop 7" = [ ];
|
|
||||||
# kwin."Switch to Desktop 8" = [ ];
|
|
||||||
# kwin."Switch to Desktop 9" = [ ];
|
|
||||||
# kwin."Switch to Next Desktop" = [ ];
|
|
||||||
# kwin."Switch to Next Screen" = [ ];
|
|
||||||
# kwin."Switch to Previous Desktop" = [ ];
|
|
||||||
# kwin."Switch to Previous Screen" = [ ];
|
|
||||||
# kwin."Switch to Screen 0" = [ ];
|
|
||||||
# kwin."Switch to Screen 1" = [ ];
|
|
||||||
# kwin."Switch to Screen 2" = [ ];
|
|
||||||
# kwin."Switch to Screen 3" = [ ];
|
|
||||||
# kwin."Switch to Screen 4" = [ ];
|
|
||||||
# kwin."Switch to Screen 5" = [ ];
|
|
||||||
# kwin."Switch to Screen 6" = [ ];
|
|
||||||
# kwin."Switch to Screen 7" = [ ];
|
|
||||||
# kwin."Switch to Screen Above" = [ ];
|
|
||||||
# kwin."Switch to Screen Below" = [ ];
|
|
||||||
# kwin."Switch to Screen to the Left" = [ ];
|
|
||||||
# kwin."Switch to Screen to the Right" = [ ];
|
|
||||||
# kwin."Toggle Night Color" = [ ];
|
|
||||||
# kwin."Toggle Window Raise/Lower" = [ ];
|
|
||||||
# kwin."Walk Through Windows" = "Alt+Tab";
|
|
||||||
# kwin."Walk Through Windows (Reverse)" = "Alt+Shift+Tab";
|
|
||||||
# kwin."Walk Through Windows Alternative" = [ ];
|
|
||||||
# kwin."Walk Through Windows Alternative (Reverse)" = [ ];
|
|
||||||
# kwin."Walk Through Windows of Current Application" = "Alt+`";
|
|
||||||
# kwin."Walk Through Windows of Current Application (Reverse)" = "Alt+~";
|
|
||||||
# kwin."Walk Through Windows of Current Application Alternative" = [ ];
|
|
||||||
# kwin."Walk Through Windows of Current Application Alternative (Reverse)" = [ ];
|
|
||||||
# kwin."Window Above Other Windows" = [ ];
|
|
||||||
# kwin."Window Below Other Windows" = [ ];
|
|
||||||
kwin."Window Close" = "Alt+F4";
|
|
||||||
# kwin."Window Custom Quick Tile Bottom" = [ ];
|
|
||||||
# kwin."Window Custom Quick Tile Left" = [ ];
|
|
||||||
# kwin."Window Custom Quick Tile Right" = [ ];
|
|
||||||
# kwin."Window Custom Quick Tile Top" = [ ];
|
|
||||||
kwin."Window Fullscreen" = "Meta+Shift+F";
|
|
||||||
# kwin."Window Grow Horizontal" = [ ];
|
|
||||||
# kwin."Window Grow Vertical" = [ ];
|
|
||||||
# kwin."Window Lower" = [ ];
|
|
||||||
kwin."Window Maximize" = ["Meta+F" "Meta+PgUp"];
|
|
||||||
# kwin."Window Maximize Horizontal" = [ ];
|
|
||||||
# kwin."Window Maximize Vertical" = [ ];
|
|
||||||
# kwin."Window Minimize" = "Meta+PgDown";
|
|
||||||
# kwin."Window Move" = [ ];
|
|
||||||
# kwin."Window Move Center" = [ ];
|
|
||||||
# kwin."Window No Border" = [ ];
|
|
||||||
# kwin."Window On All Desktops" = [ ];
|
|
||||||
kwin."Window One Desktop Down" = "Meta+Ctrl+Shift+Down";
|
|
||||||
kwin."Window One Desktop Up" = "Meta+Ctrl+Shift+Up";
|
|
||||||
kwin."Window One Desktop to the Left" = "Meta+Ctrl+Shift+Left";
|
|
||||||
kwin."Window One Desktop to the Right" = "Meta+Ctrl+Shift+Right";
|
|
||||||
# kwin."Window One Screen Down" = [ ];
|
|
||||||
# kwin."Window One Screen Up" = [ ];
|
|
||||||
# kwin."Window One Screen to the Left" = [ ];
|
|
||||||
# kwin."Window One Screen to the Right" = [ ];
|
|
||||||
# kwin."Window Operations Menu" = "Alt+F3";
|
|
||||||
# kwin."Window Pack Down" = [ ];
|
|
||||||
# kwin."Window Pack Left" = [ ];
|
|
||||||
# kwin."Window Pack Right" = [ ];
|
|
||||||
# kwin."Window Pack Up" = [ ];
|
|
||||||
# kwin."Window Quick Tile Bottom" = "Meta+Down";
|
|
||||||
# kwin."Window Quick Tile Bottom Left" = [ ];
|
|
||||||
# kwin."Window Quick Tile Bottom Right" = [ ];
|
|
||||||
# kwin."Window Quick Tile Left" = "Meta+Left";
|
|
||||||
# kwin."Window Quick Tile Right" = "Meta+Right";
|
|
||||||
# kwin."Window Quick Tile Top" = "Meta+Up";
|
|
||||||
# kwin."Window Quick Tile Top Left" = [ ];
|
|
||||||
# kwin."Window Quick Tile Top Right" = [ ];
|
|
||||||
# kwin."Window Raise" = [ ];
|
|
||||||
# kwin."Window Resize" = [ ];
|
|
||||||
# kwin."Window Shade" = [ ];
|
|
||||||
# kwin."Window Shrink Horizontal" = [ ];
|
|
||||||
# kwin."Window Shrink Vertical" = [ ];
|
|
||||||
# kwin."Window to Desktop 1" = [ ];
|
|
||||||
# kwin."Window to Desktop 10" = [ ];
|
|
||||||
# kwin."Window to Desktop 11" = [ ];
|
|
||||||
# kwin."Window to Desktop 12" = [ ];
|
|
||||||
# kwin."Window to Desktop 13" = [ ];
|
|
||||||
# kwin."Window to Desktop 14" = [ ];
|
|
||||||
# kwin."Window to Desktop 15" = [ ];
|
|
||||||
# kwin."Window to Desktop 16" = [ ];
|
|
||||||
# kwin."Window to Desktop 17" = [ ];
|
|
||||||
# kwin."Window to Desktop 18" = [ ];
|
|
||||||
# kwin."Window to Desktop 19" = [ ];
|
|
||||||
# kwin."Window to Desktop 2" = [ ];
|
|
||||||
# kwin."Window to Desktop 20" = [ ];
|
|
||||||
# kwin."Window to Desktop 3" = [ ];
|
|
||||||
# kwin."Window to Desktop 4" = [ ];
|
|
||||||
# kwin."Window to Desktop 5" = [ ];
|
|
||||||
# kwin."Window to Desktop 6" = [ ];
|
|
||||||
# kwin."Window to Desktop 7" = [ ];
|
|
||||||
# kwin."Window to Desktop 8" = [ ];
|
|
||||||
# kwin."Window to Desktop 9" = [ ];
|
|
||||||
# kwin."Window to Next Desktop" = [ ];
|
|
||||||
# kwin."Window to Next Screen" = "Meta+Shift+Right";
|
|
||||||
# kwin."Window to Previous Desktop" = [ ];
|
|
||||||
# kwin."Window to Previous Screen" = "Meta+Shift+Left";
|
|
||||||
# kwin."Window to Screen 0" = [ ];
|
|
||||||
# kwin."Window to Screen 1" = [ ];
|
|
||||||
# kwin."Window to Screen 2" = [ ];
|
|
||||||
# kwin."Window to Screen 3" = [ ];
|
|
||||||
# kwin."Window to Screen 4" = [ ];
|
|
||||||
# kwin."Window to Screen 5" = [ ];
|
|
||||||
# kwin."Window to Screen 6" = [ ];
|
|
||||||
# kwin."Window to Screen 7" = [ ];
|
|
||||||
# kwin.disableInputCapture = "Meta+Shift+Esc";
|
|
||||||
# kwin.view_actual_size = "Meta+0";
|
|
||||||
# kwin.view_zoom_in = ["Meta++" "Meta+="];
|
|
||||||
# kwin.view_zoom_out = "Meta+-";
|
|
||||||
# mediacontrol.mediavolumedown = [ ];
|
|
||||||
# mediacontrol.mediavolumeup = [ ];
|
|
||||||
# mediacontrol.nextmedia = "Media Next";
|
|
||||||
# mediacontrol.pausemedia = "Media Pause";
|
|
||||||
# mediacontrol.playmedia = [ ];
|
|
||||||
# mediacontrol.playpausemedia = "Media Play";
|
|
||||||
# mediacontrol.previousmedia = "Media Previous";
|
|
||||||
# mediacontrol.stopmedia = "Media Stop";
|
|
||||||
# org_kde_powerdevil."Decrease Keyboard Brightness" = "Keyboard Brightness Down";
|
|
||||||
# org_kde_powerdevil."Decrease Screen Brightness" = "Monitor Brightness Down";
|
|
||||||
# org_kde_powerdevil."Decrease Screen Brightness Small" = "Shift+Monitor Brightness Down";
|
|
||||||
# org_kde_powerdevil.Hibernate = "Hibernate";
|
|
||||||
# org_kde_powerdevil."Increase Keyboard Brightness" = "Keyboard Brightness Up";
|
|
||||||
# org_kde_powerdevil."Increase Screen Brightness" = "Monitor Brightness Up";
|
|
||||||
# org_kde_powerdevil."Increase Screen Brightness Small" = "Shift+Monitor Brightness Up";
|
|
||||||
# org_kde_powerdevil.PowerDown = "Power Down";
|
|
||||||
# org_kde_powerdevil.PowerOff = "Power Off";
|
|
||||||
# org_kde_powerdevil.Sleep = "Sleep";
|
|
||||||
# org_kde_powerdevil."Toggle Keyboard Backlight" = "Keyboard Light On/Off";
|
|
||||||
# org_kde_powerdevil."Turn Off Screen" = [ ];
|
|
||||||
org_kde_powerdevil.powerProfile = ["Battery" "Meta+B"];
|
|
||||||
plasmashell."activate application launcher" = "Meta";
|
|
||||||
# plasmashell."activate task manager entry 1" = "Meta+1";
|
|
||||||
# plasmashell."activate task manager entry 10" = [ ];
|
|
||||||
# plasmashell."activate task manager entry 2" = "Meta+2";
|
|
||||||
# plasmashell."activate task manager entry 3" = "Meta+3";
|
|
||||||
# plasmashell."activate task manager entry 4" = "Meta+4";
|
|
||||||
# plasmashell."activate task manager entry 5" = "Meta+5";
|
|
||||||
# plasmashell."activate task manager entry 6" = "Meta+6";
|
|
||||||
# plasmashell."activate task manager entry 7" = "Meta+7";
|
|
||||||
# plasmashell."activate task manager entry 8" = "Meta+8";
|
|
||||||
# plasmashell."activate task manager entry 9" = "Meta+9";
|
|
||||||
# plasmashell.clear-history = [ ];
|
|
||||||
# plasmashell.clipboard_action = "Meta+Ctrl+X";
|
|
||||||
# plasmashell.cycle-panels = "Meta+Alt+P";
|
|
||||||
# plasmashell.cycleNextAction = [ ];
|
|
||||||
# plasmashell.cyclePrevAction = [ ];
|
|
||||||
# plasmashell."manage activities" = "Meta+Q";
|
|
||||||
# plasmashell."next activity" = "Meta+A";
|
|
||||||
# plasmashell."previous activity" = "Meta+Shift+A";
|
|
||||||
# plasmashell.repeat_action = "Meta+Ctrl+R";
|
|
||||||
# plasmashell."show dashboard" = "Ctrl+F12";
|
|
||||||
# plasmashell.show-barcode = [ ];
|
|
||||||
# plasmashell.show-on-mouse-pos = "Meta+V";
|
|
||||||
# plasmashell."stop current activity" = "Meta+S";
|
|
||||||
# plasmashell."switch to next activity" = [ ];
|
|
||||||
# plasmashell."switch to previous activity" = [ ];
|
|
||||||
# plasmashell."toggle do not disturb" = [ ];
|
|
||||||
# "services/org.kde.plasma-systemmonitor.desktop"._launch = [ ];
|
|
||||||
# "services/org.kde.spectacle.desktop".RecordWindow = [ ];
|
|
||||||
# "services/org.kde.spectacle.desktop".RectangularRegionScreenShot = ["Meta+Shift+Print" "Meta+Shift+S"];
|
|
||||||
# "services/org.kde.spectacle.desktop"._launch = "Print";
|
|
||||||
# wacomtablet."Map to fullscreen" = "Meta+Ctrl+F";
|
|
||||||
# wacomtablet."Map to screen 1" = "Meta+Ctrl+1";
|
|
||||||
# wacomtablet."Map to screen 2" = "Meta+Ctrl+2";
|
|
||||||
# wacomtablet."Next Profile" = "Meta+Ctrl+N";
|
|
||||||
# wacomtablet."Previous Profile" = "Meta+Ctrl+P";
|
|
||||||
# wacomtablet."Toggle screen map selection" = "Meta+Ctrl+M";
|
|
||||||
# wacomtablet."Toggle stylus mode" = "Meta+Ctrl+S";
|
|
||||||
# wacomtablet."Toggle touch tool" = "Meta+Ctrl+T";
|
|
||||||
yakuake.toggle-window-state = "Meta+F12";
|
|
||||||
};
|
|
||||||
|
|
||||||
configFile = {
|
|
||||||
# baloofilerc.General.dbVersion = 2;
|
|
||||||
# baloofilerc.General."exclude filters" = "*~,*.part,*.o,*.la,*.lo,*.loT,*.moc,moc_*.cpp,qrc_*.cpp,ui_*.h,cmake_install.cmake,CMakeCache.txt,CTestTestfile.cmake,libtool,config.status,confdefs.h,autom4te,conftest,confstat,Makefile.am,*.gcode,.ninja_deps,.ninja_log,build.ninja,*.csproj,*.m4,*.rej,*.gmo,*.pc,*.omf,*.aux,*.tmp,*.po,*.vm*,*.nvram,*.rcore,*.swp,*.swap,lzo,litmain.sh,*.orig,.histfile.*,.xsession-errors*,*.map,*.so,*.a,*.db,*.qrc,*.ini,*.init,*.img,*.vdi,*.vbox*,vbox.log,*.qcow2,*.vmdk,*.vhd,*.vhdx,*.sql,*.sql.gz,*.ytdl,*.tfstate*,*.class,*.pyc,*.pyo,*.elc,*.qmlc,*.jsc,*.fastq,*.fq,*.gb,*.fasta,*.fna,*.gbff,*.faa,po,CVS,.svn,.git,_darcs,.bzr,.hg,CMakeFiles,CMakeTmp,CMakeTmpQmake,.moc,.obj,.pch,.uic,.npm,.yarn,.yarn-cache,__pycache__,node_modules,node_packages,nbproject,.terraform,.venv,venv,core-dumps,lost+found";
|
|
||||||
# baloofilerc.General."exclude filters version" = 9;
|
|
||||||
dolphinrc.General.RememberOpenedTabs = false;
|
|
||||||
# dolphinrc.General.ViewPropsTimestamp = "2024,8,12,15,7,43.15";
|
|
||||||
# dolphinrc.IconsMode.PreviewSize = 80;
|
|
||||||
# dolphinrc."KFileDialog Settings"."Places Icons Auto-resize" = false;
|
|
||||||
# dolphinrc."KFileDialog Settings"."Places Icons Static Size" = 22;
|
|
||||||
# dolphinrc.PreviewSettings.Plugins = "appimagethumbnail,audiothumbnail,avif,comicbookthumbnail,cursorthumbnail,djvuthumbnail,ebookthumbnail,exrthumbnail,directorythumbnail,fontthumbnail,imagethumbnail,jpegthumbnail,jxl,kraorathumbnail,windowsexethumbnail,windowsimagethumbnail,opendocumentthumbnail,gdk-pixbuf-thumbnailer,svgthumbnail";
|
|
||||||
# kactivitymanagerdrc.activities.e85f493f-046d-4dca-9e07-987ecd4ca4bc = "Default";
|
|
||||||
# kactivitymanagerdrc.main.currentActivity = "e85f493f-046d-4dca-9e07-987ecd4ca4bc";
|
|
||||||
# katerc.General."Days Meta Infos" = 30;
|
|
||||||
# katerc.General."Save Meta Infos" = true;
|
|
||||||
# katerc.General."Show Full Path in Title" = false;
|
|
||||||
# katerc.General."Show Menu Bar" = true;
|
|
||||||
# katerc.General."Show Status Bar" = true;
|
|
||||||
# katerc.General."Show Tab Bar" = true;
|
|
||||||
# katerc.General."Show Url Nav Bar" = true;
|
|
||||||
# katerc."KTextEditor Renderer"."Animate Bracket Matching" = false;
|
|
||||||
# katerc."KTextEditor Renderer"."Auto Color Theme Selection" = true;
|
|
||||||
# katerc."KTextEditor Renderer"."Color Theme" = "Breeze Dark";
|
|
||||||
# katerc."KTextEditor Renderer"."Line Height Multiplier" = 1;
|
|
||||||
# katerc."KTextEditor Renderer"."Show Indentation Lines" = false;
|
|
||||||
# katerc."KTextEditor Renderer"."Show Whole Bracket Expression" = false;
|
|
||||||
# katerc."KTextEditor Renderer"."Text Font" = "Hack,10,-1,7,400,0,0,0,0,0,0,0,0,0,0,1";
|
|
||||||
# katerc."KTextEditor Renderer"."Text Font Features" = "";
|
|
||||||
# katerc."KTextEditor Renderer"."Word Wrap Marker" = false;
|
|
||||||
# katerc."KTextEditor::Search"."Search History" = "availabilityDomain,subnetId";
|
|
||||||
# katerc.filetree.editShade = "31,81,106";
|
|
||||||
# katerc.filetree.listMode = false;
|
|
||||||
# katerc.filetree.middleClickToClose = false;
|
|
||||||
# katerc.filetree.shadingEnabled = true;
|
|
||||||
# katerc.filetree.showCloseButton = false;
|
|
||||||
# katerc.filetree.showFullPathOnRoots = false;
|
|
||||||
# katerc.filetree.showToolbar = true;
|
|
||||||
# katerc.filetree.sortRole = 0;
|
|
||||||
# katerc.filetree.viewShade = "81,49,95";
|
|
||||||
kcminputrc."Libinput/1133/16529/Logitech Wireless Mouse".PointerAcceleration = "0";
|
|
||||||
kcminputrc.Mouse.X11LibInputXAccelProfileFlat = true;
|
|
||||||
kcminputrc.Mouse.XLbInptPointerAcceleration = 0;
|
|
||||||
# kcminputrc.Mouse.cursorTheme = "Breeze_Light";
|
|
||||||
# kded5rc.Module-browserintegrationreminder.autoload = false;
|
|
||||||
# kded5rc.Module-device_automounter.autoload = false;
|
|
||||||
# kdeglobals."DirSelect Dialog"."DirSelectDialog Size" = "960,540";
|
|
||||||
# kdeglobals.Icons.Theme = "Breeze-LaCapitaine-apps";
|
|
||||||
# kdeglobals.KDE.ShowDeleteCommand = false;
|
|
||||||
# kdeglobals.KDE.widgetStyle = "Breeze";
|
|
||||||
# kdeglobals."KFileDialog Settings"."Allow Expansion" = false;
|
|
||||||
# kdeglobals."KFileDialog Settings"."Automatically select filename extension" = true;
|
|
||||||
# kdeglobals."KFileDialog Settings"."Breadcrumb Navigation" = false;
|
|
||||||
# kdeglobals."KFileDialog Settings"."Decoration position" = 2;
|
|
||||||
# kdeglobals."KFileDialog Settings"."LocationCombo Completionmode" = 5;
|
|
||||||
# kdeglobals."KFileDialog Settings"."PathCombo Completionmode" = 5;
|
|
||||||
# kdeglobals."KFileDialog Settings"."Show Bookmarks" = false;
|
|
||||||
# kdeglobals."KFileDialog Settings"."Show Full Path" = false;
|
|
||||||
# kdeglobals."KFileDialog Settings"."Show Inline Previews" = true;
|
|
||||||
# kdeglobals."KFileDialog Settings"."Show Preview" = false;
|
|
||||||
# kdeglobals."KFileDialog Settings"."Show Speedbar" = true;
|
|
||||||
# kdeglobals."KFileDialog Settings"."Show hidden files" = false;
|
|
||||||
# kdeglobals."KFileDialog Settings"."Sort by" = "Name";
|
|
||||||
# kdeglobals."KFileDialog Settings"."Sort directories first" = true;
|
|
||||||
# kdeglobals."KFileDialog Settings"."Sort hidden files last" = false;
|
|
||||||
# kdeglobals."KFileDialog Settings"."Sort reversed" = true;
|
|
||||||
# kdeglobals."KFileDialog Settings"."Speedbar Width" = 147;
|
|
||||||
# kdeglobals."KFileDialog Settings"."View Style" = "DetailTree";
|
|
||||||
# kdeglobals."KShortcutsDialog Settings"."Dialog Size" = "600,480";
|
|
||||||
# kdeglobals.PreviewSettings.EnableRemoteFolderThumbnail = false;
|
|
||||||
# kdeglobals.PreviewSettings.MaximumRemoteSize = 0;
|
|
||||||
# kdeglobals.Sounds.Theme = "freedesktop";
|
|
||||||
# kdeglobals.WM.activeBackground = "49,54,59";
|
|
||||||
# kdeglobals.WM.activeBlend = "252,252,252";
|
|
||||||
# kdeglobals.WM.activeForeground = "252,252,252";
|
|
||||||
# kdeglobals.WM.inactiveBackground = "42,46,50";
|
|
||||||
# kdeglobals.WM.inactiveBlend = "161,169,177";
|
|
||||||
# kdeglobals.WM.inactiveForeground = "161,169,177";
|
|
||||||
# kiorc.Confirmations.ConfirmDelete = true;
|
|
||||||
kscreenlockerrc.Daemon.Autolock = false;
|
|
||||||
kscreenlockerrc.Daemon.Timeout = 0;
|
|
||||||
# kscreenlockerrc."Greeter/Wallpaper/org.kde.image/General".Image = "/usr/share/wallpapers/ScarletTree/";
|
|
||||||
# kscreenlockerrc."Greeter/Wallpaper/org.kde.image/General".PreviewImage = "/usr/share/wallpapers/ScarletTree/";
|
|
||||||
# ksmserverrc.General.loginMode = "emptySession";
|
|
||||||
# ksplashrc.KSplash.Theme = "a2n.kuro";
|
|
||||||
# kwalletrc.Wallet."First Use" = false;
|
|
||||||
# kwinrc."Activities/LastVirtualDesktop"."0f8d8349-5b1b-4b77-bfa5-22829bfaf459" = "4a2f44cc-dfe7-45dc-8439-fe34a6866d37";
|
|
||||||
# kwinrc."Activities/LastVirtualDesktop".e85f493f-046d-4dca-9e07-987ecd4ca4bc = "4a2f44cc-dfe7-45dc-8439-fe34a6866d37";
|
|
||||||
# kwinrc.Desktops.Id_1 = "4a2f44cc-dfe7-45dc-8439-fe34a6866d37";
|
|
||||||
# kwinrc.Desktops.Id_2 = "fc5cf4ff-2e08-4059-ac1f-7c5540efa4fc";
|
|
||||||
# kwinrc.Desktops.Id_3 = "375e6952-2ebc-473c-bd50-58090b95b184";
|
|
||||||
# kwinrc.Desktops.Id_4 = "6cf07176-c30b-401a-b7f4-cf63067a7191";
|
|
||||||
kwinrc.Desktops.Number = 4;
|
|
||||||
kwinrc.Desktops.Rows = 2;
|
|
||||||
# kwinrc.Effect-overview.BorderActivate = 9;
|
|
||||||
kwinrc.Effect-wobblywindows.AdvancedMode = true;
|
|
||||||
kwinrc.Effect-wobblywindows.Stiffness = 25;
|
|
||||||
kwinrc.NightColor.Active = true;
|
|
||||||
# kwinrc.NightColor.LatitudeAuto = 49.49;
|
|
||||||
# kwinrc.NightColor.LongitudeAuto = 8.46;
|
|
||||||
kwinrc.NightColor.NightTemperature = 2400;
|
|
||||||
kwinrc.Plugins.cubeEnabled = true;
|
|
||||||
kwinrc.Plugins.sheetEnabled = true;
|
|
||||||
kwinrc.Plugins.translucencyEnabled = true;
|
|
||||||
kwinrc.Plugins.wobblywindowsEnabled = true;
|
|
||||||
kwinrc.Tiling.padding = 4;
|
|
||||||
# kwinrc."Tiling/01df8341-b6c7-5a80-b8b8-9d45585f515f".tiles = "{\"layoutDirection\":\"horizontal\",\"tiles\":[{\"width\":0.25},{\"width\":0.5},{\"width\":0.25}]}";
|
|
||||||
# kwinrc."Tiling/1c624b6b-fbd3-5af5-93a9-4a7d55ba7893".tiles = "{\"layoutDirection\":\"horizontal\",\"tiles\":[{\"width\":0.25},{\"width\":0.5},{\"width\":0.25}]}";
|
|
||||||
# kwinrc."Tiling/f18ce12b-2106-508f-9542-e4e6c6fbf75f".tiles = "{\"layoutDirection\":\"horizontal\",\"tiles\":[{\"width\":0.25},{\"width\":0.5},{\"width\":0.25}]}";
|
|
||||||
# kwinrc.Xwayland.Scale = 2;
|
|
||||||
kwinrc."org.kde.kdecoration2".BorderSize = "Tiny";
|
|
||||||
# kwinrc."org.kde.kdecoration2".BorderSizeAuto = false;
|
|
||||||
# kwinrc."org.kde.kdecoration2".ButtonsOnLeft = "";
|
|
||||||
# kwinrc."org.kde.kdecoration2".theme = "__aurorae__svg__Nordic";
|
|
||||||
# plasma-localerc.Formats.LANG = "en_US.UTF-8";
|
|
||||||
#plasmanotifyrc."Applications/dev.deedles.Trayscale".Seen = true;
|
|
||||||
# plasmarc.Theme.name = "WhiteSur-dark";
|
|
||||||
# plasmarc.Wallpapers.usersWallpapers = "/home/cookiez/NixOS/other/wallpaper2.png";
|
|
||||||
#spectaclerc.ImageSave.lastImageSaveLocation = "file:///home/cookiez/Pictures/Screenshots/Screenshot_20251030_101914.png";
|
|
||||||
#spectaclerc.ImageSave.translatedScreenshotsFolder = "Screenshots";
|
|
||||||
#spectaclerc.VideoSave.translatedScreencastsFolder = "Screencasts";
|
|
||||||
};
|
|
||||||
};
|
|
||||||
};
|
|
||||||
}
|
}
|
||||||
|
|||||||
@ -1,38 +0,0 @@
|
|||||||
source /home/cookiez/NixOS/other/colors.sh
|
|
||||||
FLAG_FILE="/home/cookiez/.flags/theme-flag"
|
|
||||||
|
|
||||||
/run/current-system/sw/bin/konsave -i /home/cookiez/NixOS/plasma/NixOS-1.0.1.knsv
|
|
||||||
/run/current-system/sw/bin/konsave -i /home/cookiez/NixOS/plasma/NixOS-1.0.1.knsv
|
|
||||||
/run/current-system/sw/bin/konsave -a NixOS-1.0.1
|
|
||||||
|
|
||||||
progress_bar() {
|
|
||||||
local duration=$1
|
|
||||||
local interval=0.25
|
|
||||||
local total_intervals=$((duration / interval))
|
|
||||||
local progress=""
|
|
||||||
local bar_length=10
|
|
||||||
|
|
||||||
for ((i=0; i<total_intervals; i++)); do
|
|
||||||
progress="${progress}-"
|
|
||||||
printf "\rApplying: [%-${bar_length}s]" "$progress"
|
|
||||||
sleep $interval
|
|
||||||
done
|
|
||||||
echo -ne "\r[${progress}] Done!\n"
|
|
||||||
}
|
|
||||||
|
|
||||||
mkdir -p "$(dirname "$FLAG_FILE")"
|
|
||||||
touch "$FLAG_FILE"
|
|
||||||
echo "Flag for knowing weather the Default theme packaged with this NixOS install was actually applied! (If this exists than it should be applied already)" > "$FLAG_FILE"
|
|
||||||
|
|
||||||
echo -e "Use ${RED}'sudo reboot -h 0'${NOCOLOR} to successfully apply the theme, if logging out manually ${YELLOW}doesn't${NOCOLOR} work!"
|
|
||||||
progress_bar 2.5
|
|
||||||
|
|
||||||
echo ""
|
|
||||||
echo -n "Do you want to reboot now? (y/n): "
|
|
||||||
read -r answer
|
|
||||||
if [ -z "$answer" ] || [ "$answer" = "y" ] || [ "$answer" = "Y" ]; then
|
|
||||||
echo "Rebooting! ..."
|
|
||||||
sudo shutdown -r now
|
|
||||||
else
|
|
||||||
echo "Make sure to log out/reboot later!"
|
|
||||||
fi
|
|
||||||
@ -1,85 +0,0 @@
|
|||||||
{config, pkgs, username, ...}:
|
|
||||||
{
|
|
||||||
imports =
|
|
||||||
[
|
|
||||||
./autostart.nix
|
|
||||||
];
|
|
||||||
|
|
||||||
home-manager.sharedModules = [
|
|
||||||
./home.nix
|
|
||||||
];
|
|
||||||
|
|
||||||
systemd.services = {
|
|
||||||
"plasma-workspace".serviceConfig.KillMode = "mixed";
|
|
||||||
"plasma-workspace".serviceConfig.TimeoutStopSec = "5s";
|
|
||||||
"sddm".serviceConfig.KillMode = "mixed";
|
|
||||||
};
|
|
||||||
|
|
||||||
services = {
|
|
||||||
xserver = {
|
|
||||||
enable = true;
|
|
||||||
videoDrivers = [ "amdgpu" ];
|
|
||||||
|
|
||||||
xkb = {
|
|
||||||
layout = "de";
|
|
||||||
variant = "";
|
|
||||||
};
|
|
||||||
|
|
||||||
desktopManager = {
|
|
||||||
#gnome.enable = true;
|
|
||||||
xterm.enable = false;
|
|
||||||
};
|
|
||||||
|
|
||||||
excludePackages = [ pkgs.xterm ];
|
|
||||||
## Enable sound with pipewire.
|
|
||||||
#services.pulseaudio.enable = false;
|
|
||||||
};
|
|
||||||
|
|
||||||
displayManager = {
|
|
||||||
sddm = {
|
|
||||||
enable = true;
|
|
||||||
theme = "breeze";
|
|
||||||
wayland.enable = true;
|
|
||||||
};
|
|
||||||
};
|
|
||||||
};
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
# Enable the X11 windowing system.
|
|
||||||
# You can disable this if you're only using the Wayland session.
|
|
||||||
#services.xserver.enable = true;
|
|
||||||
|
|
||||||
# Configure keymap in X11
|
|
||||||
#services.xserver.xkb = {
|
|
||||||
# layout = "de";
|
|
||||||
# variant = "";
|
|
||||||
#};
|
|
||||||
|
|
||||||
system.activationScripts.script.text = ''
|
|
||||||
source /home/cookiez/NixOS/other/colors.sh
|
|
||||||
source /home/cookiez/NixOS/other/pfp.sh
|
|
||||||
'';
|
|
||||||
|
|
||||||
#services.displayManager.sddm = {
|
|
||||||
# enable = true;
|
|
||||||
# theme = "breeze";
|
|
||||||
# wayland.enable = true;
|
|
||||||
#};
|
|
||||||
|
|
||||||
# Enable the KDE Plasma Desktop Environment.
|
|
||||||
services.desktopManager.plasma6.enable = true;
|
|
||||||
|
|
||||||
environment.plasma6.excludePackages = with pkgs; [
|
|
||||||
# kdePackages.konsole #Using Kitty instead
|
|
||||||
kdePackages.elisa
|
|
||||||
];
|
|
||||||
|
|
||||||
environment.systemPackages = with pkgs; [
|
|
||||||
kdePackages.plymouth-kcm
|
|
||||||
# (pkgs.writeTextDir "share/sddm/themes/breeze/theme.conf.user" ''
|
|
||||||
# [General]
|
|
||||||
# background = "${background-package}"
|
|
||||||
# '')
|
|
||||||
];
|
|
||||||
}
|
|
||||||
440
plasma/settings/common.nix
Normal file
440
plasma/settings/common.nix
Normal file
@ -0,0 +1,440 @@
|
|||||||
|
{
|
||||||
|
pkgs,
|
||||||
|
inputs,
|
||||||
|
username,
|
||||||
|
project,
|
||||||
|
plasmaTheme,
|
||||||
|
...
|
||||||
|
}: {
|
||||||
|
programs = {
|
||||||
|
plasma = {
|
||||||
|
enable = true;
|
||||||
|
overrideConfig = true;
|
||||||
|
|
||||||
|
input.mice = [
|
||||||
|
{
|
||||||
|
name = "Logitech Wireless Mouse";
|
||||||
|
vendorId = "046d"; # 046D lowercase
|
||||||
|
productId = "4091"; # inner HID device, not the receiver (C534)
|
||||||
|
leftHanded = false;
|
||||||
|
#middleButtonEmulation = false;
|
||||||
|
#naturalScroll = false;
|
||||||
|
#acceleration = -0.25;
|
||||||
|
acceleration = 0;
|
||||||
|
accelerationProfile = "none";
|
||||||
|
scrollSpeed = 1.0;
|
||||||
|
}
|
||||||
|
{
|
||||||
|
name = "ROCCAT ROCCAT Kone Aimo 16K";
|
||||||
|
vendorId = "1e7d";
|
||||||
|
productId = "2e2c";
|
||||||
|
leftHanded = false;
|
||||||
|
acceleration = -1;
|
||||||
|
accelerationProfile = "none";
|
||||||
|
scrollSpeed = 1.0;
|
||||||
|
}
|
||||||
|
#{
|
||||||
|
# name = "ROCCAT ROCCAT Vulcan AIMO";
|
||||||
|
# vendorId = "1e7d";
|
||||||
|
# productId = "3098";
|
||||||
|
# leftHanded = false;
|
||||||
|
# acceleration = -1;
|
||||||
|
# accelerationProfile = "none";
|
||||||
|
# scrollSpeed = 1.0;
|
||||||
|
#}
|
||||||
|
];
|
||||||
|
|
||||||
|
shortcuts = {
|
||||||
|
#ActivityManager = {
|
||||||
|
# switch-to-activity-0f8d8349-5b1b-4b77-bfa5-22829bfaf459 = [ ];
|
||||||
|
# switch-to-activity-7dbb43d7-7e06-4b20-907c-a1dbf4afe6c7 = [ ];
|
||||||
|
# switch-to-activity-e85f493f-046d-4dca-9e07-987ecd4ca4bc = [ ];
|
||||||
|
#};
|
||||||
|
"KDE Keyboard Layout Switcher" = {
|
||||||
|
"Switch keyboard layout to English (US)" = [];
|
||||||
|
"Switch keyboard layout to German" = [];
|
||||||
|
"Switch to Last-Used Keyboard Layout" = [];
|
||||||
|
"Switch to Next Keyboard Layout" = [];
|
||||||
|
};
|
||||||
|
|
||||||
|
#kaccess."Toggle Screen Reader On and Off" = "Meta+Alt+S";
|
||||||
|
#kcm_touchpad."Disable Touchpad" = "Touchpad Off";
|
||||||
|
#kcm_touchpad."Enable Touchpad" = "Touchpad On";
|
||||||
|
#kcm_touchpad."Toggle Touchpad" = ["Touchpad Toggle" "Meta+Ctrl+Zenkaku Hankaku"];
|
||||||
|
#kmix = {
|
||||||
|
# decrease_microphone_volume = "Microphone Volume Down";
|
||||||
|
# decrease_volume = "Volume Down";
|
||||||
|
# decrease_volume_small = "Shift+Volume Down";
|
||||||
|
# increase_microphone_volume = "Microphone Volume Up";
|
||||||
|
# increase_volume = "Volume Up";
|
||||||
|
# increase_volume_small = "Shift+Volume Up";
|
||||||
|
# mic_mute = ["Microphone Mute" "Meta+Volume Mute"];
|
||||||
|
# mute = "Volume Mute";
|
||||||
|
#};
|
||||||
|
#kmserver = {
|
||||||
|
# "Halt Without Confirmation" = [ ];
|
||||||
|
# "Lock Session" = ["Meta+L" "Screensaver"];
|
||||||
|
# "Log Out" = "Ctrl+Alt+Del";
|
||||||
|
# "Log Out Without Confirmation" = [ ];
|
||||||
|
# LogOut = [ ];
|
||||||
|
# Reboot = [ ];
|
||||||
|
# "Reboot Without Confirmation" = [ ];
|
||||||
|
# "Shut Down" = [ ];
|
||||||
|
#};
|
||||||
|
kwin = {
|
||||||
|
# "Activate Window Demanding Attention" = "Meta+Ctrl+A";
|
||||||
|
Cube = "Meta+C";
|
||||||
|
# "Cycle Overview" = [ ];
|
||||||
|
# "Cycle Overview Opposite" = [ ];
|
||||||
|
# "Decrease Opacity" = [ ];
|
||||||
|
# "Edit Tiles" = "Meta+T";
|
||||||
|
# Expose = "Ctrl+F9";
|
||||||
|
# ExposeAll = ["Ctrl+F10" "Launch (C)"];
|
||||||
|
# ExposeClass = "Ctrl+F7";
|
||||||
|
# ExposeClassCurrentDesktop = [ ];
|
||||||
|
"Grid View" = "Meta+G";
|
||||||
|
# "Increase Opacity" = [ ];
|
||||||
|
# "Kill Window" = "Meta+Ctrl+Esc";
|
||||||
|
# "Move Tablet to Next Output" = [ ];
|
||||||
|
# MoveMouseToCenter = "Meta+F6";
|
||||||
|
# MoveMouseToFocus = "Meta+F5";
|
||||||
|
# MoveZoomDown = [ ];
|
||||||
|
# MoveZoomLeft = [ ];
|
||||||
|
# MoveZoomRight = [ ];
|
||||||
|
# MoveZoomUp = [ ];
|
||||||
|
# Overview = "Meta+W";
|
||||||
|
# "Setup Window Shortcut" = [ ];
|
||||||
|
# "Show Desktop" = "Meta+D";
|
||||||
|
# "Suspend Compositing" = "Alt+Shift+F12";
|
||||||
|
"Switch One Desktop Down" = "Meta+Ctrl+Down";
|
||||||
|
"Switch One Desktop Up" = "Meta+Ctrl+Up";
|
||||||
|
"Switch One Desktop to the Left" = "Meta+Ctrl+Left";
|
||||||
|
"Switch One Desktop to the Right" = "Meta+Ctrl+Right";
|
||||||
|
# "Switch Window Down" = "Meta+Alt+Down";
|
||||||
|
# "Switch Window Left" = "Meta+Alt+Left";
|
||||||
|
# "Switch Window Right" = "Meta+Alt+Right";
|
||||||
|
# "Switch Window Up" = "Meta+Alt+Up";
|
||||||
|
# "Switch to Desktop 1" = "Ctrl+F1";
|
||||||
|
# "Switch to Desktop 10" = [ ];
|
||||||
|
# "Switch to Desktop 11" = [ ];
|
||||||
|
# "Switch to Desktop 12" = [ ];
|
||||||
|
# "Switch to Desktop 13" = [ ];
|
||||||
|
# "Switch to Desktop 14" = [ ];
|
||||||
|
# "Switch to Desktop 15" = [ ];
|
||||||
|
# "Switch to Desktop 16" = [ ];
|
||||||
|
# "Switch to Desktop 17" = [ ];
|
||||||
|
# "Switch to Desktop 18" = [ ];
|
||||||
|
# "Switch to Desktop 19" = [ ];
|
||||||
|
# "Switch to Desktop 2" = "Ctrl+F2";
|
||||||
|
# "Switch to Desktop 20" = [ ];
|
||||||
|
# "Switch to Desktop 3" = "Ctrl+F3";
|
||||||
|
# "Switch to Desktop 4" = "Ctrl+F4";
|
||||||
|
# "Switch to Desktop 5" = [ ];
|
||||||
|
# "Switch to Desktop 6" = [ ];
|
||||||
|
# "Switch to Desktop 7" = [ ];
|
||||||
|
# "Switch to Desktop 8" = [ ];
|
||||||
|
# "Switch to Desktop 9" = [ ];
|
||||||
|
# "Switch to Next Desktop" = [ ];
|
||||||
|
# "Switch to Next Screen" = [ ];
|
||||||
|
# "Switch to Previous Desktop" = [ ];
|
||||||
|
# "Switch to Previous Screen" = [ ];
|
||||||
|
# "Switch to Screen 0" = [ ];
|
||||||
|
# "Switch to Screen 1" = [ ];
|
||||||
|
# "Switch to Screen 2" = [ ];
|
||||||
|
# "Switch to Screen 3" = [ ];
|
||||||
|
# "Switch to Screen 4" = [ ];
|
||||||
|
# "Switch to Screen 5" = [ ];
|
||||||
|
# "Switch to Screen 6" = [ ];
|
||||||
|
# "Switch to Screen 7" = [ ];
|
||||||
|
# "Switch to Screen Above" = [ ];
|
||||||
|
# "Switch to Screen Below" = [ ];
|
||||||
|
# "Switch to Screen to the Left" = [ ];
|
||||||
|
# "Switch to Screen to the Right" = [ ];
|
||||||
|
# "Toggle Night Color" = [ ];
|
||||||
|
# "Toggle Window Raise/Lower" = [ ];
|
||||||
|
# "Walk Through Windows" = "Alt+Tab";
|
||||||
|
# "Walk Through Windows (Reverse)" = "Alt+Shift+Tab";
|
||||||
|
# "Walk Through Windows Alternative" = [ ];
|
||||||
|
# "Walk Through Windows Alternative (Reverse)" = [ ];
|
||||||
|
# "Walk Through Windows of Current Application" = "Alt+`";
|
||||||
|
# "Walk Through Windows of Current Application (Reverse)" = "Alt+~";
|
||||||
|
# "Walk Through Windows of Current Application Alternative" = [ ];
|
||||||
|
# "Walk Through Windows of Current Application Alternative (Reverse)" = [ ];
|
||||||
|
# "Window Above Other Windows" = [ ];
|
||||||
|
# "Window Below Other Windows" = [ ];
|
||||||
|
"Window Close" = "Alt+F4";
|
||||||
|
# "Window Custom Quick Tile Bottom" = [ ];
|
||||||
|
# "Window Custom Quick Tile Left" = [ ];
|
||||||
|
# "Window Custom Quick Tile Right" = [ ];
|
||||||
|
# "Window Custom Quick Tile Top" = [ ];
|
||||||
|
"Window Fullscreen" = "Meta+Shift+F";
|
||||||
|
# "Window Grow Horizontal" = [ ];
|
||||||
|
# "Window Grow Vertical" = [ ];
|
||||||
|
# "Window Lower" = [ ];
|
||||||
|
"Window Maximize" = ["Meta+F" "Meta+PgUp"];
|
||||||
|
# "Window Maximize Horizontal" = [ ];
|
||||||
|
# "Window Maximize Vertical" = [ ];
|
||||||
|
# "Window Minimize" = "Meta+PgDown";
|
||||||
|
# "Window Move" = [ ];
|
||||||
|
# "Window Move Center" = [ ];
|
||||||
|
# "Window No Border" = [ ];
|
||||||
|
# "Window On All Desktops" = [ ];
|
||||||
|
"Window One Desktop Down" = "Meta+Ctrl+Shift+Down";
|
||||||
|
"Window One Desktop Up" = "Meta+Ctrl+Shift+Up";
|
||||||
|
"Window One Desktop to the Left" = "Meta+Ctrl+Shift+Left";
|
||||||
|
"Window One Desktop to the Right" = "Meta+Ctrl+Shift+Right";
|
||||||
|
# "Window One Screen Down" = [ ];
|
||||||
|
# "Window One Screen Up" = [ ];
|
||||||
|
# "Window One Screen to the Left" = [ ];
|
||||||
|
# "Window One Screen to the Right" = [ ];
|
||||||
|
# "Window Operations Menu" = "Alt+F3";
|
||||||
|
# "Window Pack Down" = [ ];
|
||||||
|
# "Window Pack Left" = [ ];
|
||||||
|
# "Window Pack Right" = [ ];
|
||||||
|
# "Window Pack Up" = [ ];
|
||||||
|
# "Window Quick Tile Bottom" = "Meta+Down";
|
||||||
|
# "Window Quick Tile Bottom Left" = [ ];
|
||||||
|
# "Window Quick Tile Bottom Right" = [ ];
|
||||||
|
# "Window Quick Tile Left" = "Meta+Left";
|
||||||
|
# "Window Quick Tile Right" = "Meta+Right";
|
||||||
|
# "Window Quick Tile Top" = "Meta+Up";
|
||||||
|
# "Window Quick Tile Top Left" = [ ];
|
||||||
|
# "Window Quick Tile Top Right" = [ ];
|
||||||
|
# "Window Raise" = [ ];
|
||||||
|
# "Window Resize" = [ ];
|
||||||
|
# "Window Shade" = [ ];
|
||||||
|
# "Window Shrink Horizontal" = [ ];
|
||||||
|
# "Window Shrink Vertical" = [ ];
|
||||||
|
# "Window to Desktop 1" = [ ];
|
||||||
|
# "Window to Desktop 10" = [ ];
|
||||||
|
# "Window to Desktop 11" = [ ];
|
||||||
|
# "Window to Desktop 12" = [ ];
|
||||||
|
# "Window to Desktop 13" = [ ];
|
||||||
|
# "Window to Desktop 14" = [ ];
|
||||||
|
# "Window to Desktop 15" = [ ];
|
||||||
|
# "Window to Desktop 16" = [ ];
|
||||||
|
# "Window to Desktop 17" = [ ];
|
||||||
|
# "Window to Desktop 18" = [ ];
|
||||||
|
# "Window to Desktop 19" = [ ];
|
||||||
|
# "Window to Desktop 2" = [ ];
|
||||||
|
# "Window to Desktop 20" = [ ];
|
||||||
|
# "Window to Desktop 3" = [ ];
|
||||||
|
# "Window to Desktop 4" = [ ];
|
||||||
|
# "Window to Desktop 5" = [ ];
|
||||||
|
# "Window to Desktop 6" = [ ];
|
||||||
|
# "Window to Desktop 7" = [ ];
|
||||||
|
# "Window to Desktop 8" = [ ];
|
||||||
|
# "Window to Desktop 9" = [ ];
|
||||||
|
# "Window to Next Desktop" = [ ];
|
||||||
|
# "Window to Next Screen" = "Meta+Shift+Right";
|
||||||
|
# "Window to Previous Desktop" = [ ];
|
||||||
|
# "Window to Previous Screen" = "Meta+Shift+Left";
|
||||||
|
# "Window to Screen 0" = [ ];
|
||||||
|
# "Window to Screen 1" = [ ];
|
||||||
|
# "Window to Screen 2" = [ ];
|
||||||
|
# "Window to Screen 3" = [ ];
|
||||||
|
# "Window to Screen 4" = [ ];
|
||||||
|
# "Window to Screen 5" = [ ];
|
||||||
|
# "Window to Screen 6" = [ ];
|
||||||
|
# "Window to Screen 7" = [ ];
|
||||||
|
# disableInputCapture = "Meta+Shift+Esc";
|
||||||
|
# view_actual_size = "Meta+0";
|
||||||
|
# view_zoom_in = ["Meta++" "Meta+="];
|
||||||
|
# view_zoom_out = "Meta+-";
|
||||||
|
};
|
||||||
|
#mediacontrol = {
|
||||||
|
#mediacontrol.mediavolumedown = [ ];
|
||||||
|
#mediacontrol.mediavolumeup = [ ];
|
||||||
|
#mediacontrol.nextmedia = "Media Next";
|
||||||
|
#mediacontrol.pausemedia = "Media Pause";
|
||||||
|
#mediacontrol.playmedia = [ ];
|
||||||
|
#mediacontrol.playpausemedia = "Media Play";
|
||||||
|
#mediacontrol.previousmedia = "Media Previous";
|
||||||
|
#mediacontrol.stopmedia = "Media Stop";
|
||||||
|
#};
|
||||||
|
org_kde_powerdevil = {
|
||||||
|
# "Decrease Keyboard Brightness" = "Keyboard Brightness Down";
|
||||||
|
# "Decrease Screen Brightness" = "Monitor Brightness Down";
|
||||||
|
# "Decrease Screen Brightness Small" = "Shift+Monitor Brightness Down";
|
||||||
|
# Hibernate = "Hibernate";
|
||||||
|
# "Increase Keyboard Brightness" = "Keyboard Brightness Up";
|
||||||
|
# "Increase Screen Brightness" = "Monitor Brightness Up";
|
||||||
|
# "Increase Screen Brightness Small" = "Shift+Monitor Brightness Up";
|
||||||
|
# PowerDown = "Power Down";
|
||||||
|
# PowerOff = "Power Off";
|
||||||
|
# Sleep = "Sleep";
|
||||||
|
# "Toggle Keyboard Backlight" = "Keyboard Light On/Off";
|
||||||
|
# "Turn Off Screen" = [ ];
|
||||||
|
powerProfile = ["Battery" "Meta+B"];
|
||||||
|
};
|
||||||
|
plasmashell = {
|
||||||
|
"activate application launcher" = "Meta";
|
||||||
|
# "activate task manager entry 1" = "Meta+1";
|
||||||
|
# "activate task manager entry 10" = [ ];
|
||||||
|
# "activate task manager entry 2" = "Meta+2";
|
||||||
|
# "activate task manager entry 3" = "Meta+3";
|
||||||
|
# "activate task manager entry 4" = "Meta+4";
|
||||||
|
# "activate task manager entry 5" = "Meta+5";
|
||||||
|
# "activate task manager entry 6" = "Meta+6";
|
||||||
|
# "activate task manager entry 7" = "Meta+7";
|
||||||
|
# "activate task manager entry 8" = "Meta+8";
|
||||||
|
# "activate task manager entry 9" = "Meta+9";
|
||||||
|
# clear-history = [ ];
|
||||||
|
# clipboard_action = "Meta+Ctrl+X";
|
||||||
|
# cycle-panels = "Meta+Alt+P";
|
||||||
|
# cycleNextAction = [ ];
|
||||||
|
# cyclePrevAction = [ ];
|
||||||
|
# "manage activities" = "Meta+Q";
|
||||||
|
# "next activity" = "Meta+A";
|
||||||
|
# "previous activity" = "Meta+Shift+A";
|
||||||
|
# repeat_action = "Meta+Ctrl+R";
|
||||||
|
# "show dashboard" = "Ctrl+F12";
|
||||||
|
# show-barcode = [ ];
|
||||||
|
# show-on-mouse-pos = "Meta+V";
|
||||||
|
# "stop current activity" = "Meta+S";
|
||||||
|
# "switch to next activity" = [ ];
|
||||||
|
# "switch to previous activity" = [ ];
|
||||||
|
# "toggle do not disturb" = [ ];
|
||||||
|
};
|
||||||
|
#"services/org.kde.plasma-systemmonitor.desktop"._launch = [ ];
|
||||||
|
#"services/org.kde.spectacle.desktop".RecordWindow = [ ];
|
||||||
|
#"services/org.kde.spectacle.desktop".RectangularRegionScreenShot = ["Meta+Shift+Print" "Meta+Shift+S"];
|
||||||
|
#"services/org.kde.spectacle.desktop"._launch = "Print";
|
||||||
|
#wacomtablet."Map to fullscreen" = "Meta+Ctrl+F";
|
||||||
|
#wacomtablet."Map to screen 1" = "Meta+Ctrl+1";
|
||||||
|
#wacomtablet."Map to screen 2" = "Meta+Ctrl+2";
|
||||||
|
#wacomtablet."Next Profile" = "Meta+Ctrl+N";
|
||||||
|
#wacomtablet."Previous Profile" = "Meta+Ctrl+P";
|
||||||
|
#wacomtablet."Toggle screen map selection" = "Meta+Ctrl+M";
|
||||||
|
#wacomtablet."Toggle stylus mode" = "Meta+Ctrl+S";
|
||||||
|
#wacomtablet."Toggle touch tool" = "Meta+Ctrl+T";
|
||||||
|
yakuake.toggle-window-state = "Meta+F12";
|
||||||
|
};
|
||||||
|
|
||||||
|
configFile = {
|
||||||
|
#baloofilerc.General.dbVersion = 2;
|
||||||
|
#baloofilerc.General."exclude filters" = "*~,*.part,*.o,*.la,*.lo,*.loT,*.moc,moc_*.cpp,qrc_*.cpp,ui_*.h,cmake_install.cmake,CMakeCache.txt,CTestTestfile.cmake,libtool,config.status,confdefs.h,autom4te,conftest,confstat,Makefile.am,*.gcode,.ninja_deps,.ninja_log,build.ninja,*.csproj,*.m4,*.rej,*.gmo,*.pc,*.omf,*.aux,*.tmp,*.po,*.vm*,*.nvram,*.rcore,*.swp,*.swap,lzo,litmain.sh,*.orig,.histfile.*,.xsession-errors*,*.map,*.so,*.a,*.db,*.qrc,*.ini,*.init,*.img,*.vdi,*.vbox*,vbox.log,*.qcow2,*.vmdk,*.vhd,*.vhdx,*.sql,*.sql.gz,*.ytdl,*.tfstate*,*.class,*.pyc,*.pyo,*.elc,*.qmlc,*.jsc,*.fastq,*.fq,*.gb,*.fasta,*.fna,*.gbff,*.faa,po,CVS,.svn,.git,_darcs,.bzr,.hg,CMakeFiles,CMakeTmp,CMakeTmpQmake,.moc,.obj,.pch,.uic,.npm,.yarn,.yarn-cache,__pycache__,node_modules,node_packages,nbproject,.terraform,.venv,venv,core-dumps,lost+found";
|
||||||
|
#baloofilerc.General."exclude filters version" = 9;
|
||||||
|
dolphinrc = {
|
||||||
|
General = {
|
||||||
|
#ShowTerminal = true;
|
||||||
|
RememberOpenedTabs = false;
|
||||||
|
# ViewPropsTimestamp = "2024,8,12,15,7,43.15";
|
||||||
|
};
|
||||||
|
"MainWindow"."TerminalPanel Visible" = true;
|
||||||
|
# IconsMode.PreviewSize = 80;
|
||||||
|
# "KFileDialog Settings"."Places Icons Auto-resize" = false;
|
||||||
|
# "KFileDialog Settings"."Places Icons Static Size" = 22;
|
||||||
|
# PreviewSettings.Plugins = "appimagethumbnail,audiothumbnail,avif,comicbookthumbnail,cursorthumbnail,djvuthumbnail,ebookthumbnail,exrthumbnail,directorythumbnail,fontthumbnail,imagethumbnail,jpegthumbnail,jxl,kraorathumbnail,windowsexethumbnail,windowsimagethumbnail,opendocumentthumbnail,gdk-pixbuf-thumbnailer,svgthumbnail";
|
||||||
|
};
|
||||||
|
#kactivitymanagerdrc.activities.e85f493f-046d-4dca-9e07-987ecd4ca4bc = "Default";
|
||||||
|
#kactivitymanagerdrc.main.currentActivity = "e85f493f-046d-4dca-9e07-987ecd4ca4bc";
|
||||||
|
katerc = {
|
||||||
|
# General."Days Meta Infos" = 30;
|
||||||
|
# General."Save Meta Infos" = true;
|
||||||
|
# General."Show Full Path in Title" = false;
|
||||||
|
# General."Show Menu Bar" = true;
|
||||||
|
# General."Show Status Bar" = true;
|
||||||
|
# General."Show Tab Bar" = true;
|
||||||
|
# General."Show Url Nav Bar" = true;
|
||||||
|
# "KTextEditor Renderer"."Animate Bracket Matching" = false;
|
||||||
|
# "KTextEditor Renderer"."Auto Color Theme Selection" = true;
|
||||||
|
# "KTextEditor Renderer"."Color Theme" = "Breeze Dark";
|
||||||
|
# "KTextEditor Renderer"."Line Height Multiplier" = 1;
|
||||||
|
# "KTextEditor Renderer"."Show Indentation Lines" = false;
|
||||||
|
# "KTextEditor Renderer"."Show Whole Bracket Expression" = false;
|
||||||
|
# "KTextEditor Renderer"."Text Font" = "Hack,10,-1,7,400,0,0,0,0,0,0,0,0,0,0,1";
|
||||||
|
# "KTextEditor Renderer"."Text Font Features" = "";
|
||||||
|
# "KTextEditor Renderer"."Word Wrap Marker" = false;
|
||||||
|
# "KTextEditor::Search"."Search History" = "availabilityDomain,subnetId";
|
||||||
|
"KTextEditor Document" = {
|
||||||
|
"Indentation Width" = 2;
|
||||||
|
"Tab Width" = 2;
|
||||||
|
"Replace Tabs" = true;
|
||||||
|
};
|
||||||
|
#filetree.editShade = "31,81,106";
|
||||||
|
#filetree.listMode = false;#kdeglobals.KDE.widgetStyle = "Breeze";
|
||||||
|
#filetree.middleClickToClose = false;
|
||||||
|
#filetree.shadingEnabled = true;
|
||||||
|
#filetree.showCloseButton = false;
|
||||||
|
#filetree.showFullPathOnRoots = false;
|
||||||
|
#filetree.showToolbar = true;
|
||||||
|
#filetree.sortRole = 0;
|
||||||
|
#filetree.viewShade = "81,49,95";
|
||||||
|
};
|
||||||
|
#kded5rc.Module-browserintegrationreminder.autoload = false;
|
||||||
|
#kded5rc.Module-device_automounter.autoload = false;
|
||||||
|
#kdeglobals."DirSelect Dialog"."DirSelectDialog Size" = "960,540";
|
||||||
|
#kdeglobals.KDE.ShowDeleteCommand = false;
|
||||||
|
#kdeglobals."KFileDialog Settings"."Allow Expansion" = false;
|
||||||
|
#kdeglobals."KFileDialog Settings"."Automatically select filename extension" = true;
|
||||||
|
#kdeglobals."KFileDialog Settings"."Breadcrumb Navigation" = false;
|
||||||
|
#kdeglobals."KFileDialog Settings"."Decoration position" = 2;
|
||||||
|
#kdeglobals."KFileDialog Settings"."LocationCombo Completionmode" = 5;
|
||||||
|
#kdeglobals."KFileDialog Settings"."PathCombo Completionmode" = 5;
|
||||||
|
#kdeglobals."KFileDialog Settings"."Show Bookmarks" = false;
|
||||||
|
#kdeglobals."KFileDialog Settings"."Show Full Path" = false;
|
||||||
|
#kdeglobals."KFileDialog Settings"."Show Inline Previews" = true;
|
||||||
|
#kdeglobals."KFileDialog Settings"."Show Preview" = false;
|
||||||
|
#kdeglobals."KFileDialog Settings"."Show Speedbar" = true;
|
||||||
|
#kdeglobals."KFileDialog Settings"."Show hidden files" = false;
|
||||||
|
#kdeglobals."KFileDialog Settings"."Sort by" = "Name";
|
||||||
|
#kdeglobals."KFileDialog Settings"."Sort directories first" = true;
|
||||||
|
#kdeglobals."KFileDialog Settings"."Sort hidden files last" = false;
|
||||||
|
#kdeglobals."KFileDialog Settings"."Sort reversed" = true;
|
||||||
|
#kdeglobals."KFileDialog Settings"."Speedbar Width" = 147;
|
||||||
|
#kdeglobals."KFileDialog Settings"."View Style" = "DetailTree";
|
||||||
|
#kdeglobals."KShortcutsDialog Settings"."Dialog Size" = "600,480";
|
||||||
|
#kdeglobals.PreviewSettings.EnableRemoteFolderThumbnail = false;
|
||||||
|
#kdeglobals.PreviewSettings.MaximumRemoteSize = 0;
|
||||||
|
#kdeglobals.Sounds.Theme = "freedesktop";
|
||||||
|
#kdeglobals.WM.activeBackground = "49,54,59";
|
||||||
|
#kdeglobals.WM.activeBlend = "252,252,252";
|
||||||
|
#kdeglobals.WM.activeForeground = "252,252,252";
|
||||||
|
#kdeglobals.WM.inactiveBackground = "42,46,50";
|
||||||
|
#kdeglobals.WM.inactiveBlend = "161,169,177";
|
||||||
|
#kdeglobals.WM.inactiveForeground = "161,169,177";
|
||||||
|
#kiorc.Confirmations.ConfirmDelete = true;
|
||||||
|
kscreenlockerrc.Daemon.Autolock = false;
|
||||||
|
kscreenlockerrc.Daemon.Timeout = 0;
|
||||||
|
#kscreenlockerrc."Greeter/Wallpaper/org.kde.image/General".Image = "/usr/share/wallpapers/ScarletTree/";
|
||||||
|
#kscreenlockerrc."Greeter/Wallpaper/org.kde.image/General".PreviewImage = "/usr/share/wallpapers/ScarletTree/";
|
||||||
|
ksmserverrc.General.loginMode = "emptySession";
|
||||||
|
#kwalletrc.Wallet."First Use" = false;
|
||||||
|
kwinrc = {
|
||||||
|
# "Activities/LastVirtualDesktop"."0f8d8349-5b1b-4b77-bfa5-22829bfaf459" = "4a2f44cc-dfe7-45dc-8439-fe34a6866d37";
|
||||||
|
# "Activities/LastVirtualDesktop".e85f493f-046d-4dca-9e07-987ecd4ca4bc = "4a2f44cc-dfe7-45dc-8439-fe34a6866d37";
|
||||||
|
"EdgeBarrier"."EdgeBarrier" = 15;
|
||||||
|
Desktops = {
|
||||||
|
# Id_1 = "4a2f44cc-dfe7-45dc-8439-fe34a6866d37";
|
||||||
|
# Id_2 = "fc5cf4ff-2e08-4059-ac1f-7c5540efa4fc";
|
||||||
|
# Id_3 = "375e6952-2ebc-473c-bd50-58090b95b184";
|
||||||
|
# Id_4 = "6cf07176-c30b-401a-b7f4-cf63067a7191";
|
||||||
|
Number = 4;
|
||||||
|
Rows = 2;
|
||||||
|
};
|
||||||
|
Effect-overview.BorderActivate = 9;
|
||||||
|
NightColor.Active = true;
|
||||||
|
#Latitude and Longitude for Germany
|
||||||
|
NightColor.LatitudeAuto = 49.49;
|
||||||
|
NightColor.LongitudeAuto = 8.46;
|
||||||
|
NightColor.NightTemperature = 2400;
|
||||||
|
Plugins.cubeEnabled = true;
|
||||||
|
Plugins.sheetEnabled = true;
|
||||||
|
Plugins.translucencyEnabled = true;
|
||||||
|
Tiling.padding = 4;
|
||||||
|
#"Tiling/01df8341-b6c7-5a80-b8b8-9d45585f515f".tiles = "{\"layoutDirection\":\"horizontal\",\"tiles\":[{\"width\":0.25},{\"width\":0.5},{\"width\":0.25}]}";
|
||||||
|
#"Tiling/1c624b6b-fbd3-5af5-93a9-4a7d55ba7893".tiles = "{\"layoutDirection\":\"horizontal\",\"tiles\":[{\"width\":0.25},{\"width\":0.5},{\"width\":0.25}]}";
|
||||||
|
#"Tiling/f18ce12b-2106-508f-9542-e4e6c6fbf75f".tiles = "{\"layoutDirection\":\"horizontal\",\"tiles\":[{\"width\":0.25},{\"width\":0.5},{\"width\":0.25}]}";
|
||||||
|
#Xwayland.Scale = 2;
|
||||||
|
"org.kde.kdecoration2".BorderSize = "Tiny";
|
||||||
|
"org.kde.kdecoration2".BorderSizeAuto = false;
|
||||||
|
"org.kde.kdecoration2".ButtonsOnLeft = "";
|
||||||
|
#"org.kde.kdecoration2".theme = "__aurorae__svg__Nordic";
|
||||||
|
};
|
||||||
|
#plasma-localerc.Formats.LANG = "en_US.UTF-8";
|
||||||
|
#plasmanotifyrc."Applications/dev.deedles.Trayscale".Seen = true;
|
||||||
|
};
|
||||||
|
};
|
||||||
|
};
|
||||||
|
}
|
||||||
127
plasma/settings/desktop.nix
Normal file
127
plasma/settings/desktop.nix
Normal file
@ -0,0 +1,127 @@
|
|||||||
|
{
|
||||||
|
pkgs,
|
||||||
|
inputs,
|
||||||
|
username,
|
||||||
|
project,
|
||||||
|
plasmaTheme,
|
||||||
|
...
|
||||||
|
}: {
|
||||||
|
programs = {
|
||||||
|
plasma = {
|
||||||
|
overrideConfig = true;
|
||||||
|
|
||||||
|
panels = [
|
||||||
|
{
|
||||||
|
height = 44;
|
||||||
|
location = "bottom";
|
||||||
|
alignment = "center";
|
||||||
|
floating = true;
|
||||||
|
opacity = "translucent";
|
||||||
|
widgets = [
|
||||||
|
"org.kde.plasma.kickoff"
|
||||||
|
"org.kde.plasma.pager"
|
||||||
|
{
|
||||||
|
name = "org.kde.plasma.icontasks";
|
||||||
|
config = {
|
||||||
|
General = {
|
||||||
|
launchers = [
|
||||||
|
# optional pinned apps
|
||||||
|
"applications:org.kde.dolphin.desktop"
|
||||||
|
"applications:systemsettings.desktop"
|
||||||
|
"applications:kitty.desktop"
|
||||||
|
"applications:firefox.desktop"
|
||||||
|
];
|
||||||
|
};
|
||||||
|
};
|
||||||
|
}
|
||||||
|
{
|
||||||
|
name = "org.kde.olib.thermalmonitor";
|
||||||
|
config = {
|
||||||
|
General = {
|
||||||
|
sensors = "[{\"name\":\"Average CPU Temperature\",\"sensorId\":\"cpu/all/averageTemperature\"}]";
|
||||||
|
};
|
||||||
|
};
|
||||||
|
}
|
||||||
|
{
|
||||||
|
name = "org.kde.plasma.systemmonitor.cpu";
|
||||||
|
config = {
|
||||||
|
Appearance = {
|
||||||
|
chartFace = "org.kde.ksysguard.linechart";
|
||||||
|
title = "Total CPU Use";
|
||||||
|
};
|
||||||
|
SensorColors = {
|
||||||
|
"cpu/all/usage" = "43,82,120";
|
||||||
|
};
|
||||||
|
Sensors = {
|
||||||
|
highPrioritySensorIds = "[\"cpu/all/usage\"]";
|
||||||
|
lowPrioritySensorIds = "[\"cpu/all/cpuCount\",\"cpu/all/coreCount\"]";
|
||||||
|
totalSensors = "[\"cpu/all/usage\"]";
|
||||||
|
};
|
||||||
|
General = {
|
||||||
|
CurrentPreset = "org.kde.plasma.systemmonitor";
|
||||||
|
};
|
||||||
|
};
|
||||||
|
}
|
||||||
|
"zayron.simple.separator"
|
||||||
|
{
|
||||||
|
systemTray = {
|
||||||
|
items = {
|
||||||
|
# Explicitly shown icons (always visible)
|
||||||
|
shown = [
|
||||||
|
"Trayscale"
|
||||||
|
#"org.kde.plasma.battery"
|
||||||
|
"org.kde.plasma.networkmanagement"
|
||||||
|
"org.kde.plasma.volume"
|
||||||
|
];
|
||||||
|
# Explicitly hidden icons (in the popup menu)
|
||||||
|
hidden = [
|
||||||
|
"org.kde.plasma.brightness"
|
||||||
|
"toolbox"
|
||||||
|
"Yakuake"
|
||||||
|
"org.kde.plasma.notifications"
|
||||||
|
"Xwayland Video Bridge_pipewireToXProxy"
|
||||||
|
"zero-trust-client"
|
||||||
|
"org.kde.plasma.clipboard"
|
||||||
|
"org.kde.plasma.bluetooth"
|
||||||
|
"org.kde.plasma.clipboard"
|
||||||
|
"org.kde.plasma.printmanager"
|
||||||
|
"org.kde.plasma.weather"
|
||||||
|
"org.kde.plasma.battery"
|
||||||
|
];
|
||||||
|
};
|
||||||
|
};
|
||||||
|
}
|
||||||
|
{
|
||||||
|
name = "org.kde.plasma.digitalclock";
|
||||||
|
config = {
|
||||||
|
Appearance = {
|
||||||
|
fontWeight = 400;
|
||||||
|
use24hFormat = 2;
|
||||||
|
};
|
||||||
|
};
|
||||||
|
}
|
||||||
|
];
|
||||||
|
}
|
||||||
|
];
|
||||||
|
|
||||||
|
workspace = {
|
||||||
|
theme = "WhiteSur-dark";
|
||||||
|
colorScheme = "Win11OSDark";
|
||||||
|
cursor = {
|
||||||
|
theme = "Win10OS-cursors";
|
||||||
|
size = 24;
|
||||||
|
};
|
||||||
|
wallpaper = /home/${username}/${project}/other/wallpaper1.png;
|
||||||
|
soundTheme = "ocean";
|
||||||
|
iconTheme = "We10X";
|
||||||
|
splashScreen = {
|
||||||
|
theme = "fishy";
|
||||||
|
};
|
||||||
|
windowDecorations = {
|
||||||
|
library = "org.kde.kwin.aurorae";
|
||||||
|
theme = "__aurorae__svg__Win11OS-dark";
|
||||||
|
};
|
||||||
|
};
|
||||||
|
};
|
||||||
|
};
|
||||||
|
}
|
||||||
157
plasma/settings/laptop.nix
Normal file
157
plasma/settings/laptop.nix
Normal file
@ -0,0 +1,157 @@
|
|||||||
|
{
|
||||||
|
pkgs,
|
||||||
|
inputs,
|
||||||
|
username,
|
||||||
|
project,
|
||||||
|
plasmaTheme,
|
||||||
|
...
|
||||||
|
}: {
|
||||||
|
programs = {
|
||||||
|
plasma = {
|
||||||
|
overrideConfig = true;
|
||||||
|
|
||||||
|
panels = [
|
||||||
|
{
|
||||||
|
height = 44;
|
||||||
|
location = "top";
|
||||||
|
alignment = "center";
|
||||||
|
floating = true;
|
||||||
|
opacity = "translucent";
|
||||||
|
widgets = [
|
||||||
|
"org.kde.plasma.kickoff"
|
||||||
|
"org.kde.plasma.pager"
|
||||||
|
"org.kde.plasma.marginsseparator"
|
||||||
|
"org.kde.windowtitle"
|
||||||
|
"org.kde.plasma.panelspacer"
|
||||||
|
{
|
||||||
|
name = "org.kde.olib.thermalmonitor";
|
||||||
|
config = {
|
||||||
|
General = {
|
||||||
|
sensors = "[{\"name\":\"Average CPU Temperature\",\"sensorId\":\"cpu/all/averageTemperature\"}]";
|
||||||
|
};
|
||||||
|
};
|
||||||
|
}
|
||||||
|
{
|
||||||
|
name = "org.kde.plasma.systemmonitor.cpu";
|
||||||
|
config = {
|
||||||
|
Appearance = {
|
||||||
|
chartFace = "org.kde.ksysguard.linechart";
|
||||||
|
title = "Total CPU Use";
|
||||||
|
};
|
||||||
|
SensorColors = {
|
||||||
|
"cpu/all/usage" = "43,82,120";
|
||||||
|
};
|
||||||
|
Sensors = {
|
||||||
|
highPrioritySensorIds = "[\"cpu/all/usage\"]";
|
||||||
|
lowPrioritySensorIds = "[\"cpu/all/cpuCount\",\"cpu/all/coreCount\"]";
|
||||||
|
totalSensors = "[\"cpu/all/usage\"]";
|
||||||
|
};
|
||||||
|
General = {
|
||||||
|
CurrentPreset = "org.kde.plasma.systemmonitor";
|
||||||
|
};
|
||||||
|
};
|
||||||
|
}
|
||||||
|
"zayron.simple.separator"
|
||||||
|
{
|
||||||
|
systemTray = {
|
||||||
|
items = {
|
||||||
|
# Explicitly shown icons (always visible)
|
||||||
|
shown = [
|
||||||
|
"Trayscale"
|
||||||
|
#"org.kde.plasma.battery"
|
||||||
|
"org.kde.plasma.networkmanagement"
|
||||||
|
"org.kde.plasma.volume"
|
||||||
|
];
|
||||||
|
# Explicitly hidden icons (in the popup menu)
|
||||||
|
hidden = [
|
||||||
|
"org.kde.plasma.brightness"
|
||||||
|
"toolbox"
|
||||||
|
"Yakuake"
|
||||||
|
"org.kde.plasma.notifications"
|
||||||
|
"Xwayland Video Bridge_pipewireToXProxy"
|
||||||
|
"zero-trust-client"
|
||||||
|
"org.kde.plasma.clipboard"
|
||||||
|
"org.kde.plasma.bluetooth"
|
||||||
|
"org.kde.plasma.clipboard"
|
||||||
|
"org.kde.plasma.printmanager"
|
||||||
|
"org.kde.plasma.weather"
|
||||||
|
"org.kde.plasma.battery"
|
||||||
|
];
|
||||||
|
};
|
||||||
|
};
|
||||||
|
}
|
||||||
|
{
|
||||||
|
name = "org.kde.plasma.battery";
|
||||||
|
config = {
|
||||||
|
General = {
|
||||||
|
showPercentage = true;
|
||||||
|
};
|
||||||
|
};
|
||||||
|
}
|
||||||
|
{
|
||||||
|
name = "org.kde.plasma.digitalclock";
|
||||||
|
config = {
|
||||||
|
Appearance = {
|
||||||
|
fontWeight = 400;
|
||||||
|
use24hFormat = 2;
|
||||||
|
};
|
||||||
|
};
|
||||||
|
}
|
||||||
|
];
|
||||||
|
}
|
||||||
|
{
|
||||||
|
height = 60;
|
||||||
|
location = "bottom";
|
||||||
|
alignment = "center";
|
||||||
|
lengthMode = "fit";
|
||||||
|
floating = true;
|
||||||
|
opacity = "translucent";
|
||||||
|
hiding = "dodgewindows";
|
||||||
|
widgets = [
|
||||||
|
"org.kde.plasma.kickerdash"
|
||||||
|
{
|
||||||
|
name = "org.kde.plasma.icontasks";
|
||||||
|
config = {
|
||||||
|
General = {
|
||||||
|
launchers = [
|
||||||
|
# optional pinned apps
|
||||||
|
"applications:org.kde.dolphin.desktop"
|
||||||
|
"applications:systemsettings.desktop"
|
||||||
|
"applications:kitty.desktop"
|
||||||
|
"applications:firefox.desktop"
|
||||||
|
];
|
||||||
|
};
|
||||||
|
};
|
||||||
|
}
|
||||||
|
];
|
||||||
|
}
|
||||||
|
];
|
||||||
|
|
||||||
|
workspace = {
|
||||||
|
theme = "WhiteSur-dark";
|
||||||
|
colorScheme = "BreezeDark";
|
||||||
|
cursor = {
|
||||||
|
theme = "Breeze_Light";
|
||||||
|
size = 24;
|
||||||
|
};
|
||||||
|
wallpaper = /home/${username}/${project}/other/wallpaper3.png;
|
||||||
|
soundTheme = "freedesktop";
|
||||||
|
iconTheme = "Breeze-LaCapitaine-apps";
|
||||||
|
splashScreen = {
|
||||||
|
theme = "a2n.kuro";
|
||||||
|
};
|
||||||
|
windowDecorations = {
|
||||||
|
library = "org.kde.kwin.aurorae";
|
||||||
|
theme = "__aurorae__svg__Nordic";
|
||||||
|
};
|
||||||
|
};
|
||||||
|
configFile = {
|
||||||
|
kwinrc = {
|
||||||
|
Effect-wobblywindows.AdvancedMode = true;
|
||||||
|
Effect-wobblywindows.Stiffness = 25;
|
||||||
|
Plugins.wobblywindowsEnabled = true;
|
||||||
|
};
|
||||||
|
};
|
||||||
|
};
|
||||||
|
};
|
||||||
|
}
|
||||||
70
plasma/settings/powerProfile.nix
Normal file
70
plasma/settings/powerProfile.nix
Normal file
@ -0,0 +1,70 @@
|
|||||||
|
{
|
||||||
|
pkgs,
|
||||||
|
inputs,
|
||||||
|
username,
|
||||||
|
project,
|
||||||
|
powerProfile,
|
||||||
|
...
|
||||||
|
}: let
|
||||||
|
profiles = {
|
||||||
|
laptop = {
|
||||||
|
AC.powerProfile = "powerSaving";
|
||||||
|
battery.powerProfile = "powerSaving";
|
||||||
|
lowBattery.powerProfile = "powerSaving";
|
||||||
|
};
|
||||||
|
desktop = {
|
||||||
|
AC.powerProfile = "performance";
|
||||||
|
battery.powerProfile = "performance";
|
||||||
|
lowBattery.powerProfile = "performance";
|
||||||
|
};
|
||||||
|
};
|
||||||
|
|
||||||
|
selectedProfile = profiles.${powerProfile};
|
||||||
|
in {
|
||||||
|
programs = {
|
||||||
|
plasma = {
|
||||||
|
overrideConfig = true;
|
||||||
|
|
||||||
|
powerdevil = {
|
||||||
|
AC = {
|
||||||
|
powerProfile = selectedProfile.AC.powerProfile;
|
||||||
|
autoSuspend = {
|
||||||
|
action = "nothing";
|
||||||
|
};
|
||||||
|
dimDisplay.enable = false;
|
||||||
|
turnOffDisplay.idleTimeout = "never";
|
||||||
|
};
|
||||||
|
|
||||||
|
battery = {
|
||||||
|
powerProfile = selectedProfile.battery.powerProfile;
|
||||||
|
autoSuspend = {
|
||||||
|
action = "nothing";
|
||||||
|
};
|
||||||
|
whenLaptopLidClosed = "sleep";
|
||||||
|
dimDisplay.enable = false;
|
||||||
|
turnOffDisplay.idleTimeout = "never";
|
||||||
|
};
|
||||||
|
|
||||||
|
lowBattery = {
|
||||||
|
powerProfile = selectedProfile.lowBattery.powerProfile;
|
||||||
|
autoSuspend = {
|
||||||
|
action = "sleep";
|
||||||
|
idleTimeout = 300;
|
||||||
|
};
|
||||||
|
whenLaptopLidClosed = "sleep";
|
||||||
|
dimDisplay = {
|
||||||
|
idleTimeout = 60;
|
||||||
|
};
|
||||||
|
displayBrightness = 30;
|
||||||
|
turnOffDisplay.idleTimeout = 120;
|
||||||
|
};
|
||||||
|
|
||||||
|
batteryLevels = {
|
||||||
|
lowLevel = 10;
|
||||||
|
criticalLevel = 5;
|
||||||
|
criticalAction = "sleep";
|
||||||
|
};
|
||||||
|
};
|
||||||
|
};
|
||||||
|
};
|
||||||
|
}
|
||||||
@ -1,11 +0,0 @@
|
|||||||
#!/bin/sh
|
|
||||||
|
|
||||||
sleep 15
|
|
||||||
FLAG_FILE="/home/cookiez/.flags/theme-flag"
|
|
||||||
|
|
||||||
|
|
||||||
if [ ! -f "$FLAG_FILE" ]; then
|
|
||||||
/run/current-system/sw/bin/kdialog --passivepopup "Dont forget to apply custom system theme! (run kde-theme-apply in terminal)" 60
|
|
||||||
fi
|
|
||||||
|
|
||||||
echo "Finished Popup Script!"
|
|
||||||
Reference in New Issue
Block a user