mirror of
https://github.com/szymon-jozef/amazing-dotfiles.git
synced 2026-09-07 12:10:45 +02:00
Compare commits
180 Commits
| Author | SHA1 | Date | |
|---|---|---|---|
| 0ef93baee0 | |||
| fe64dc6344 | |||
| 338652be3e | |||
| de6c4000c7 | |||
| 66f9dc1bb3 | |||
| a33f6f6da3 | |||
| 4ec3bc2f47 | |||
| 94bcf08e7f | |||
| d1ec59478c | |||
| 93e6dd9858 | |||
| 78f4fdafe8 | |||
| a0054abc4f | |||
| 4ba52fe963 | |||
| b0883c1b54 | |||
| eb68462cfb | |||
| b724465db1 | |||
| 3e15740c3f | |||
| f604e21761 | |||
| 16304aeb3f | |||
| a751279ec3 | |||
| baed566262 | |||
| 26cbf784b2 | |||
| 3f463c5dc7 | |||
| 5675c7e388 | |||
| b402858cd6 | |||
| 49c1ff737a | |||
| dd77199323 | |||
| 9516457cfd | |||
| 6125f6de46 | |||
| 09f37d2e85 | |||
| bf46aa2889 | |||
| e740081f81 | |||
| f66308c6f3 | |||
| 58171c4860 | |||
| bab565c6b2 | |||
| 8c364ddf66 | |||
| d1aaf86410 | |||
| 7f560cdce2 | |||
| 26c9f700ec | |||
| 2616458c7d | |||
| a6db86493b | |||
| 17df54fe4a | |||
| 101ae8da40 | |||
| 7b5a5b7fbe | |||
| 7c6acd39ba | |||
| dcb1e8024b | |||
| 97bc84ca2e | |||
| e5e1663234 | |||
| f6f967f955 | |||
| 3608a5968c | |||
| cf87e02dd1 | |||
| 3fd48c0e3b | |||
| 21d688754e | |||
| 71572218ae | |||
| ce671c7440 | |||
| 5ace7fac43 | |||
| b2eb274866 | |||
| c397420d56 | |||
| b206b41cf0 | |||
| 2dc61bdcd3 | |||
| 7133fcb823 | |||
| a4863c3c4f | |||
| 843129eeb1 | |||
| 740deb2519 | |||
| a6cd239eaf | |||
| 2971626335 | |||
| 5c5e184141 | |||
| b531e290d2 | |||
| d63944a9aa | |||
| 375389307b | |||
| 0f9855aff4 | |||
| ec868f65ad | |||
| cbcc5d00a1 | |||
| adc8ba3802 | |||
| beab2afa3c | |||
| 262ca1845c | |||
| 52525169cc | |||
| bb04235569 | |||
| 3100a4930f | |||
| de80b905d5 | |||
| 63aea4d9bf | |||
| 3502073527 | |||
| 091e2295ea | |||
| 06e9335403 | |||
| 04e08bcc1c | |||
| 85168c9ae2 | |||
| 8d07ed6be6 | |||
| c2fa7f803f | |||
| 408555cc47 | |||
| cdb5403c04 | |||
| 41959e08d1 | |||
| a62512d9b6 | |||
| efaaadb75e | |||
| e83c3edf26 | |||
| 2c7c484bb4 | |||
| 0aa23ec425 | |||
| bda596fa9d | |||
| 8ca17b6223 | |||
| afce7de729 | |||
| ab931a45c7 | |||
| 60679bad0b | |||
| 780abf3967 | |||
| a2e1a41d41 | |||
| 177e426d58 | |||
| 8b81015fd7 | |||
| c2821a6132 | |||
| 2e22e49b35 | |||
| 6b977a8416 | |||
| 0142567dfc | |||
| 7e75c2c895 | |||
| cb614c97e3 | |||
| 34566f9e5a | |||
| 17ee7e057d | |||
| 92bff3b748 | |||
| beb360aaa3 | |||
| 4f15f4c702 | |||
| 302fe9d948 | |||
| 591991d91f | |||
| b072cc6a5d | |||
| a07cb98151 | |||
| c0aed52d5a | |||
| 2054bacade | |||
| 55dd9dfd6d | |||
| 5d6f732723 | |||
| 7c45a9d042 | |||
| 5500f39c8c | |||
| 0749c86085 | |||
| 61026947d3 | |||
| 8ee4e578f3 | |||
| c658be8e17 | |||
| b519e6226a | |||
| 3389ca5a36 | |||
| 09e586f445 | |||
| 556236c0b9 | |||
| 3c30125a0f | |||
| 562586d932 | |||
| c97f6bc5fc | |||
| a5d49c1490 | |||
| 1eb08b32bc | |||
| 749e8c99fd | |||
| b2fcebb5af | |||
| d8ea7550f0 | |||
| 5f115d7d36 | |||
| 8c341b9052 | |||
| 847fb32980 | |||
| 05f1c95542 | |||
| 3d6e53a1f1 | |||
| b4a4064c3d | |||
| 7694e7e5f9 | |||
| a47ec37bab | |||
| 75719f3c5e | |||
| 04210f9d25 | |||
| 0b7364b4bd | |||
| 71e8871aa0 | |||
| de109a7dd9 | |||
| 27144d7e49 | |||
| b93e319d78 | |||
| 313050d577 | |||
| 272d026e54 | |||
| 0288a57961 | |||
| d24395e1bd | |||
| a7c5193cf7 | |||
| 529b52712e | |||
| 027a74e588 | |||
| 42193b3ab2 | |||
| 7c12cb82aa | |||
| 2886f0517b | |||
| 6f0d08bf48 | |||
| c4617cad86 | |||
| 16d9094435 | |||
| 96e33b9bc4 | |||
| 5889e11254 | |||
| ff8b2befb6 | |||
| 7e694f9994 | |||
| 9c545347a7 | |||
| 99aea6fed5 | |||
| 507f496a53 | |||
| 152ab8bfe1 | |||
| 997e669803 | |||
| cbc68e2b5a |
@@ -1,3 +1,5 @@
|
|||||||
|
# This repo is now deprecated in favor of new [nixos-born-again](https://github.com/szymon-jozef/nixos-born-again)
|
||||||
|
|
||||||

|

|
||||||

|

|
||||||
# My even cooler than previous dotfiles!
|
# My even cooler than previous dotfiles!
|
||||||
|
|||||||
638
flake.lock
generated
638
flake.lock
generated
@@ -1,48 +1,17 @@
|
|||||||
{
|
{
|
||||||
"nodes": {
|
"nodes": {
|
||||||
"aquamarine": {
|
"catppuccin": {
|
||||||
"inputs": {
|
"inputs": {
|
||||||
"hyprutils": [
|
|
||||||
"hyprland",
|
|
||||||
"hyprutils"
|
|
||||||
],
|
|
||||||
"hyprwayland-scanner": [
|
|
||||||
"hyprland",
|
|
||||||
"hyprwayland-scanner"
|
|
||||||
],
|
|
||||||
"nixpkgs": [
|
"nixpkgs": [
|
||||||
"hyprland",
|
|
||||||
"nixpkgs"
|
"nixpkgs"
|
||||||
],
|
|
||||||
"systems": [
|
|
||||||
"hyprland",
|
|
||||||
"systems"
|
|
||||||
]
|
]
|
||||||
},
|
},
|
||||||
"locked": {
|
"locked": {
|
||||||
"lastModified": 1771610171,
|
"lastModified": 1780154910,
|
||||||
"narHash": "sha256-+DeInuhbm6a6PpHDNUS7pozDouq2+8xSDefoNaZLW0E=",
|
"narHash": "sha256-aaGjVFEAJQWB69kok/AthcXpT/9yA5Ag2uYDwdbbj5c=",
|
||||||
"owner": "hyprwm",
|
|
||||||
"repo": "aquamarine",
|
|
||||||
"rev": "7f9eb087703ec4acc6b288d02fa9ea3db803cd3d",
|
|
||||||
"type": "github"
|
|
||||||
},
|
|
||||||
"original": {
|
|
||||||
"owner": "hyprwm",
|
|
||||||
"repo": "aquamarine",
|
|
||||||
"type": "github"
|
|
||||||
}
|
|
||||||
},
|
|
||||||
"catppuccin": {
|
|
||||||
"inputs": {
|
|
||||||
"nixpkgs": "nixpkgs"
|
|
||||||
},
|
|
||||||
"locked": {
|
|
||||||
"lastModified": 1771587924,
|
|
||||||
"narHash": "sha256-eVYOGmF8nQBhudJyU6lHdgJI87kvGz8JyCq5/Vi9Mjk=",
|
|
||||||
"owner": "catppuccin",
|
"owner": "catppuccin",
|
||||||
"repo": "nix",
|
"repo": "nix",
|
||||||
"rev": "b0c65edbf31c2ad3d84438d82c2310f2c28373f3",
|
"rev": "cf8ccac24e24a2a78fe6f36de9c5d5e9860299a4",
|
||||||
"type": "github"
|
"type": "github"
|
||||||
},
|
},
|
||||||
"original": {
|
"original": {
|
||||||
@@ -51,22 +20,6 @@
|
|||||||
"type": "github"
|
"type": "github"
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
"flake-compat": {
|
|
||||||
"flake": false,
|
|
||||||
"locked": {
|
|
||||||
"lastModified": 1767039857,
|
|
||||||
"narHash": "sha256-vNpUSpF5Nuw8xvDLj2KCwwksIbjua2LZCqhV1LNRDns=",
|
|
||||||
"owner": "NixOS",
|
|
||||||
"repo": "flake-compat",
|
|
||||||
"rev": "5edf11c44bc78a0d334f6334cdaf7d60d732daab",
|
|
||||||
"type": "github"
|
|
||||||
},
|
|
||||||
"original": {
|
|
||||||
"owner": "NixOS",
|
|
||||||
"repo": "flake-compat",
|
|
||||||
"type": "github"
|
|
||||||
}
|
|
||||||
},
|
|
||||||
"flake-parts": {
|
"flake-parts": {
|
||||||
"inputs": {
|
"inputs": {
|
||||||
"nixpkgs-lib": [
|
"nixpkgs-lib": [
|
||||||
@@ -75,11 +28,11 @@
|
|||||||
]
|
]
|
||||||
},
|
},
|
||||||
"locked": {
|
"locked": {
|
||||||
"lastModified": 1769996383,
|
"lastModified": 1778716662,
|
||||||
"narHash": "sha256-AnYjnFWgS49RlqX7LrC4uA+sCCDBj0Ry/WOJ5XWAsa0=",
|
"narHash": "sha256-m1Yf0wZ8j1OHjTc2UwHwyQRSnNeSgLJOd7q5Y45hzi4=",
|
||||||
"owner": "hercules-ci",
|
"owner": "hercules-ci",
|
||||||
"repo": "flake-parts",
|
"repo": "flake-parts",
|
||||||
"rev": "57928607ea566b5db3ad13af0e57e921e6b12381",
|
"rev": "f7c1a2d347e4c52d5fb8d10cb4d94b5884e546fb",
|
||||||
"type": "github"
|
"type": "github"
|
||||||
},
|
},
|
||||||
"original": {
|
"original": {
|
||||||
@@ -88,25 +41,21 @@
|
|||||||
"type": "github"
|
"type": "github"
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
"gitignore": {
|
"flake-utils": {
|
||||||
"inputs": {
|
"inputs": {
|
||||||
"nixpkgs": [
|
"systems": "systems_2"
|
||||||
"hyprland",
|
|
||||||
"pre-commit-hooks",
|
|
||||||
"nixpkgs"
|
|
||||||
]
|
|
||||||
},
|
},
|
||||||
"locked": {
|
"locked": {
|
||||||
"lastModified": 1709087332,
|
"lastModified": 1731533236,
|
||||||
"narHash": "sha256-HG2cCnktfHsKV0s4XW83gU3F57gaTljL9KNSuG6bnQs=",
|
"narHash": "sha256-l0KFg5HjrsfsO/JpG+r7fRrqm12kzFHyUHqHCVpMMbI=",
|
||||||
"owner": "hercules-ci",
|
"owner": "numtide",
|
||||||
"repo": "gitignore.nix",
|
"repo": "flake-utils",
|
||||||
"rev": "637db329424fd7e46cf4185293b9cc8c88c95394",
|
"rev": "11707dc2f618dd54ca8739b309ec4fc024de578b",
|
||||||
"type": "github"
|
"type": "github"
|
||||||
},
|
},
|
||||||
"original": {
|
"original": {
|
||||||
"owner": "hercules-ci",
|
"owner": "numtide",
|
||||||
"repo": "gitignore.nix",
|
"repo": "flake-utils",
|
||||||
"type": "github"
|
"type": "github"
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
@@ -117,11 +66,11 @@
|
|||||||
]
|
]
|
||||||
},
|
},
|
||||||
"locked": {
|
"locked": {
|
||||||
"lastModified": 1771851181,
|
"lastModified": 1780099287,
|
||||||
"narHash": "sha256-gFgE6mGUftwseV3DUENMb0k0EiHd739lZexPo5O/sdQ=",
|
"narHash": "sha256-efIPwVGtIWIjWcznhaop6XN6HxnOL8800hF6CBNvlqQ=",
|
||||||
"owner": "nix-community",
|
"owner": "nix-community",
|
||||||
"repo": "home-manager",
|
"repo": "home-manager",
|
||||||
"rev": "9a4b494b1aa1b93d8edf167f46dc8e0c0011280c",
|
"rev": "7d8127d308c3fb9664f7e643eec944be74ebb37d",
|
||||||
"type": "github"
|
"type": "github"
|
||||||
},
|
},
|
||||||
"original": {
|
"original": {
|
||||||
@@ -130,364 +79,84 @@
|
|||||||
"type": "github"
|
"type": "github"
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
"hyprcursor": {
|
"home-manager_2": {
|
||||||
"inputs": {
|
"inputs": {
|
||||||
"hyprlang": [
|
|
||||||
"hyprland",
|
|
||||||
"hyprlang"
|
|
||||||
],
|
|
||||||
"nixpkgs": [
|
"nixpkgs": [
|
||||||
"hyprland",
|
"zen-browser",
|
||||||
"nixpkgs"
|
"nixpkgs"
|
||||||
],
|
|
||||||
"systems": [
|
|
||||||
"hyprland",
|
|
||||||
"systems"
|
|
||||||
]
|
]
|
||||||
},
|
},
|
||||||
"locked": {
|
"locked": {
|
||||||
"lastModified": 1753964049,
|
"lastModified": 1778805320,
|
||||||
"narHash": "sha256-lIqabfBY7z/OANxHoPeIrDJrFyYy9jAM4GQLzZ2feCM=",
|
"narHash": "sha256-nGFJ01m2CTBKD4ABtcY4vLhHrRN91LKr/pn41PcU78A=",
|
||||||
"owner": "hyprwm",
|
"owner": "nix-community",
|
||||||
"repo": "hyprcursor",
|
"repo": "home-manager",
|
||||||
"rev": "44e91d467bdad8dcf8bbd2ac7cf49972540980a5",
|
"rev": "9846abe15e7d0d36b8acbd4d05f2b87461744c92",
|
||||||
"type": "github"
|
"type": "github"
|
||||||
},
|
},
|
||||||
"original": {
|
"original": {
|
||||||
"owner": "hyprwm",
|
"owner": "nix-community",
|
||||||
"repo": "hyprcursor",
|
"repo": "home-manager",
|
||||||
"type": "github"
|
"type": "github"
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
"hyprgraphics": {
|
"hyprcursor-phinger": {
|
||||||
"inputs": {
|
"inputs": {
|
||||||
"hyprutils": [
|
"nixpkgs": "nixpkgs"
|
||||||
"hyprland",
|
|
||||||
"hyprutils"
|
|
||||||
],
|
|
||||||
"nixpkgs": [
|
|
||||||
"hyprland",
|
|
||||||
"nixpkgs"
|
|
||||||
],
|
|
||||||
"systems": [
|
|
||||||
"hyprland",
|
|
||||||
"systems"
|
|
||||||
]
|
|
||||||
},
|
},
|
||||||
"locked": {
|
"locked": {
|
||||||
"lastModified": 1770511807,
|
"lastModified": 1763845612,
|
||||||
"narHash": "sha256-suKmSbSk34uPOJDTg/GbPrKEJutzK08vj0VoTvAFBCA=",
|
"narHash": "sha256-78zH5GrYa35bEkzeVnl8uXFbZ/zsiSHayjxZlNt+Xe8=",
|
||||||
"owner": "hyprwm",
|
"owner": "jappie3",
|
||||||
"repo": "hyprgraphics",
|
"repo": "hyprcursor-phinger",
|
||||||
"rev": "7c75487edd43a71b61adb01cae8326d277aab683",
|
"rev": "1207a845501a28e0e00d4a8e935ee0c9cab30650",
|
||||||
"type": "github"
|
"type": "github"
|
||||||
},
|
},
|
||||||
"original": {
|
"original": {
|
||||||
"owner": "hyprwm",
|
"owner": "jappie3",
|
||||||
"repo": "hyprgraphics",
|
"repo": "hyprcursor-phinger",
|
||||||
"type": "github"
|
|
||||||
}
|
|
||||||
},
|
|
||||||
"hyprland": {
|
|
||||||
"inputs": {
|
|
||||||
"aquamarine": "aquamarine",
|
|
||||||
"hyprcursor": "hyprcursor",
|
|
||||||
"hyprgraphics": "hyprgraphics",
|
|
||||||
"hyprland-guiutils": "hyprland-guiutils",
|
|
||||||
"hyprland-protocols": "hyprland-protocols",
|
|
||||||
"hyprlang": "hyprlang",
|
|
||||||
"hyprutils": "hyprutils",
|
|
||||||
"hyprwayland-scanner": "hyprwayland-scanner",
|
|
||||||
"hyprwire": "hyprwire",
|
|
||||||
"nixpkgs": "nixpkgs_2",
|
|
||||||
"pre-commit-hooks": "pre-commit-hooks",
|
|
||||||
"systems": "systems",
|
|
||||||
"xdph": "xdph"
|
|
||||||
},
|
|
||||||
"locked": {
|
|
||||||
"lastModified": 1772022552,
|
|
||||||
"narHash": "sha256-L3zktLSXcvsqczTz7YL5PXYgn4a08tRfl9t6YYLESM8=",
|
|
||||||
"owner": "hyprwm",
|
|
||||||
"repo": "Hyprland",
|
|
||||||
"rev": "457617b5a31f70ea63e1fcc0729f29e4a9e6b486",
|
|
||||||
"type": "github"
|
|
||||||
},
|
|
||||||
"original": {
|
|
||||||
"owner": "hyprwm",
|
|
||||||
"repo": "Hyprland",
|
|
||||||
"type": "github"
|
|
||||||
}
|
|
||||||
},
|
|
||||||
"hyprland-guiutils": {
|
|
||||||
"inputs": {
|
|
||||||
"aquamarine": [
|
|
||||||
"hyprland",
|
|
||||||
"aquamarine"
|
|
||||||
],
|
|
||||||
"hyprgraphics": [
|
|
||||||
"hyprland",
|
|
||||||
"hyprgraphics"
|
|
||||||
],
|
|
||||||
"hyprlang": [
|
|
||||||
"hyprland",
|
|
||||||
"hyprlang"
|
|
||||||
],
|
|
||||||
"hyprtoolkit": "hyprtoolkit",
|
|
||||||
"hyprutils": [
|
|
||||||
"hyprland",
|
|
||||||
"hyprutils"
|
|
||||||
],
|
|
||||||
"hyprwayland-scanner": [
|
|
||||||
"hyprland",
|
|
||||||
"hyprwayland-scanner"
|
|
||||||
],
|
|
||||||
"nixpkgs": [
|
|
||||||
"hyprland",
|
|
||||||
"nixpkgs"
|
|
||||||
],
|
|
||||||
"systems": [
|
|
||||||
"hyprland",
|
|
||||||
"systems"
|
|
||||||
]
|
|
||||||
},
|
|
||||||
"locked": {
|
|
||||||
"lastModified": 1767023960,
|
|
||||||
"narHash": "sha256-R2HgtVS1G3KSIKAQ77aOZ+Q0HituOmPgXW9nBNkpp3Q=",
|
|
||||||
"owner": "hyprwm",
|
|
||||||
"repo": "hyprland-guiutils",
|
|
||||||
"rev": "c2e906261142f5dd1ee0bfc44abba23e2754c660",
|
|
||||||
"type": "github"
|
|
||||||
},
|
|
||||||
"original": {
|
|
||||||
"owner": "hyprwm",
|
|
||||||
"repo": "hyprland-guiutils",
|
|
||||||
"type": "github"
|
|
||||||
}
|
|
||||||
},
|
|
||||||
"hyprland-protocols": {
|
|
||||||
"inputs": {
|
|
||||||
"nixpkgs": [
|
|
||||||
"hyprland",
|
|
||||||
"nixpkgs"
|
|
||||||
],
|
|
||||||
"systems": [
|
|
||||||
"hyprland",
|
|
||||||
"systems"
|
|
||||||
]
|
|
||||||
},
|
|
||||||
"locked": {
|
|
||||||
"lastModified": 1765214753,
|
|
||||||
"narHash": "sha256-P9zdGXOzToJJgu5sVjv7oeOGPIIwrd9hAUAP3PsmBBs=",
|
|
||||||
"owner": "hyprwm",
|
|
||||||
"repo": "hyprland-protocols",
|
|
||||||
"rev": "3f3860b869014c00e8b9e0528c7b4ddc335c21ab",
|
|
||||||
"type": "github"
|
|
||||||
},
|
|
||||||
"original": {
|
|
||||||
"owner": "hyprwm",
|
|
||||||
"repo": "hyprland-protocols",
|
|
||||||
"type": "github"
|
|
||||||
}
|
|
||||||
},
|
|
||||||
"hyprlang": {
|
|
||||||
"inputs": {
|
|
||||||
"hyprutils": [
|
|
||||||
"hyprland",
|
|
||||||
"hyprutils"
|
|
||||||
],
|
|
||||||
"nixpkgs": [
|
|
||||||
"hyprland",
|
|
||||||
"nixpkgs"
|
|
||||||
],
|
|
||||||
"systems": [
|
|
||||||
"hyprland",
|
|
||||||
"systems"
|
|
||||||
]
|
|
||||||
},
|
|
||||||
"locked": {
|
|
||||||
"lastModified": 1771866172,
|
|
||||||
"narHash": "sha256-fYFoXhQLrm1rD8vSFKQBOEX4OGCuJdLt1amKfHd5GAw=",
|
|
||||||
"owner": "hyprwm",
|
|
||||||
"repo": "hyprlang",
|
|
||||||
"rev": "0b219224910e7642eb0ed49f0db5ec3d008e3e41",
|
|
||||||
"type": "github"
|
|
||||||
},
|
|
||||||
"original": {
|
|
||||||
"owner": "hyprwm",
|
|
||||||
"repo": "hyprlang",
|
|
||||||
"type": "github"
|
|
||||||
}
|
|
||||||
},
|
|
||||||
"hyprtoolkit": {
|
|
||||||
"inputs": {
|
|
||||||
"aquamarine": [
|
|
||||||
"hyprland",
|
|
||||||
"hyprland-guiutils",
|
|
||||||
"aquamarine"
|
|
||||||
],
|
|
||||||
"hyprgraphics": [
|
|
||||||
"hyprland",
|
|
||||||
"hyprland-guiutils",
|
|
||||||
"hyprgraphics"
|
|
||||||
],
|
|
||||||
"hyprlang": [
|
|
||||||
"hyprland",
|
|
||||||
"hyprland-guiutils",
|
|
||||||
"hyprlang"
|
|
||||||
],
|
|
||||||
"hyprutils": [
|
|
||||||
"hyprland",
|
|
||||||
"hyprland-guiutils",
|
|
||||||
"hyprutils"
|
|
||||||
],
|
|
||||||
"hyprwayland-scanner": [
|
|
||||||
"hyprland",
|
|
||||||
"hyprland-guiutils",
|
|
||||||
"hyprwayland-scanner"
|
|
||||||
],
|
|
||||||
"nixpkgs": [
|
|
||||||
"hyprland",
|
|
||||||
"hyprland-guiutils",
|
|
||||||
"nixpkgs"
|
|
||||||
],
|
|
||||||
"systems": [
|
|
||||||
"hyprland",
|
|
||||||
"hyprland-guiutils",
|
|
||||||
"systems"
|
|
||||||
]
|
|
||||||
},
|
|
||||||
"locked": {
|
|
||||||
"lastModified": 1764592794,
|
|
||||||
"narHash": "sha256-7CcO+wbTJ1L1NBQHierHzheQGPWwkIQug/w+fhTAVuU=",
|
|
||||||
"owner": "hyprwm",
|
|
||||||
"repo": "hyprtoolkit",
|
|
||||||
"rev": "5cfe0743f0e608e1462972303778d8a0859ee63e",
|
|
||||||
"type": "github"
|
|
||||||
},
|
|
||||||
"original": {
|
|
||||||
"owner": "hyprwm",
|
|
||||||
"repo": "hyprtoolkit",
|
|
||||||
"type": "github"
|
|
||||||
}
|
|
||||||
},
|
|
||||||
"hyprutils": {
|
|
||||||
"inputs": {
|
|
||||||
"nixpkgs": [
|
|
||||||
"hyprland",
|
|
||||||
"nixpkgs"
|
|
||||||
],
|
|
||||||
"systems": [
|
|
||||||
"hyprland",
|
|
||||||
"systems"
|
|
||||||
]
|
|
||||||
},
|
|
||||||
"locked": {
|
|
||||||
"lastModified": 1771271487,
|
|
||||||
"narHash": "sha256-41gEiUS0Pyw3L/ge1l8MXn61cK14VAhgWB/JV8s/oNI=",
|
|
||||||
"owner": "hyprwm",
|
|
||||||
"repo": "hyprutils",
|
|
||||||
"rev": "340a792e3b3d482c4ae5f66d27a9096bdee6d76d",
|
|
||||||
"type": "github"
|
|
||||||
},
|
|
||||||
"original": {
|
|
||||||
"owner": "hyprwm",
|
|
||||||
"repo": "hyprutils",
|
|
||||||
"type": "github"
|
|
||||||
}
|
|
||||||
},
|
|
||||||
"hyprwayland-scanner": {
|
|
||||||
"inputs": {
|
|
||||||
"nixpkgs": [
|
|
||||||
"hyprland",
|
|
||||||
"nixpkgs"
|
|
||||||
],
|
|
||||||
"systems": [
|
|
||||||
"hyprland",
|
|
||||||
"systems"
|
|
||||||
]
|
|
||||||
},
|
|
||||||
"locked": {
|
|
||||||
"lastModified": 1770501770,
|
|
||||||
"narHash": "sha256-NWRM6+YxTRv+bT9yvlhhJ2iLae1B1pNH3mAL5wi2rlQ=",
|
|
||||||
"owner": "hyprwm",
|
|
||||||
"repo": "hyprwayland-scanner",
|
|
||||||
"rev": "0bd8b6cde9ec27d48aad9e5b4deefb3746909d40",
|
|
||||||
"type": "github"
|
|
||||||
},
|
|
||||||
"original": {
|
|
||||||
"owner": "hyprwm",
|
|
||||||
"repo": "hyprwayland-scanner",
|
|
||||||
"type": "github"
|
|
||||||
}
|
|
||||||
},
|
|
||||||
"hyprwire": {
|
|
||||||
"inputs": {
|
|
||||||
"hyprutils": [
|
|
||||||
"hyprland",
|
|
||||||
"hyprutils"
|
|
||||||
],
|
|
||||||
"nixpkgs": [
|
|
||||||
"hyprland",
|
|
||||||
"nixpkgs"
|
|
||||||
],
|
|
||||||
"systems": [
|
|
||||||
"hyprland",
|
|
||||||
"systems"
|
|
||||||
]
|
|
||||||
},
|
|
||||||
"locked": {
|
|
||||||
"lastModified": 1771606233,
|
|
||||||
"narHash": "sha256-F3PLUqQ/TwgR70U+UeOqJnihJZ2EuunzojYC4g5xHr0=",
|
|
||||||
"owner": "hyprwm",
|
|
||||||
"repo": "hyprwire",
|
|
||||||
"rev": "06c7f1f8c4194786c8400653c4efc49dc14c0f3a",
|
|
||||||
"type": "github"
|
|
||||||
},
|
|
||||||
"original": {
|
|
||||||
"owner": "hyprwm",
|
|
||||||
"repo": "hyprwire",
|
|
||||||
"type": "github"
|
"type": "github"
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
"nixpkgs": {
|
"nixpkgs": {
|
||||||
"locked": {
|
"locked": {
|
||||||
"lastModified": 1771369470,
|
"lastModified": 1762977756,
|
||||||
"narHash": "sha256-0NBlEBKkN3lufyvFegY4TYv5mCNHbi5OmBDrzihbBMQ=",
|
"narHash": "sha256-4PqRErxfe+2toFJFgcRKZ0UI9NSIOJa+7RXVtBhy4KE=",
|
||||||
"owner": "NixOS",
|
"owner": "nixos",
|
||||||
"repo": "nixpkgs",
|
"repo": "nixpkgs",
|
||||||
"rev": "0182a361324364ae3f436a63005877674cf45efb",
|
"rev": "c5ae371f1a6a7fd27823bc500d9390b38c05fa55",
|
||||||
"type": "github"
|
"type": "github"
|
||||||
},
|
},
|
||||||
"original": {
|
"original": {
|
||||||
"owner": "NixOS",
|
"owner": "nixos",
|
||||||
"ref": "nixos-unstable",
|
"ref": "nixos-unstable",
|
||||||
"repo": "nixpkgs",
|
"repo": "nixpkgs",
|
||||||
"type": "github"
|
"type": "github"
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
|
"nixpkgs-stable": {
|
||||||
|
"locked": {
|
||||||
|
"lastModified": 1779796641,
|
||||||
|
"narHash": "sha256-ZsIrKmhp4vbBXoXXmR/tBXA/UCsAQiJL9vsgZEduhVY=",
|
||||||
|
"owner": "nixos",
|
||||||
|
"repo": "nixpkgs",
|
||||||
|
"rev": "25f538306313eae3927264466c70d7001dcea1df",
|
||||||
|
"type": "github"
|
||||||
|
},
|
||||||
|
"original": {
|
||||||
|
"owner": "nixos",
|
||||||
|
"ref": "nixos-25.11",
|
||||||
|
"repo": "nixpkgs",
|
||||||
|
"type": "github"
|
||||||
|
}
|
||||||
|
},
|
||||||
"nixpkgs_2": {
|
"nixpkgs_2": {
|
||||||
"locked": {
|
"locked": {
|
||||||
"lastModified": 1771848320,
|
"lastModified": 1779560665,
|
||||||
"narHash": "sha256-0MAd+0mun3K/Ns8JATeHT1sX28faLII5hVLq0L3BdZU=",
|
"narHash": "sha256-tpyBcxPpcQb8ukyNF7DoCwfSY3VPsxHoYwj00Cayv5o=",
|
||||||
"owner": "NixOS",
|
|
||||||
"repo": "nixpkgs",
|
|
||||||
"rev": "2fc6539b481e1d2569f25f8799236694180c0993",
|
|
||||||
"type": "github"
|
|
||||||
},
|
|
||||||
"original": {
|
|
||||||
"owner": "NixOS",
|
|
||||||
"ref": "nixos-unstable",
|
|
||||||
"repo": "nixpkgs",
|
|
||||||
"type": "github"
|
|
||||||
}
|
|
||||||
},
|
|
||||||
"nixpkgs_3": {
|
|
||||||
"locked": {
|
|
||||||
"lastModified": 1771369470,
|
|
||||||
"narHash": "sha256-0NBlEBKkN3lufyvFegY4TYv5mCNHbi5OmBDrzihbBMQ=",
|
|
||||||
"owner": "nixos",
|
"owner": "nixos",
|
||||||
"repo": "nixpkgs",
|
"repo": "nixpkgs",
|
||||||
"rev": "0182a361324364ae3f436a63005877674cf45efb",
|
"rev": "64c08a7ca051951c8eae34e3e3cb1e202fe36786",
|
||||||
"type": "github"
|
"type": "github"
|
||||||
},
|
},
|
||||||
"original": {
|
"original": {
|
||||||
@@ -503,14 +172,14 @@
|
|||||||
"nixpkgs": [
|
"nixpkgs": [
|
||||||
"nixpkgs"
|
"nixpkgs"
|
||||||
],
|
],
|
||||||
"systems": "systems_2"
|
"systems": "systems"
|
||||||
},
|
},
|
||||||
"locked": {
|
"locked": {
|
||||||
"lastModified": 1771135771,
|
"lastModified": 1780161591,
|
||||||
"narHash": "sha256-wyvBIhDuyCRyjB3yPg77qoyxrlgQtBR1rVW3c9knV3E=",
|
"narHash": "sha256-eOiIbCMsYMP9JgZXzuT/m41djqDOEHTKjMFrm5NeVHM=",
|
||||||
"owner": "nix-community",
|
"owner": "nix-community",
|
||||||
"repo": "nixvim",
|
"repo": "nixvim",
|
||||||
"rev": "ed0424f0b08d303a7348f52f7850ad1b2704f9ba",
|
"rev": "57e5355a843618a717a19d43b2a726a8f27f0bd1",
|
||||||
"type": "github"
|
"type": "github"
|
||||||
},
|
},
|
||||||
"original": {
|
"original": {
|
||||||
@@ -519,26 +188,53 @@
|
|||||||
"type": "github"
|
"type": "github"
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
"pre-commit-hooks": {
|
"pyproject-build-systems": {
|
||||||
"inputs": {
|
"inputs": {
|
||||||
"flake-compat": "flake-compat",
|
|
||||||
"gitignore": "gitignore",
|
|
||||||
"nixpkgs": [
|
"nixpkgs": [
|
||||||
"hyprland",
|
"zut-calendar",
|
||||||
|
"nixpkgs"
|
||||||
|
],
|
||||||
|
"pyproject-nix": [
|
||||||
|
"zut-calendar",
|
||||||
|
"pyproject-nix"
|
||||||
|
],
|
||||||
|
"uv2nix": [
|
||||||
|
"zut-calendar",
|
||||||
|
"uv2nix"
|
||||||
|
]
|
||||||
|
},
|
||||||
|
"locked": {
|
||||||
|
"lastModified": 1776659114,
|
||||||
|
"narHash": "sha256-qapCOQmR++yZSY43dzrp3wCrkOTLpod+ONtJWBk6iKU=",
|
||||||
|
"owner": "pyproject-nix",
|
||||||
|
"repo": "build-system-pkgs",
|
||||||
|
"rev": "ffaa2161dd5d63e0e94591f86b54fc239660fb2e",
|
||||||
|
"type": "github"
|
||||||
|
},
|
||||||
|
"original": {
|
||||||
|
"owner": "pyproject-nix",
|
||||||
|
"repo": "build-system-pkgs",
|
||||||
|
"type": "github"
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"pyproject-nix": {
|
||||||
|
"inputs": {
|
||||||
|
"nixpkgs": [
|
||||||
|
"zut-calendar",
|
||||||
"nixpkgs"
|
"nixpkgs"
|
||||||
]
|
]
|
||||||
},
|
},
|
||||||
"locked": {
|
"locked": {
|
||||||
"lastModified": 1771858127,
|
"lastModified": 1776715674,
|
||||||
"narHash": "sha256-Gtre9YoYl3n25tJH2AoSdjuwcqij5CPxL3U3xysYD08=",
|
"narHash": "sha256-Gs1VnEkCkkRZxJQAC/Dhz0Jbfi22mFXChbtNg9w/Ybg=",
|
||||||
"owner": "cachix",
|
"owner": "pyproject-nix",
|
||||||
"repo": "git-hooks.nix",
|
"repo": "pyproject.nix",
|
||||||
"rev": "49bbbfc218bf3856dfa631cead3b052d78248b83",
|
"rev": "69f57f27e52a87c54e28138a75ec741cd46663c9",
|
||||||
"type": "github"
|
"type": "github"
|
||||||
},
|
},
|
||||||
"original": {
|
"original": {
|
||||||
"owner": "cachix",
|
"owner": "pyproject-nix",
|
||||||
"repo": "git-hooks.nix",
|
"repo": "pyproject.nix",
|
||||||
"type": "github"
|
"type": "github"
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
@@ -546,24 +242,29 @@
|
|||||||
"inputs": {
|
"inputs": {
|
||||||
"catppuccin": "catppuccin",
|
"catppuccin": "catppuccin",
|
||||||
"home-manager": "home-manager",
|
"home-manager": "home-manager",
|
||||||
"hyprland": "hyprland",
|
"hyprcursor-phinger": "hyprcursor-phinger",
|
||||||
"nixpkgs": "nixpkgs_3",
|
"nixpkgs": "nixpkgs_2",
|
||||||
|
"nixpkgs-stable": "nixpkgs-stable",
|
||||||
"nixvim": "nixvim",
|
"nixvim": "nixvim",
|
||||||
"wallpapers": "wallpapers"
|
"wallpapers": "wallpapers",
|
||||||
|
"zen-browser": "zen-browser",
|
||||||
|
"zut-calendar": "zut-calendar",
|
||||||
|
"zutui": "zutui"
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
"systems": {
|
"systems": {
|
||||||
"locked": {
|
"locked": {
|
||||||
"lastModified": 1689347949,
|
"lastModified": 1774449309,
|
||||||
"narHash": "sha256-12tWmuL2zgBgZkdoB6qXZsgJEH9LR3oUgpaQq2RbI80=",
|
"narHash": "sha256-brhZ8DmuGtzkCYHJg4HEd602amKm89Y9ytsFZ5uWD1w=",
|
||||||
"owner": "nix-systems",
|
"owner": "nix-systems",
|
||||||
"repo": "default-linux",
|
"repo": "default",
|
||||||
"rev": "31732fcf5e8fea42e59c2488ad31a0e651500f68",
|
"rev": "c29398b59d2048c4ab79345812849c9bd15e9150",
|
||||||
"type": "github"
|
"type": "github"
|
||||||
},
|
},
|
||||||
"original": {
|
"original": {
|
||||||
"owner": "nix-systems",
|
"owner": "nix-systems",
|
||||||
"repo": "default-linux",
|
"ref": "future-26.11",
|
||||||
|
"repo": "default",
|
||||||
"type": "github"
|
"type": "github"
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
@@ -582,6 +283,31 @@
|
|||||||
"type": "github"
|
"type": "github"
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
|
"uv2nix": {
|
||||||
|
"inputs": {
|
||||||
|
"nixpkgs": [
|
||||||
|
"zut-calendar",
|
||||||
|
"nixpkgs"
|
||||||
|
],
|
||||||
|
"pyproject-nix": [
|
||||||
|
"zut-calendar",
|
||||||
|
"pyproject-nix"
|
||||||
|
]
|
||||||
|
},
|
||||||
|
"locked": {
|
||||||
|
"lastModified": 1777895960,
|
||||||
|
"narHash": "sha256-KebDsQd+A7pm++Tp0744EjULttHvz1wbKqNKkMA/088=",
|
||||||
|
"owner": "pyproject-nix",
|
||||||
|
"repo": "uv2nix",
|
||||||
|
"rev": "5ad90d48b80ecc920ca2247d53f46beba302e186",
|
||||||
|
"type": "github"
|
||||||
|
},
|
||||||
|
"original": {
|
||||||
|
"owner": "pyproject-nix",
|
||||||
|
"repo": "uv2nix",
|
||||||
|
"type": "github"
|
||||||
|
}
|
||||||
|
},
|
||||||
"wallpapers": {
|
"wallpapers": {
|
||||||
"flake": false,
|
"flake": false,
|
||||||
"locked": {
|
"locked": {
|
||||||
@@ -598,44 +324,68 @@
|
|||||||
"type": "github"
|
"type": "github"
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
"xdph": {
|
"zen-browser": {
|
||||||
"inputs": {
|
"inputs": {
|
||||||
"hyprland-protocols": [
|
"home-manager": "home-manager_2",
|
||||||
"hyprland",
|
|
||||||
"hyprland-protocols"
|
|
||||||
],
|
|
||||||
"hyprlang": [
|
|
||||||
"hyprland",
|
|
||||||
"hyprlang"
|
|
||||||
],
|
|
||||||
"hyprutils": [
|
|
||||||
"hyprland",
|
|
||||||
"hyprutils"
|
|
||||||
],
|
|
||||||
"hyprwayland-scanner": [
|
|
||||||
"hyprland",
|
|
||||||
"hyprwayland-scanner"
|
|
||||||
],
|
|
||||||
"nixpkgs": [
|
"nixpkgs": [
|
||||||
"hyprland",
|
|
||||||
"nixpkgs"
|
"nixpkgs"
|
||||||
],
|
|
||||||
"systems": [
|
|
||||||
"hyprland",
|
|
||||||
"systems"
|
|
||||||
]
|
]
|
||||||
},
|
},
|
||||||
"locked": {
|
"locked": {
|
||||||
"lastModified": 1761431178,
|
"lastModified": 1780123543,
|
||||||
"narHash": "sha256-xzjC1CV3+wpUQKNF+GnadnkeGUCJX+vgaWIZsnz9tzI=",
|
"narHash": "sha256-vRHmt1N3rPgLJFcSQfHb2c3F7edzVPcyAk6/2QYmO1s=",
|
||||||
"owner": "hyprwm",
|
"owner": "0xc000022070",
|
||||||
"repo": "xdg-desktop-portal-hyprland",
|
"repo": "zen-browser-flake",
|
||||||
"rev": "4b8801228ff958d028f588f0c2b911dbf32297f9",
|
"rev": "7e1dae7aa169ad02f18ca11da247008181b2dc7f",
|
||||||
"type": "github"
|
"type": "github"
|
||||||
},
|
},
|
||||||
"original": {
|
"original": {
|
||||||
"owner": "hyprwm",
|
"owner": "0xc000022070",
|
||||||
"repo": "xdg-desktop-portal-hyprland",
|
"repo": "zen-browser-flake",
|
||||||
|
"type": "github"
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"zut-calendar": {
|
||||||
|
"inputs": {
|
||||||
|
"nixpkgs": [
|
||||||
|
"nixpkgs"
|
||||||
|
],
|
||||||
|
"pyproject-build-systems": "pyproject-build-systems",
|
||||||
|
"pyproject-nix": "pyproject-nix",
|
||||||
|
"uv2nix": "uv2nix"
|
||||||
|
},
|
||||||
|
"locked": {
|
||||||
|
"lastModified": 1778101628,
|
||||||
|
"narHash": "sha256-6/x1NOD8QyI+up09LsQdyX7EEd0w7Qr5o9JeQ3AqLHk=",
|
||||||
|
"owner": "szymon-jozef",
|
||||||
|
"repo": "zut-calendar",
|
||||||
|
"rev": "b69ae15381ca37f763c1ef072c67d953017c8bd4",
|
||||||
|
"type": "github"
|
||||||
|
},
|
||||||
|
"original": {
|
||||||
|
"owner": "szymon-jozef",
|
||||||
|
"repo": "zut-calendar",
|
||||||
|
"type": "github"
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"zutui": {
|
||||||
|
"inputs": {
|
||||||
|
"flake-utils": "flake-utils",
|
||||||
|
"nixpkgs": [
|
||||||
|
"nixpkgs"
|
||||||
|
]
|
||||||
|
},
|
||||||
|
"locked": {
|
||||||
|
"lastModified": 1774282006,
|
||||||
|
"narHash": "sha256-tF+/CbZhOvIl4F/WJtT2V376WjGIXSFXRSDMGI11KJk=",
|
||||||
|
"owner": "shv187",
|
||||||
|
"repo": "zutui",
|
||||||
|
"rev": "fcce7c254c74638efa667df7a4f603d01362a835",
|
||||||
|
"type": "github"
|
||||||
|
},
|
||||||
|
"original": {
|
||||||
|
"owner": "shv187",
|
||||||
|
"repo": "zutui",
|
||||||
"type": "github"
|
"type": "github"
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
163
flake.nix
163
flake.nix
@@ -1,95 +1,166 @@
|
|||||||
{
|
{
|
||||||
description = "Home manager config";
|
description = "Amazing dotfiles";
|
||||||
|
|
||||||
inputs = {
|
inputs = {
|
||||||
hyprland.url = "github:hyprwm/Hyprland";
|
|
||||||
nixpkgs.url = "github:nixos/nixpkgs/nixos-unstable";
|
nixpkgs.url = "github:nixos/nixpkgs/nixos-unstable";
|
||||||
|
nixpkgs-stable.url = "github:nixos/nixpkgs/nixos-25.11";
|
||||||
|
|
||||||
home-manager = {
|
home-manager = {
|
||||||
url = "github:nix-community/home-manager";
|
url = "github:nix-community/home-manager";
|
||||||
inputs.nixpkgs.follows = "nixpkgs";
|
inputs.nixpkgs.follows = "nixpkgs";
|
||||||
};
|
};
|
||||||
|
|
||||||
catppuccin.url = "github:catppuccin/nix";
|
# hyprland.url = "github:hyprwm/Hyprland";
|
||||||
wallpapers = {
|
|
||||||
url = "github:orangci/walls-catppuccin-mocha";
|
|
||||||
flake = false;
|
|
||||||
};
|
|
||||||
|
|
||||||
nixvim = {
|
nixvim = {
|
||||||
url = "github:nix-community/nixvim";
|
url = "github:nix-community/nixvim";
|
||||||
inputs.nixpkgs.follows = "nixpkgs";
|
inputs.nixpkgs.follows = "nixpkgs";
|
||||||
};
|
};
|
||||||
|
|
||||||
|
zen-browser = {
|
||||||
|
url = "github:0xc000022070/zen-browser-flake";
|
||||||
|
inputs.nixpkgs.follows = "nixpkgs";
|
||||||
|
};
|
||||||
|
|
||||||
|
# theming stuff
|
||||||
|
catppuccin = {
|
||||||
|
url = "github:catppuccin/nix";
|
||||||
|
inputs.nixpkgs.follows = "nixpkgs";
|
||||||
|
};
|
||||||
|
|
||||||
|
hyprcursor-phinger.url = "github:jappie3/hyprcursor-phinger";
|
||||||
|
wallpapers = {
|
||||||
|
url = "github:orangci/walls-catppuccin-mocha";
|
||||||
|
flake = false;
|
||||||
|
};
|
||||||
|
|
||||||
|
# uni stuff
|
||||||
|
zut-calendar = {
|
||||||
|
url = "github:szymon-jozef/zut-calendar";
|
||||||
|
inputs.nixpkgs.follows = "nixpkgs";
|
||||||
|
};
|
||||||
|
zutui = {
|
||||||
|
url = "github:shv187/zutui";
|
||||||
|
inputs.nixpkgs.follows = "nixpkgs";
|
||||||
|
};
|
||||||
|
|
||||||
};
|
};
|
||||||
|
|
||||||
outputs =
|
outputs =
|
||||||
{
|
{
|
||||||
nixpkgs,
|
nixpkgs,
|
||||||
|
nixpkgs-stable,
|
||||||
home-manager,
|
home-manager,
|
||||||
catppuccin,
|
catppuccin,
|
||||||
nixvim,
|
nixvim,
|
||||||
wallpapers,
|
wallpapers,
|
||||||
|
zut-calendar,
|
||||||
|
zutui,
|
||||||
...
|
...
|
||||||
}@inputs:
|
}@inputs:
|
||||||
|
|
||||||
let
|
let
|
||||||
userConfig = {
|
defaultUserConfig = {
|
||||||
username = "szymon";
|
username = "szymon";
|
||||||
# for git
|
|
||||||
email = "szymon_jozef@proton.me";
|
email = "szymon_jozef@proton.me";
|
||||||
fullName = "Szymon P";
|
fullName = "Szymon P";
|
||||||
# your public ssh key
|
|
||||||
signingKey = "~/.ssh/github.pub";
|
signingKey = "~/.ssh/github.pub";
|
||||||
|
|
||||||
mainMonitor = "eDP-1"; # only for some applications: you still need to set hyprland monitors yourself!
|
mainMonitor = "DP-1";
|
||||||
statusBar = "ashell"; # available: ashell | waybar
|
statusBar = "ashell"; # available: ashell | waybar
|
||||||
|
|
||||||
pathConfig = {
|
pathConfig = {
|
||||||
wallpaper = "Obrazy/tapety/catppuccin";
|
wallpaper = "Obrazy/tapety/catppuccin"; # relative to $HOME/
|
||||||
screenshot = "Obrazy/zrzuty/";
|
screenshot = "Obrazy/zrzuty/"; # relative to $HOME/
|
||||||
obsidian = "Dokumenty/obsidian";
|
obsidian = "Dokumenty/obsidian"; # relative to $HOME/
|
||||||
|
projects = "~/Kodowanie";
|
||||||
|
documents = "~/Dokumenty";
|
||||||
|
pictures = "~/Obrazy";
|
||||||
|
downloads = "~/Pobrane";
|
||||||
|
video = "~/Video";
|
||||||
};
|
};
|
||||||
|
|
||||||
|
isNixOS = true;
|
||||||
|
hostName = "default";
|
||||||
|
animations = true;
|
||||||
|
gaming = true;
|
||||||
};
|
};
|
||||||
|
|
||||||
system = "x86_64-linux";
|
system = "x86_64-linux";
|
||||||
|
|
||||||
|
pkgs = import nixpkgs {
|
||||||
|
inherit system;
|
||||||
|
config.allowUnfree = true;
|
||||||
|
};
|
||||||
|
|
||||||
|
pkgs-stable = import nixpkgs-stable {
|
||||||
|
inherit system;
|
||||||
|
config = {
|
||||||
|
allowUnfree = true;
|
||||||
|
permittedInsecurePackages = [
|
||||||
|
"electron-38.8.4"
|
||||||
|
];
|
||||||
|
};
|
||||||
|
};
|
||||||
|
|
||||||
|
mkHome =
|
||||||
|
customConfig:
|
||||||
|
let
|
||||||
|
userConfig = defaultUserConfig // customConfig;
|
||||||
|
in
|
||||||
|
home-manager.lib.homeManagerConfiguration {
|
||||||
|
inherit pkgs;
|
||||||
|
|
||||||
|
extraSpecialArgs = {
|
||||||
|
inherit inputs userConfig pkgs-stable;
|
||||||
|
};
|
||||||
|
|
||||||
|
modules = [
|
||||||
|
./home.nix
|
||||||
|
catppuccin.homeModules.catppuccin
|
||||||
|
nixvim.homeModules.nixvim
|
||||||
|
inputs.hyprcursor-phinger.homeManagerModules.hyprcursor-phinger
|
||||||
|
(
|
||||||
|
{ pkgs, ... }:
|
||||||
|
{
|
||||||
|
home.packages = [
|
||||||
|
zut-calendar.packages.${pkgs.stdenv.hostPlatform.system}.default
|
||||||
|
zutui.packages.${pkgs.stdenv.hostPlatform.system}.default
|
||||||
|
];
|
||||||
|
}
|
||||||
|
)
|
||||||
|
]
|
||||||
|
++ (customConfig.extraModules or [ ]);
|
||||||
|
};
|
||||||
|
|
||||||
in
|
in
|
||||||
{
|
{
|
||||||
homeConfigurations = {
|
homeConfigurations = {
|
||||||
"arch" = home-manager.lib.homeManagerConfiguration {
|
# You can overwrite default configuration here
|
||||||
pkgs = import nixpkgs {
|
|
||||||
inherit system;
|
|
||||||
config.allowUnfree = true;
|
|
||||||
};
|
|
||||||
extraSpecialArgs = {
|
|
||||||
inherit
|
|
||||||
inputs
|
|
||||||
userConfig
|
|
||||||
;
|
|
||||||
isNixOS = false;
|
|
||||||
};
|
|
||||||
modules = [
|
|
||||||
./home.nix
|
|
||||||
catppuccin.homeModules.catppuccin
|
|
||||||
nixvim.homeModules.nixvim
|
|
||||||
];
|
|
||||||
|
|
||||||
|
"arch" = mkHome {
|
||||||
|
isNixOS = false;
|
||||||
|
hostName = "arch";
|
||||||
};
|
};
|
||||||
"nixos" = home-manager.lib.homeManagerConfiguration {
|
|
||||||
pkgs = import nixpkgs {
|
"nixos" = mkHome {
|
||||||
inherit system;
|
|
||||||
config.allowUnfree = true;
|
|
||||||
};
|
|
||||||
extraSpecialArgs = {
|
|
||||||
inherit
|
|
||||||
inputs
|
|
||||||
userConfig
|
|
||||||
;
|
|
||||||
isNixOS = true;
|
isNixOS = true;
|
||||||
|
hostName = "nixos";
|
||||||
};
|
};
|
||||||
modules = [
|
|
||||||
./home.nix
|
"${defaultUserConfig.username}@pitagoras" = mkHome {
|
||||||
catppuccin.homeModules.catppuccin
|
hostName = "pitagoras";
|
||||||
nixvim.homeModules.nixvim
|
mainMonitor = "eDP-1";
|
||||||
];
|
animations = false;
|
||||||
|
};
|
||||||
|
|
||||||
|
"${defaultUserConfig.username}@pilecki" = mkHome {
|
||||||
|
hostName = "pilecki";
|
||||||
|
mainMonitor = "LVDS-1";
|
||||||
|
};
|
||||||
|
|
||||||
|
"${defaultUserConfig.username}@paderewski" = mkHome {
|
||||||
|
hostName = "paderewski";
|
||||||
};
|
};
|
||||||
};
|
};
|
||||||
};
|
};
|
||||||
|
|||||||
1
hash.txt
Normal file
1
hash.txt
Normal file
@@ -0,0 +1 @@
|
|||||||
|
got: sha256-IGkP0z8gJj1dbNclpMebZXZvaRby1F8zGNEDPtitfqo=
|
||||||
16
home.nix
16
home.nix
@@ -21,7 +21,7 @@
|
|||||||
catppuccin = {
|
catppuccin = {
|
||||||
enable = true;
|
enable = true;
|
||||||
flavor = "mocha";
|
flavor = "mocha";
|
||||||
accent = "mauve";
|
accent = "sapphire";
|
||||||
};
|
};
|
||||||
|
|
||||||
imports = [
|
imports = [
|
||||||
@@ -42,6 +42,7 @@
|
|||||||
./modules/cli/git.nix
|
./modules/cli/git.nix
|
||||||
./modules/cli/fastfetch.nix
|
./modules/cli/fastfetch.nix
|
||||||
./modules/cli/kdeconnect.nix
|
./modules/cli/kdeconnect.nix
|
||||||
|
./modules/cli/topgrade.nix
|
||||||
# gui tools
|
# gui tools
|
||||||
./modules/gui/kitty.nix
|
./modules/gui/kitty.nix
|
||||||
./modules/gui/satty.nix
|
./modules/gui/satty.nix
|
||||||
@@ -68,15 +69,26 @@
|
|||||||
".config/gtk-3.0/gtk.css".source = ./dotfiles/gtk-3.0/gtk.css;
|
".config/gtk-3.0/gtk.css".source = ./dotfiles/gtk-3.0/gtk.css;
|
||||||
${userConfig.pathConfig.wallpaper}.source = inputs.wallpapers;
|
${userConfig.pathConfig.wallpaper}.source = inputs.wallpapers;
|
||||||
};
|
};
|
||||||
|
programs.hyprcursor-phinger.enable = true;
|
||||||
|
|
||||||
# === VARS ===
|
# === VARS ===
|
||||||
|
|
||||||
home.sessionVariables = {
|
home = {
|
||||||
|
sessionVariables = {
|
||||||
EDITOR = "nvim";
|
EDITOR = "nvim";
|
||||||
VISUAL = "nvim";
|
VISUAL = "nvim";
|
||||||
XDG_DATA_DIRS = "$HOME/.nix-profile/share/applications:$XDG_DATA_DIRS";
|
XDG_DATA_DIRS = "$HOME/.nix-profile/share/applications:$XDG_DATA_DIRS";
|
||||||
};
|
};
|
||||||
|
|
||||||
|
pointerCursor = {
|
||||||
|
name = "phinger-cursors-light";
|
||||||
|
package = pkgs.phinger-cursors;
|
||||||
|
size = 24;
|
||||||
|
gtk.enable = true;
|
||||||
|
x11.enable = true;
|
||||||
|
};
|
||||||
|
};
|
||||||
|
|
||||||
programs.home-manager.enable = true;
|
programs.home-manager.enable = true;
|
||||||
home.stateVersion = "25.11"; # DONT CHANGE ME UwU
|
home.stateVersion = "25.11"; # DONT CHANGE ME UwU
|
||||||
}
|
}
|
||||||
|
|||||||
0
install_nix_and_home_manager_on_arch.sh
Normal file → Executable file
0
install_nix_and_home_manager_on_arch.sh
Normal file → Executable file
@@ -1,6 +1,5 @@
|
|||||||
{
|
{
|
||||||
lib,
|
lib,
|
||||||
isNixOS,
|
|
||||||
userConfig,
|
userConfig,
|
||||||
pkgs,
|
pkgs,
|
||||||
...
|
...
|
||||||
@@ -9,7 +8,7 @@
|
|||||||
{
|
{
|
||||||
programs.ashell = {
|
programs.ashell = {
|
||||||
enable = true;
|
enable = true;
|
||||||
package = lib.mkIf (!isNixOS) null;
|
package = lib.mkIf (!userConfig.isNixOS) null;
|
||||||
settings = {
|
settings = {
|
||||||
outputs = {
|
outputs = {
|
||||||
Targets = [ userConfig.mainMonitor ];
|
Targets = [ userConfig.mainMonitor ];
|
||||||
@@ -18,7 +17,7 @@
|
|||||||
modules = {
|
modules = {
|
||||||
|
|
||||||
left = [
|
left = [
|
||||||
"Clock"
|
"Tempo"
|
||||||
"Workspaces"
|
"Workspaces"
|
||||||
];
|
];
|
||||||
center = [ "WindowTitle" ];
|
center = [ "WindowTitle" ];
|
||||||
@@ -67,8 +66,13 @@
|
|||||||
}
|
}
|
||||||
];
|
];
|
||||||
|
|
||||||
clock = {
|
tempo = {
|
||||||
format = "%H:%M | %e.%m ";
|
clock_format = "%H:%M | %e.%m ";
|
||||||
|
};
|
||||||
|
|
||||||
|
media_player = {
|
||||||
|
max_title_length = 50;
|
||||||
|
indicator_format = "Icon";
|
||||||
};
|
};
|
||||||
|
|
||||||
settings = {
|
settings = {
|
||||||
@@ -77,7 +81,7 @@
|
|||||||
|
|
||||||
appearance = {
|
appearance = {
|
||||||
scale_factor = 1.2;
|
scale_factor = 1.2;
|
||||||
style = "Gradient";
|
style = "Islands";
|
||||||
success_color = "#a6e3a1";
|
success_color = "#a6e3a1";
|
||||||
text_color = "#cdd6f4";
|
text_color = "#cdd6f4";
|
||||||
workspace_colors = [
|
workspace_colors = [
|
||||||
|
|||||||
@@ -1,6 +1,5 @@
|
|||||||
{
|
{
|
||||||
pkgs,
|
pkgs,
|
||||||
isNixOS,
|
|
||||||
userConfig,
|
userConfig,
|
||||||
...
|
...
|
||||||
}:
|
}:
|
||||||
@@ -9,7 +8,7 @@
|
|||||||
programs.waybar = {
|
programs.waybar = {
|
||||||
enable = true;
|
enable = true;
|
||||||
package =
|
package =
|
||||||
if isNixOS then pkgs.waybar else (pkgs.writeShellScriptBin "waybar" "exec /usr/bin/waybar \"$@\"");
|
if userConfig.isNixOS then pkgs.waybar else (pkgs.writeShellScriptBin "waybar" "exec /usr/bin/waybar \"$@\"");
|
||||||
settings = {
|
settings = {
|
||||||
mainBar = {
|
mainBar = {
|
||||||
layer = "top";
|
layer = "top";
|
||||||
|
|||||||
@@ -1,4 +1,4 @@
|
|||||||
{ pkgs, ... }:
|
{ ... }:
|
||||||
|
|
||||||
{
|
{
|
||||||
programs.bat = {
|
programs.bat = {
|
||||||
|
|||||||
@@ -1,4 +1,4 @@
|
|||||||
{ config, pkgs, ... }:
|
{ ... }:
|
||||||
|
|
||||||
{
|
{
|
||||||
programs.fastfetch = {
|
programs.fastfetch = {
|
||||||
@@ -36,7 +36,7 @@
|
|||||||
|
|
||||||
xdg.configFile."fastfetch/startup.jsonc".text = builtins.toJSON {
|
xdg.configFile."fastfetch/startup.jsonc".text = builtins.toJSON {
|
||||||
logo = {
|
logo = {
|
||||||
source = "arch_small";
|
source = "nixos_small";
|
||||||
padding = {
|
padding = {
|
||||||
bottom = 1;
|
bottom = 1;
|
||||||
};
|
};
|
||||||
|
|||||||
@@ -1,4 +1,4 @@
|
|||||||
{ isNixOS, ... }:
|
{ userConfig, ... }:
|
||||||
|
|
||||||
{
|
{
|
||||||
programs.fish = {
|
programs.fish = {
|
||||||
@@ -17,6 +17,8 @@
|
|||||||
|
|
||||||
fish_vi_key_bindings
|
fish_vi_key_bindings
|
||||||
|
|
||||||
|
direnv hook fish | source
|
||||||
|
|
||||||
fastfetch --config ~/.config/fastfetch/startup.jsonc
|
fastfetch --config ~/.config/fastfetch/startup.jsonc
|
||||||
'';
|
'';
|
||||||
|
|
||||||
@@ -45,7 +47,7 @@
|
|||||||
|
|
||||||
set -l rel_file (realpath --relative-to=$config_dir $file)
|
set -l rel_file (realpath --relative-to=$config_dir $file)
|
||||||
|
|
||||||
if nh home switch $config_dir -c ${if isNixOS then "nixos" else "arch"}
|
if nh home switch $config_dir
|
||||||
git add -A
|
git add -A
|
||||||
set commit_msg "update: $rel_file"
|
set commit_msg "update: $rel_file"
|
||||||
git commit -m "$commit_msg"
|
git commit -m "$commit_msg"
|
||||||
@@ -61,17 +63,12 @@
|
|||||||
|
|
||||||
reload_dotfiles = {
|
reload_dotfiles = {
|
||||||
body = # fish
|
body = # fish
|
||||||
"nh home switch ~/.config/home-manager -c ${if isNixOS then "nixos" else "arch"}";
|
"nh home switch ~/.config/home-manager";
|
||||||
};
|
};
|
||||||
|
|
||||||
ls = {
|
reload_system = {
|
||||||
body = # fish
|
body = # fish
|
||||||
"eza --long --icons --group-directories-first --git $argv";
|
"nh os switch /etc/nixos/";
|
||||||
};
|
|
||||||
|
|
||||||
lst = {
|
|
||||||
body = # fish
|
|
||||||
"eza --long --icons --color --git --tree $argv";
|
|
||||||
};
|
};
|
||||||
|
|
||||||
cp_mail = {
|
cp_mail = {
|
||||||
@@ -79,13 +76,103 @@
|
|||||||
"pandoc $argv -t html |wl-copy -t text/html";
|
"pandoc $argv -t html |wl-copy -t text/html";
|
||||||
};
|
};
|
||||||
|
|
||||||
|
update_files = {
|
||||||
|
body =
|
||||||
|
# fish
|
||||||
|
''
|
||||||
|
echo "=== System packages updates ==="
|
||||||
|
pushd /etc/nixos
|
||||||
|
|
||||||
|
git add -A
|
||||||
|
git commit -m 'chore: state before pulling'
|
||||||
|
|
||||||
|
if git pull
|
||||||
|
reload_system
|
||||||
|
end
|
||||||
|
|
||||||
|
popd
|
||||||
|
|
||||||
|
echo "=== User packages update ==="
|
||||||
|
pushd $HOME/.config/home-manager
|
||||||
|
|
||||||
|
git add -A
|
||||||
|
git commit -m 'chore: state before pulling'
|
||||||
|
|
||||||
|
if git pull
|
||||||
|
reload_dotfiles
|
||||||
|
end
|
||||||
|
|
||||||
|
popd
|
||||||
|
'';
|
||||||
|
|
||||||
|
};
|
||||||
|
|
||||||
update = {
|
update = {
|
||||||
body = # fish
|
body =
|
||||||
|
if userConfig.isNixOS then
|
||||||
|
# fish
|
||||||
|
''
|
||||||
|
echo "=== System packages update ==="
|
||||||
|
pushd /etc/nixos
|
||||||
|
|
||||||
|
if git pull
|
||||||
|
git add -A
|
||||||
|
git commit --allow-empty -m "chore: state before system update"
|
||||||
|
|
||||||
|
nix flake update
|
||||||
|
|
||||||
|
if test $status -eq 0
|
||||||
|
git add ./flake.lock
|
||||||
|
git commit --allow-empty -m "chore: update system flake.lock"
|
||||||
|
reload_system
|
||||||
|
git push
|
||||||
|
else
|
||||||
|
echo "Error while updating system flake!"
|
||||||
|
end
|
||||||
|
else
|
||||||
|
echo "Error: 'git pull' failed in /etc/nixos. Skipping system update."
|
||||||
|
end
|
||||||
|
|
||||||
|
popd
|
||||||
|
|
||||||
|
echo "=== User packages update ==="
|
||||||
|
pushd $HOME/.config/home-manager
|
||||||
|
|
||||||
|
if git pull
|
||||||
|
git add -A
|
||||||
|
git commit --allow-empty -m "chore: state before home-manager update"
|
||||||
|
|
||||||
|
nix flake update
|
||||||
|
|
||||||
|
if test $status -eq 0
|
||||||
|
git add ./flake.lock
|
||||||
|
git commit --allow-empty -m "chore: update home flake.lock"
|
||||||
|
git push
|
||||||
|
reload_dotfiles
|
||||||
|
else
|
||||||
|
echo "Error while updating home flake!"
|
||||||
|
end
|
||||||
|
else
|
||||||
|
echo "Error: 'git pull' failed in home-manager. Skipping user update."
|
||||||
|
end
|
||||||
|
|
||||||
|
popd
|
||||||
|
|
||||||
|
if type -q flatpak
|
||||||
|
echo "=== Flatpak update ==="
|
||||||
|
flatpak update --noninteractive
|
||||||
|
|
||||||
|
echo "=== Flatpak remove unused ==="
|
||||||
|
flatpak uninstall --unused --noninteractive
|
||||||
|
end
|
||||||
|
''
|
||||||
|
else
|
||||||
|
# fish
|
||||||
''
|
''
|
||||||
echo "===System update==="
|
echo "===System update==="
|
||||||
|
|
||||||
if not type -q yay
|
if not type -q yay
|
||||||
echo "Yay not found… Is this Arch? If yes, then please consider installing it!"
|
echo "Yay not found… Please consider installing it!"
|
||||||
else
|
else
|
||||||
yay
|
yay
|
||||||
end
|
end
|
||||||
@@ -114,14 +201,30 @@
|
|||||||
'';
|
'';
|
||||||
};
|
};
|
||||||
|
|
||||||
rm = {
|
blog_build_and_push = {
|
||||||
body = "trash $argv";
|
body =
|
||||||
};
|
# fish
|
||||||
|
''
|
||||||
|
set USER szymon
|
||||||
|
set HOST dmowski
|
||||||
|
set DIR /srv/blog/
|
||||||
|
set blog_dir ~/Dokumenty/blog
|
||||||
|
|
||||||
open = {
|
pushd $blog_dir || exit 1
|
||||||
body = "nohup xdg-open $argv > /dev/null & ";
|
|
||||||
};
|
|
||||||
|
|
||||||
|
hugo build && rsync -avz --delete public/ $USER@$HOST:$DIR
|
||||||
|
|
||||||
|
popd
|
||||||
|
|
||||||
|
exit 0
|
||||||
|
'';
|
||||||
|
};
|
||||||
|
};
|
||||||
|
shellAliases = {
|
||||||
|
ls = "eza --long --icons --group-directories-first --git";
|
||||||
|
lst = "eza --long --icons --color --git --tree";
|
||||||
|
rm = "trash";
|
||||||
|
# update = "topgrade";
|
||||||
};
|
};
|
||||||
};
|
};
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -41,6 +41,7 @@
|
|||||||
"node_modules"
|
"node_modules"
|
||||||
"result"
|
"result"
|
||||||
"__pycache__"
|
"__pycache__"
|
||||||
|
".direnv"
|
||||||
];
|
];
|
||||||
|
|
||||||
};
|
};
|
||||||
|
|||||||
@@ -1,4 +1,4 @@
|
|||||||
{ ... }:
|
{ pkgs, userConfig, ... }:
|
||||||
|
|
||||||
{
|
{
|
||||||
programs.nixvim = {
|
programs.nixvim = {
|
||||||
@@ -100,6 +100,39 @@
|
|||||||
action.__raw = "function() require('harpoon'):list():next() end";
|
action.__raw = "function() require('harpoon'):list():next() end";
|
||||||
options.desc = "Toggle next harpoon buffer";
|
options.desc = "Toggle next harpoon buffer";
|
||||||
}
|
}
|
||||||
|
{
|
||||||
|
key = "j";
|
||||||
|
action = "jzz";
|
||||||
|
}
|
||||||
|
{
|
||||||
|
key = "k";
|
||||||
|
action = "kzz";
|
||||||
|
}
|
||||||
|
{
|
||||||
|
key = "[[";
|
||||||
|
action = "[[zz";
|
||||||
|
}
|
||||||
|
{
|
||||||
|
key = "]]";
|
||||||
|
action = "]]zz";
|
||||||
|
}
|
||||||
|
{
|
||||||
|
key = "{{";
|
||||||
|
action = "{{zz";
|
||||||
|
}
|
||||||
|
{
|
||||||
|
key = "}}";
|
||||||
|
action = "}}zz";
|
||||||
|
}
|
||||||
|
{
|
||||||
|
mode = "n";
|
||||||
|
key = "<leader>cr";
|
||||||
|
action = ":w<CR>:TermExec cmd='mkdir -p ./out && g++ \"%\" -o \"./out/%:r\" && ./out/\"%:r\"'<CR>";
|
||||||
|
options = {
|
||||||
|
desc = "Compile and run current cpp file";
|
||||||
|
silent = true;
|
||||||
|
};
|
||||||
|
}
|
||||||
];
|
];
|
||||||
|
|
||||||
autoGroups = {
|
autoGroups = {
|
||||||
@@ -169,23 +202,48 @@
|
|||||||
friendly-snippets.enable = true;
|
friendly-snippets.enable = true;
|
||||||
# dev
|
# dev
|
||||||
clangd.enable = true;
|
clangd.enable = true;
|
||||||
pyright.enable = true;
|
pylsp = {
|
||||||
|
enable = true;
|
||||||
|
settings = {
|
||||||
|
plugins = {
|
||||||
|
ruff = {
|
||||||
|
enabled = true;
|
||||||
|
format = [ "I" ];
|
||||||
|
};
|
||||||
|
|
||||||
|
pylsp_mypy.enabled = true;
|
||||||
|
|
||||||
|
jedi_completion.enabled = true;
|
||||||
|
jedi_definition.enabled = true;
|
||||||
|
};
|
||||||
|
};
|
||||||
|
};
|
||||||
rust_analyzer = {
|
rust_analyzer = {
|
||||||
enable = true;
|
enable = true;
|
||||||
installCargo = true;
|
installCargo = true;
|
||||||
installRustc = true;
|
installRustc = true;
|
||||||
};
|
};
|
||||||
# nix
|
# nix
|
||||||
nil_ls.enable = true;
|
nixd = {
|
||||||
|
enable = true;
|
||||||
|
filetypes = [ "nix" ];
|
||||||
|
formatting = {
|
||||||
|
command = [ "nixfmt" ];
|
||||||
|
};
|
||||||
|
|
||||||
|
nixpkgs.expr = ''
|
||||||
|
import (builtins.getFlake "/etc/nixos/").inputs.nixpkgs { }
|
||||||
|
'';
|
||||||
|
home-manager.expr = ''
|
||||||
|
(builtins.getFlake "/home/${userConfig.username}/.home-manager").homeConfigurations."${userConfig.username}@${userConfig.hostName}".options
|
||||||
|
'';
|
||||||
|
};
|
||||||
# other
|
# other
|
||||||
marksman.enable = true;
|
marksman.enable = true;
|
||||||
};
|
};
|
||||||
keymaps = {
|
keymaps = {
|
||||||
lspBuf = {
|
lspBuf = {
|
||||||
"gd" = "definition";
|
|
||||||
"gi" = "implementation";
|
|
||||||
"<leader>ca" = "code_action";
|
"<leader>ca" = "code_action";
|
||||||
"<leader>cf" = "format";
|
|
||||||
"<leader>r" = "rename";
|
"<leader>r" = "rename";
|
||||||
};
|
};
|
||||||
};
|
};
|
||||||
@@ -203,11 +261,18 @@
|
|||||||
};
|
};
|
||||||
};
|
};
|
||||||
|
|
||||||
indent-blankline = {
|
cursorline = {
|
||||||
enable = true;
|
enable = true;
|
||||||
settings.scope.enabled = true;
|
timeout = 0;
|
||||||
};
|
};
|
||||||
|
|
||||||
|
mini-indentscope = {
|
||||||
|
enable = true;
|
||||||
|
settings.draw.delay = 0;
|
||||||
|
};
|
||||||
|
|
||||||
|
toggleterm.enable = true;
|
||||||
|
|
||||||
cmp = {
|
cmp = {
|
||||||
enable = true;
|
enable = true;
|
||||||
settings = {
|
settings = {
|
||||||
|
|||||||
@@ -2,7 +2,6 @@
|
|||||||
|
|
||||||
{
|
{
|
||||||
services.ssh-agent.enable = true;
|
services.ssh-agent.enable = true;
|
||||||
services.ssh-agent.enableFishIntegration = true;
|
|
||||||
|
|
||||||
programs.ssh = {
|
programs.ssh = {
|
||||||
enableDefaultConfig = false;
|
enableDefaultConfig = false;
|
||||||
|
|||||||
53
modules/cli/topgrade.nix
Normal file
53
modules/cli/topgrade.nix
Normal file
@@ -0,0 +1,53 @@
|
|||||||
|
{ ... }:
|
||||||
|
|
||||||
|
let
|
||||||
|
system_path = "/etc/nixos";
|
||||||
|
home_path = "~/.config/home-manager/";
|
||||||
|
in
|
||||||
|
{
|
||||||
|
programs.topgrade = {
|
||||||
|
enable = true;
|
||||||
|
settings = {
|
||||||
|
misc = {
|
||||||
|
assume_yes = true;
|
||||||
|
pre_sudo = true;
|
||||||
|
disable = [
|
||||||
|
"flutter"
|
||||||
|
"node"
|
||||||
|
"hyprpm"
|
||||||
|
];
|
||||||
|
cleanup = false;
|
||||||
|
notify_end = "never";
|
||||||
|
nix_handle = "nh";
|
||||||
|
};
|
||||||
|
|
||||||
|
git = {
|
||||||
|
repos = [ "$XDG_PROJECTS_DIR/*" ];
|
||||||
|
};
|
||||||
|
|
||||||
|
pre_commands = {
|
||||||
|
"Git commit before system flake update" =
|
||||||
|
"cd ${system_path} && git add -A && git commit --allow-empty -m 'chore: state before system update'";
|
||||||
|
"Git commit before home flake update" =
|
||||||
|
"cd ${home_path} && git add -A && git commit --allow-empty -m 'chore: state before home update'";
|
||||||
|
"Git pull before system flake update " = "cd ${system_path} && git pull";
|
||||||
|
"Git pull before home flake update " = "cd ${home_path} && git pull";
|
||||||
|
};
|
||||||
|
|
||||||
|
commands = {
|
||||||
|
"Update system flake" = "cd ${system_path} && nix flake update";
|
||||||
|
"Update home flake" = "cd ${home_path} && nix flake update";
|
||||||
|
};
|
||||||
|
|
||||||
|
post_commands = {
|
||||||
|
"Git commit after system flake update" =
|
||||||
|
"cd ${system_path} && git add -A && git commit --allow-empty -m 'chore: state after system update'";
|
||||||
|
"Git commit after home flake update" =
|
||||||
|
"cd ${home_path} && git add -A && git commit --allow-empty -m 'chore: state after home update'";
|
||||||
|
"Git push system configuration" = "cd ${system_path} && git push";
|
||||||
|
"Git push home configuration" = "cd ${home_path} && git push";
|
||||||
|
};
|
||||||
|
|
||||||
|
};
|
||||||
|
};
|
||||||
|
}
|
||||||
@@ -1,4 +1,4 @@
|
|||||||
{ ... }:
|
{ userConfig, ... }:
|
||||||
|
|
||||||
{
|
{
|
||||||
programs.yazi = {
|
programs.yazi = {
|
||||||
@@ -37,6 +37,41 @@
|
|||||||
"yank"
|
"yank"
|
||||||
];
|
];
|
||||||
}
|
}
|
||||||
|
{
|
||||||
|
on = [
|
||||||
|
"g"
|
||||||
|
"p"
|
||||||
|
];
|
||||||
|
run = "cd ${userConfig.pathConfig.downloads}";
|
||||||
|
}
|
||||||
|
{
|
||||||
|
on = [
|
||||||
|
"g"
|
||||||
|
"d"
|
||||||
|
];
|
||||||
|
run = "cd ${userConfig.pathConfig.documents}";
|
||||||
|
}
|
||||||
|
{
|
||||||
|
on = [
|
||||||
|
"g"
|
||||||
|
"v"
|
||||||
|
];
|
||||||
|
run = "cd ${userConfig.pathConfig.video}";
|
||||||
|
}
|
||||||
|
{
|
||||||
|
on = [
|
||||||
|
"g"
|
||||||
|
"o"
|
||||||
|
];
|
||||||
|
run = "cd ${userConfig.pathConfig.pictures}";
|
||||||
|
}
|
||||||
|
{
|
||||||
|
on = [
|
||||||
|
"g"
|
||||||
|
"k"
|
||||||
|
];
|
||||||
|
run = "cd ${userConfig.pathConfig.projects}";
|
||||||
|
}
|
||||||
];
|
];
|
||||||
};
|
};
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -1,4 +1,4 @@
|
|||||||
{ pkgs, ... }:
|
{ ... }:
|
||||||
|
|
||||||
{
|
{
|
||||||
programs.zoxide = {
|
programs.zoxide = {
|
||||||
|
|||||||
@@ -4,6 +4,7 @@
|
|||||||
gtk = {
|
gtk = {
|
||||||
enable = true;
|
enable = true;
|
||||||
colorScheme = "dark";
|
colorScheme = "dark";
|
||||||
|
gtk4.theme = null;
|
||||||
};
|
};
|
||||||
|
|
||||||
dconf = {
|
dconf = {
|
||||||
|
|||||||
@@ -1,8 +1,20 @@
|
|||||||
{ isNixOS, lib, ... }:
|
{
|
||||||
|
userConfig,
|
||||||
|
pkgs,
|
||||||
|
lib,
|
||||||
|
inputs,
|
||||||
|
...
|
||||||
|
}:
|
||||||
|
|
||||||
{
|
{
|
||||||
programs.chromium = {
|
programs.chromium = {
|
||||||
enable = true;
|
enable = true;
|
||||||
package = lib.mkIf (!isNixOS) null;
|
package = lib.mkIf (!userConfig.isNixOS) null;
|
||||||
};
|
};
|
||||||
|
|
||||||
|
home.packages = with pkgs; [
|
||||||
|
inputs.zen-browser.packages."${pkgs.stdenv.hostPlatform.system}".default
|
||||||
|
tutanota-desktop
|
||||||
|
brave
|
||||||
|
];
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -1,18 +1,18 @@
|
|||||||
{ lib, isNixOS, ... }:
|
{ lib, userConfig, ... }:
|
||||||
|
|
||||||
{
|
{
|
||||||
programs.kitty = {
|
programs.kitty = {
|
||||||
enable = true;
|
enable = true;
|
||||||
package = lib.mkIf (!isNixOS) null;
|
package = lib.mkIf (!userConfig.isNixOS) null;
|
||||||
settings = {
|
settings = {
|
||||||
confirm_os_window_close = 0;
|
confirm_os_window_close = 0;
|
||||||
dynamic_background_opacity = true;
|
dynamic_background_opacity = true;
|
||||||
enable_audio_bell = false;
|
enable_audio_bell = false;
|
||||||
mouse_hide_wait = "-1.0";
|
mouse_hide_wait = "-1.0";
|
||||||
window_padding_width = 10;
|
window_padding_width = 10;
|
||||||
background_opacity = "0.5";
|
background_opacity = "0.95";
|
||||||
font_size = 14;
|
font_size = 12;
|
||||||
background_blur = 5;
|
background_blur = 15;
|
||||||
symbol_map =
|
symbol_map =
|
||||||
let
|
let
|
||||||
mappings = [
|
mappings = [
|
||||||
|
|||||||
@@ -1,4 +1,4 @@
|
|||||||
{ isNixOS, pkgs, ... }:
|
{ userConfig, pkgs, ... }:
|
||||||
|
|
||||||
{
|
{
|
||||||
services.mako = {
|
services.mako = {
|
||||||
@@ -21,7 +21,7 @@
|
|||||||
progress-color = "over #313244";
|
progress-color = "over #313244";
|
||||||
output = "DP-1";
|
output = "DP-1";
|
||||||
on-notify =
|
on-notify =
|
||||||
if isNixOS then
|
if userConfig.isNixOS then
|
||||||
"exec ${pkgs.pulseaudio}/bin/paplay ${pkgs.sound-theme-freedesktop}/share/sounds/freedesktop/stereo/dialog-information.oga"
|
"exec ${pkgs.pulseaudio}/bin/paplay ${pkgs.sound-theme-freedesktop}/share/sounds/freedesktop/stereo/dialog-information.oga"
|
||||||
else
|
else
|
||||||
"exec paplay /usr/share/sounds/freedesktop/stereo/dialog-information.oga";
|
"exec paplay /usr/share/sounds/freedesktop/stereo/dialog-information.oga";
|
||||||
@@ -36,7 +36,7 @@
|
|||||||
|
|
||||||
[urgency=critical]
|
[urgency=critical]
|
||||||
on-notify=${
|
on-notify=${
|
||||||
if isNixOS then
|
if userConfig.isNixOS then
|
||||||
"exec ${pkgs.pulseaudio}/bin/paplay ${pkgs.sound-theme-freedesktop}/share/sounds/freedesktop/stereo/dialog-information.oga"
|
"exec ${pkgs.pulseaudio}/bin/paplay ${pkgs.sound-theme-freedesktop}/share/sounds/freedesktop/stereo/dialog-information.oga"
|
||||||
else
|
else
|
||||||
"exec paplay /usr/share/sounds/freedesktop/stereo/dialog-information.oga"
|
"exec paplay /usr/share/sounds/freedesktop/stereo/dialog-information.oga"
|
||||||
|
|||||||
@@ -1,7 +1,6 @@
|
|||||||
{
|
{
|
||||||
config,
|
|
||||||
pkgs,
|
pkgs,
|
||||||
isNixOS,
|
userConfig,
|
||||||
...
|
...
|
||||||
}:
|
}:
|
||||||
|
|
||||||
@@ -10,7 +9,8 @@
|
|||||||
|
|
||||||
programs.mangohud = {
|
programs.mangohud = {
|
||||||
enable = true;
|
enable = true;
|
||||||
package = if isNixOS then pkgs.mangohud else (pkgs.runCommand "dummy-mangohud" { } "mkdir $out");
|
package =
|
||||||
|
if userConfig.isNixOS then pkgs.mangohud else (pkgs.runCommand "dummy-mangohud" { } "mkdir $out");
|
||||||
};
|
};
|
||||||
|
|
||||||
xdg.configFile."MangoHud/MangoHud.conf".text = ''
|
xdg.configFile."MangoHud/MangoHud.conf".text = ''
|
||||||
|
|||||||
@@ -11,7 +11,7 @@ stdenv.mkDerivation {
|
|||||||
owner = "catppuccin";
|
owner = "catppuccin";
|
||||||
repo = "obsidian";
|
repo = "obsidian";
|
||||||
rev = "main";
|
rev = "main";
|
||||||
hash = "sha256-sN5k263geOtJ1mOCQGM8UdmA/71OhBI5NRwGxJwd80E=";
|
hash = "sha256-uB0a2nSZkHHf65xBYXyNh50vaAiqdEpKQVf3eXnCVlE=";
|
||||||
};
|
};
|
||||||
|
|
||||||
installPhase = ''
|
installPhase = ''
|
||||||
|
|||||||
@@ -1,5 +1,4 @@
|
|||||||
{
|
{
|
||||||
isNixOS,
|
|
||||||
lib,
|
lib,
|
||||||
pkgs,
|
pkgs,
|
||||||
userConfig,
|
userConfig,
|
||||||
@@ -9,7 +8,7 @@
|
|||||||
{
|
{
|
||||||
programs.obsidian = {
|
programs.obsidian = {
|
||||||
enable = true;
|
enable = true;
|
||||||
package = lib.mkIf (!isNixOS) null;
|
package = lib.mkIf (!userConfig.isNixOS) null;
|
||||||
|
|
||||||
defaultSettings = {
|
defaultSettings = {
|
||||||
app = {
|
app = {
|
||||||
|
|||||||
@@ -1,6 +1,5 @@
|
|||||||
{
|
{
|
||||||
lib,
|
lib,
|
||||||
isNixOS,
|
|
||||||
userConfig,
|
userConfig,
|
||||||
...
|
...
|
||||||
}:
|
}:
|
||||||
@@ -8,7 +7,7 @@
|
|||||||
{
|
{
|
||||||
programs.satty = {
|
programs.satty = {
|
||||||
enable = true;
|
enable = true;
|
||||||
package = lib.mkIf (!isNixOS) null;
|
package = lib.mkIf (!userConfig.isNixOS) null;
|
||||||
settings = {
|
settings = {
|
||||||
general = {
|
general = {
|
||||||
fullscreen = true;
|
fullscreen = true;
|
||||||
|
|||||||
@@ -1,9 +1,9 @@
|
|||||||
{ isNixOS, lib, ... }:
|
{ userConfig, lib, ... }:
|
||||||
|
|
||||||
{
|
{
|
||||||
services.hypridle = {
|
services.hypridle = {
|
||||||
enable = true;
|
enable = true;
|
||||||
package = lib.mkIf (!isNixOS) null;
|
package = lib.mkIf (!userConfig.isNixOS) null;
|
||||||
|
|
||||||
settings = {
|
settings = {
|
||||||
general = {
|
general = {
|
||||||
|
|||||||
@@ -1,467 +1,13 @@
|
|||||||
|
{ ... }:
|
||||||
{
|
{
|
||||||
isNixOS,
|
imports = [
|
||||||
lib,
|
./hyprland/general.nix
|
||||||
userConfig,
|
./hyprland/looks.nix
|
||||||
pkgs,
|
./hyprland/layouts.nix
|
||||||
...
|
./hyprland/hardware.nix
|
||||||
}:
|
./hyprland/apps.nix
|
||||||
let
|
./hyprland/workspaces.nix
|
||||||
exe = pkg: bin: if isNixOS then "${pkg}/bin/${bin}" else "/usr/bin/${bin}";
|
./hyprland/env.nix
|
||||||
|
./hyprland/autostart.nix
|
||||||
jq = exe pkgs.jq "jq";
|
|
||||||
grim = exe pkgs.grim "grim";
|
|
||||||
satty = exe pkgs.satty "satty";
|
|
||||||
wl_copy = exe pkgs.wl-clipboard "wl-copy";
|
|
||||||
notify_send = exe pkgs.libnotify "notify-send";
|
|
||||||
xdg-desktop-portal-hyprland =
|
|
||||||
if isNixOS then
|
|
||||||
"${pkgs.xdg-desktop-portal-hyprland}/libexec/xdg-desktop-portal-hyprland"
|
|
||||||
else
|
|
||||||
"/usr/lib/xdg-desktop-portal-hyprland";
|
|
||||||
hyprlock = exe pkgs.hyprlock "hyprlock";
|
|
||||||
playerctl = exe pkgs.playerctl "playerctl";
|
|
||||||
in
|
|
||||||
{
|
|
||||||
wayland.windowManager.hyprland = {
|
|
||||||
enable = true;
|
|
||||||
package = lib.mkIf (!isNixOS) null;
|
|
||||||
|
|
||||||
settings = {
|
|
||||||
"$mainMod" = "SUPER";
|
|
||||||
"$terminal" = "uwsm app -- kitty";
|
|
||||||
"$menu" = "hyprlauncher";
|
|
||||||
"$music_player" = "flatpak run com.spotify.Client";
|
|
||||||
"$notes" = "obsidian";
|
|
||||||
"$browser" = "zen-browser";
|
|
||||||
"$openrgb_color" = "09ce30";
|
|
||||||
|
|
||||||
env = [
|
|
||||||
"XCURSOR_SIZE, 32"
|
|
||||||
"HYPRCURSOR_SIZE, 32"
|
|
||||||
"HYPRCURSOR_THEME, theme_phinger-cursors-light"
|
|
||||||
"XDG_CURRENT_DESKTOP,Hyprland"
|
|
||||||
];
|
];
|
||||||
|
|
||||||
general = {
|
|
||||||
gaps_in = 4;
|
|
||||||
gaps_out = 6;
|
|
||||||
border_size = 4;
|
|
||||||
"col.active_border" = "$blue $sky";
|
|
||||||
"col.inactive_border" = "$overlay1";
|
|
||||||
resize_on_border = false;
|
|
||||||
allow_tearing = false;
|
|
||||||
layout = "dwindle";
|
|
||||||
};
|
|
||||||
|
|
||||||
animations = {
|
|
||||||
enabled = true;
|
|
||||||
bezier = [
|
|
||||||
"easeOutQuint,0.23,1,0.32,1"
|
|
||||||
"easeInOutCubic,0.65,0.05,0.36,1"
|
|
||||||
"linear,0,0,1,1"
|
|
||||||
"almostLinear,0.5,0.5,0.75,1.0"
|
|
||||||
"quick,0.15,0,0.1,1"
|
|
||||||
];
|
|
||||||
animation = [
|
|
||||||
"global, 1, 7, default"
|
|
||||||
"border, 1, 3.39, easeOutQuint"
|
|
||||||
"windows, 1, 2.79, easeOutQuint"
|
|
||||||
"windowsIn, 1, 2.1, easeOutQuint, popin 87%"
|
|
||||||
"windowsOut, 1, 1, linear, popin 87%"
|
|
||||||
"fadeIn, 1, 1.4, almostLinear"
|
|
||||||
"fadeOut, 1, 1.2, almostLinear"
|
|
||||||
"fade, 1, 3.03, quick"
|
|
||||||
"layers, 1, 2, easeOutQuint"
|
|
||||||
"layersIn, 1, 2, easeOutQuint, fade"
|
|
||||||
"layersOut, 1, 1, linear, fade"
|
|
||||||
"fadeLayersIn, 1, 1.4, almostLinear"
|
|
||||||
"fadeLayersOut, 1, 1.1, almostLinear"
|
|
||||||
"workspaces, 1, 1.4, quick, slidevert"
|
|
||||||
"workspacesIn, 1, 0.5, quick, slidevert"
|
|
||||||
"workspacesOut, 1, 0.5, quick, slidevert"
|
|
||||||
];
|
|
||||||
};
|
|
||||||
|
|
||||||
decoration = {
|
|
||||||
rounding = 1;
|
|
||||||
rounding_power = 2;
|
|
||||||
active_opacity = 1.0;
|
|
||||||
inactive_opacity = 1.0;
|
|
||||||
shadow = {
|
|
||||||
enabled = true;
|
|
||||||
range = 1;
|
|
||||||
render_power = 1;
|
|
||||||
color = "$overlay0";
|
|
||||||
};
|
|
||||||
blur = {
|
|
||||||
enabled = true;
|
|
||||||
size = 1;
|
|
||||||
passes = 1;
|
|
||||||
vibrancy = 0.1696;
|
|
||||||
};
|
|
||||||
};
|
|
||||||
|
|
||||||
dwindle = {
|
|
||||||
pseudotile = true;
|
|
||||||
preserve_split = true;
|
|
||||||
};
|
|
||||||
|
|
||||||
master = {
|
|
||||||
new_status = "slave";
|
|
||||||
allow_small_split = true;
|
|
||||||
orientation = "left";
|
|
||||||
};
|
|
||||||
|
|
||||||
ecosystem = {
|
|
||||||
enforce_permissions = true;
|
|
||||||
};
|
|
||||||
|
|
||||||
permission = [
|
|
||||||
"^${grim}$, screencopy, allow"
|
|
||||||
"^${hyprlock}$, screencopy, allow"
|
|
||||||
"^${xdg-desktop-portal-hyprland}$, screencopy, allow"
|
|
||||||
];
|
|
||||||
|
|
||||||
input = {
|
|
||||||
kb_layout = "pl";
|
|
||||||
kb_variant = "";
|
|
||||||
kb_model = "";
|
|
||||||
kb_options = "caps:escape_shifted_capslock";
|
|
||||||
kb_rules = "";
|
|
||||||
follow_mouse = 1;
|
|
||||||
left_handed = true;
|
|
||||||
sensitivity = 0;
|
|
||||||
touchpad = {
|
|
||||||
natural_scroll = true;
|
|
||||||
};
|
|
||||||
};
|
|
||||||
|
|
||||||
cursor = {
|
|
||||||
no_hardware_cursors = true;
|
|
||||||
inactive_timeout = 5;
|
|
||||||
warp_on_change_workspace = 1;
|
|
||||||
zoom_factor = 1.0;
|
|
||||||
hide_on_key_press = 1;
|
|
||||||
};
|
|
||||||
|
|
||||||
misc = {
|
|
||||||
force_default_wallpaper = 0;
|
|
||||||
disable_hyprland_logo = true;
|
|
||||||
middle_click_paste = false;
|
|
||||||
};
|
|
||||||
|
|
||||||
xwayland = {
|
|
||||||
force_zero_scaling = 1;
|
|
||||||
};
|
|
||||||
|
|
||||||
quirks = {
|
|
||||||
prefer_hdr = 1;
|
|
||||||
};
|
|
||||||
|
|
||||||
"exec-once" = [
|
|
||||||
"wl-paste --type text --watch cliphist store"
|
|
||||||
"wl-paste --type image --watch cliphist store"
|
|
||||||
"uwsm app -- ${userConfig.statusBar}"
|
|
||||||
"swww-daemon"
|
|
||||||
"openrgb -c $openrgb_color"
|
|
||||||
];
|
|
||||||
|
|
||||||
workspace = [
|
|
||||||
"1, monitor:DP-2"
|
|
||||||
"2, monitor:DP-1"
|
|
||||||
"3, monitor:DP-1"
|
|
||||||
"4, monitor:DP-1"
|
|
||||||
"5, monitor:DP-1"
|
|
||||||
"6, monitor:DP-1"
|
|
||||||
"7, monitor:HDMI-A-2"
|
|
||||||
"9, monitor:DP-2"
|
|
||||||
"10, monitor:DP-2"
|
|
||||||
"w[tv1], gapsout:0, gapsin:0"
|
|
||||||
"f[1], gapsout:0, gapsin:0"
|
|
||||||
];
|
|
||||||
|
|
||||||
windowrule = [
|
|
||||||
# smart gaps
|
|
||||||
"border_size 0, match:float 0, match:workspace w[tv1]"
|
|
||||||
"rounding 0, match:float 0, match:workspace w[tv1]"
|
|
||||||
"border_size 0, match:float 0, match:workspace f[1]"
|
|
||||||
"rounding 0, match:float 0, match:workspace f[1]"
|
|
||||||
# general rules
|
|
||||||
"match:class ^(signal)$, workspace 1"
|
|
||||||
"match:class ^(vesktop)$, workspace 1 silent"
|
|
||||||
"match:class ^(chrome-facebook.com__-Default)$, workspace 1"
|
|
||||||
"match:class ^(zen)$, workspace 2"
|
|
||||||
"match:class ^(com.github.IsmaelMartinez.teams_for_linux)$, workspace 2"
|
|
||||||
"match:class ^(FreeTube)$, workspace 2"
|
|
||||||
"match:class ^(brave-x.com__-Default)$, workspace 2"
|
|
||||||
"match:class ^(chrome-www.inoreader.com__all_articles-Default)$, workspace 2"
|
|
||||||
"match:class ^(chrome-mail.proton.me__u_0_inbox.com-Default)$, workspace 2"
|
|
||||||
"match:class ^(chrome-app.tuta.com__-Default)$, workspace 2"
|
|
||||||
"match:class ^(steam)$, workspace 3 silent"
|
|
||||||
"match:class ^(heroic)$, workspace 3"
|
|
||||||
"match:class ^(net.lutris.Lutris)$, workspace 3"
|
|
||||||
"match:class ^(rpcs3)$, workspace 3"
|
|
||||||
"match:class ^(winboat)$, workspace 5"
|
|
||||||
"match:class ^(obsidian)$, workspace 6"
|
|
||||||
"match:class ^(gimp)$, workspace 8"
|
|
||||||
"match:class .*potify, workspace 9 silent"
|
|
||||||
"match:class ^(com.obsproject.Studio)$, workspace 10"
|
|
||||||
];
|
|
||||||
|
|
||||||
bind =
|
|
||||||
# hyprlang
|
|
||||||
[
|
|
||||||
# background
|
|
||||||
"$mainMod, V, exec, cliphist list | hyprlauncher -m | cliphist decode | wl-copy"
|
|
||||||
"$mainMod ALT_L, V, exec, cliphist wipe && notify-send \"Clipboard\" \"Clipboard cleared!\""
|
|
||||||
# power management
|
|
||||||
"$mainMod L_SHIFT ctrl, l, exec, hyprlock"
|
|
||||||
"$mainMod L_SHIFT ctrl, r, exec, openrgb -c black && systemctl reboot"
|
|
||||||
"$mainMod L_SHIFT ctrl, p, exec, openrgb -c black && systemctl poweroff"
|
|
||||||
"$mainMod L_SHIFT ctrl, s, exec, openrgb -c black && pidof hyprlock || sleep 1 && systemctl sleep"
|
|
||||||
"$mainMod L_SHIFT ctrl, m, exec, uwsm stop"
|
|
||||||
# zoom
|
|
||||||
"$mainMod alt, 0, exec, hyprctl -q keyword cursor:zoom_factor 1"
|
|
||||||
# focus management
|
|
||||||
"$mainMod, h, movefocus, l"
|
|
||||||
"$mainMod, l, movefocus, r"
|
|
||||||
"$mainMod, k, movefocus, u"
|
|
||||||
"$mainMod, j, movefocus, d"
|
|
||||||
"$mainMod, mouse_down, workspace, e+1"
|
|
||||||
"$mainMod, mouse_up, workspace, e-1"
|
|
||||||
"$mainMod L_SHIFT, right, exec, hyprctl dispatch movecurrentworkspacetomonitor +1"
|
|
||||||
"$mainMod L_SHIFT, left, exec, hyprctl dispatch movecurrentworkspacetomonitor -1"
|
|
||||||
# workspace management
|
|
||||||
"$mainMod, 1, workspace, 1"
|
|
||||||
"$mainMod, 2, workspace, 2"
|
|
||||||
"$mainMod, 3, workspace, 3"
|
|
||||||
"$mainMod, 4, workspace, 4"
|
|
||||||
"$mainMod, 5, workspace, 5"
|
|
||||||
"$mainMod, 6, workspace, 6"
|
|
||||||
"$mainMod, 7, workspace, 7"
|
|
||||||
"$mainMod, 8, workspace, 8"
|
|
||||||
"$mainMod, 9, workspace, 9"
|
|
||||||
"$mainMod, 0, workspace, 10"
|
|
||||||
# window management
|
|
||||||
"$mainMod SHIFT, 1, movetoworkspace, 1"
|
|
||||||
"$mainMod SHIFT, 2, movetoworkspace, 2"
|
|
||||||
"$mainMod SHIFT, 3, movetoworkspace, 3"
|
|
||||||
"$mainMod SHIFT, 4, movetoworkspace, 4"
|
|
||||||
"$mainMod SHIFT, 5, movetoworkspace, 5"
|
|
||||||
"$mainMod SHIFT, 6, movetoworkspace, 6"
|
|
||||||
"$mainMod SHIFT, 7, movetoworkspace, 7"
|
|
||||||
"$mainMod SHIFT, 8, movetoworkspace, 8"
|
|
||||||
"$mainMod SHIFT, 9, movetoworkspace, 9"
|
|
||||||
"$mainMod SHIFT, 0, movetoworkspace, 10"
|
|
||||||
# special workspace
|
|
||||||
"$mainMod, TAB, togglespecialworkspace, magic"
|
|
||||||
"$mainMod SHIFT, TAB, movetoworkspace, special:magic"
|
|
||||||
# layout
|
|
||||||
"$mainMod, S, layoutmsg, swapwithmaster"
|
|
||||||
"$mainMod, n, layoutmsg, swapnext"
|
|
||||||
"$mainMod, p, layoutmsg, swapprev"
|
|
||||||
# apps
|
|
||||||
"$mainMod, M, exec, [float] waypaper"
|
|
||||||
"$mainMod, RETURN, exec, [workspace 4] $terminal"
|
|
||||||
"$mainMod CONTROL_L, RETURN, exec, $terminal"
|
|
||||||
"$mainMod, space , exec, $menu"
|
|
||||||
"$mainMod ALT_L, c, exec, openrgb -c $openrgb_color"
|
|
||||||
"$mainMod Control_L, s, exec,[workspace 1] signal-desktop --password-store=\"kwallet6\""
|
|
||||||
"$mainMod Control_L, s, focuswindow, class:^(signal)$"
|
|
||||||
"$mainMod Control_L, s, focuswindow, title:^(signal)$"
|
|
||||||
"$mainMod Control_L, v, sendshortcut, ctrl, k, class:^(vesktop)$"
|
|
||||||
"$mainMod Control_L, v, exec, uwsm app -- vesktop"
|
|
||||||
"$mainMod Control_L, v, focuswindow, class:^(vesktop)$"
|
|
||||||
"$mainMod Control_L, g, exec, uwsm app -- steam"
|
|
||||||
"$mainMod Control_L, g, focuswindow, class:^(steam)$"
|
|
||||||
"$mainMod Control_L, b, exec, uwsm app -- $browser"
|
|
||||||
"$mainMod Control_L, b, focuswindow, class:^(zen)$"
|
|
||||||
"$mainMod Control_L, n, exec, [workspace 6] uwsm app -- $notes"
|
|
||||||
"$mainMod Control_L, n, focuswindow, class:^(obsidian)$"
|
|
||||||
"$mainMod Control_L, m, exec, [workspace 9] uwsm app -- $music_player"
|
|
||||||
"$mainMod Control_L, f, exec, uwsm app -- freetube"
|
|
||||||
"$mainMod Control_L, f, focuswindow, class:^(freetube)$"
|
|
||||||
"$mainMod Control_L, x, exec, uwsm app -- ~/.nix-profile/share/applications/x.desktop"
|
|
||||||
"$mainMod Control_L, x, focuswindow, class:^(chrome-x.com__-Default)$"
|
|
||||||
"$mainMod CONTROL_L L_SHIFT, B, exec, killall ashell && uwsm app -- ashell"
|
|
||||||
];
|
|
||||||
|
|
||||||
binde = [
|
|
||||||
"$mainMod alt, equal, exec, hyprctl -q keyword cursor:zoom_factor $(hyprctl getoption cursor:zoom_factor | awk '/^float.*/ {print $2 * 1.1}')"
|
|
||||||
"$mainMod alt, minus, exec, hyprctl -q keyword cursor:zoom_factor $(hyprctl getoption cursor:zoom_factor | awk '/^float.*/ {print $2 * 0.9}')"
|
|
||||||
"$mainMod L_SHIFT, l, resizeactive, 10 0"
|
|
||||||
"$mainMod L_SHIFT, h, resizeactive, -10 0"
|
|
||||||
"$mainMod L_SHIFT, k, resizeactive, 0 -10"
|
|
||||||
"$mainMod L_SHIFT, j, resizeactive, 0 10"
|
|
||||||
];
|
|
||||||
|
|
||||||
bindel = [
|
|
||||||
",XF86MonBrightnessDown, exec, hyprctl hyprsunset gamma -10"
|
|
||||||
",XF86MonBrightnessUp, exec, hyprctl hyprsunset gamma +10"
|
|
||||||
", XF86AudioRaiseVolume, exec, wpctl set-volume @DEFAULT_AUDIO_SINK@ 5%+ && ~/.local/bin/wp-vol.sh && paplay /usr/share/sounds/freedesktop/stereo/bell.oga"
|
|
||||||
", XF86AudioLowerVolume, exec, wpctl set-volume @DEFAULT_AUDIO_SINK@ 5%- && ~/.local/bin/wp-vol.sh && paplay /usr/share/sounds/freedesktop/stereo/bell.oga"
|
|
||||||
", XF86AudioMicMute, exec, wpctl set-mute @DEFAULT_SOURCE@ toggle"
|
|
||||||
];
|
|
||||||
|
|
||||||
bindt = [
|
|
||||||
", PRINT, exec, ${pkgs.writeShellScript "screenshot-region" ''
|
|
||||||
MONITOR=$(hyprctl monitors -j | ${jq} -r '.[] | select(.focused == true) | .name')
|
|
||||||
${grim} -o "$MONITOR" - | ${satty} -f -
|
|
||||||
''}"
|
|
||||||
|
|
||||||
"$mainMod, PRINT, exec, ${pkgs.writeShellScript "screenshot-fullscreen" ''
|
|
||||||
target_path="$HOME/${userConfig.pathConfig.screenshot}/$(date +'%d-%m-%Y_%H-%M-%S').png"
|
|
||||||
mkdir -p "$(dirname "$target_path")"
|
|
||||||
|
|
||||||
MONITOR=$(hyprctl monitors -j | ${jq} -r '.[] | select(.focused == true) | .name')
|
|
||||||
|
|
||||||
${grim} -o "$MONITOR" "$target_path"
|
|
||||||
${wl_copy} < "$target_path"
|
|
||||||
${notify_send} -i "$target_path" -u low -a "Screenshot" "Screenshot fullscreen" "Saved and copied"
|
|
||||||
''}"
|
|
||||||
|
|
||||||
"alt_l, PRINT, exec, ${pkgs.writeShellScript "screenshot-window" ''
|
|
||||||
target_path="$HOME/${userConfig.pathConfig.screenshot}/$(date +'%d-%m-%Y_%H-%M-%S').png"
|
|
||||||
mkdir -p "$(dirname "$target_path")"
|
|
||||||
|
|
||||||
GEOMETRY=$(hyprctl activewindow -j | ${jq} -r '"\(.at[0]),\(.at[1]) \(.size[0])x\(.size[1])"')
|
|
||||||
|
|
||||||
${grim} -g "$GEOMETRY" "$target_path"
|
|
||||||
${wl_copy} < "$target_path"
|
|
||||||
${notify_send} -i "$target_path" -u low -a "Screenshot" "Screenshot window" "Saved and copied"
|
|
||||||
''}"
|
|
||||||
|
|
||||||
", PAUSE, exec, ${playerctl} play-pause"
|
|
||||||
"$mainMod, PAUSE, exec, ${playerctl} play-pause --player spotify"
|
|
||||||
];
|
|
||||||
|
|
||||||
bindm = [
|
|
||||||
"$mainMod, mouse:272, movewindow"
|
|
||||||
"$mainMod, mouse:273, resizewindow"
|
|
||||||
];
|
|
||||||
|
|
||||||
bindd = [
|
|
||||||
"$mainMod, F, Make app fullscreen, fullscreen"
|
|
||||||
"$mainMod, T, Toggle floating, togglefloating"
|
|
||||||
"$mainMod, P, Toggle pseudo, pseudo"
|
|
||||||
"$mainMod, S, Toggle split, togglesplit"
|
|
||||||
"$mainMod, Q, Kill active window, killactive"
|
|
||||||
];
|
|
||||||
};
|
|
||||||
|
|
||||||
extraConfig =
|
|
||||||
#hyprlang
|
|
||||||
''
|
|
||||||
windowrule {
|
|
||||||
name = pavucontrol-float
|
|
||||||
match:class = ^(org.pulseaudio.pavucontrol)$
|
|
||||||
float = 1
|
|
||||||
size = 80% 60%
|
|
||||||
stay_focused = 1
|
|
||||||
center = 1
|
|
||||||
pin = 1
|
|
||||||
}
|
|
||||||
|
|
||||||
windowrule {
|
|
||||||
name = share-picker-float
|
|
||||||
match:class = ^(hyprland-share-picker)$
|
|
||||||
float = 1
|
|
||||||
center = 1
|
|
||||||
pin = 1
|
|
||||||
}
|
|
||||||
|
|
||||||
windowrule {
|
|
||||||
name = steam-friends-list
|
|
||||||
match:title = ^(Lista znajomych)$
|
|
||||||
float = 1
|
|
||||||
center = 1
|
|
||||||
size = 40% 60%
|
|
||||||
}
|
|
||||||
|
|
||||||
windowrule {
|
|
||||||
name = vesktop-dont-focus-pls
|
|
||||||
match:class = ^(vesktop)$
|
|
||||||
no_initial_focus = 1
|
|
||||||
focus_on_activate = 0
|
|
||||||
render_unfocused = 1
|
|
||||||
}
|
|
||||||
|
|
||||||
windowrule {
|
|
||||||
name = xdg-desktop-portal-gtk
|
|
||||||
match:class = ^(xdg-desktop-portal-gtk)$
|
|
||||||
float = 1
|
|
||||||
center = 1
|
|
||||||
size = 55% 50%
|
|
||||||
}
|
|
||||||
|
|
||||||
windowrule {
|
|
||||||
name = picture-in-picture
|
|
||||||
match:title = ^(Obraz w obrazie)$
|
|
||||||
pseudo = 1
|
|
||||||
no_initial_focus = 1
|
|
||||||
}
|
|
||||||
|
|
||||||
windowrule {
|
|
||||||
name = login-google-zen
|
|
||||||
match:title = ^(Logowanie – Konta Google — Zen Browser)$
|
|
||||||
float = 1
|
|
||||||
center = 1
|
|
||||||
}
|
|
||||||
|
|
||||||
windowrule {
|
|
||||||
name = prism-launcher
|
|
||||||
match:class = ^(org.prismlauncher.PrismLauncher)$
|
|
||||||
workspace = 3
|
|
||||||
}
|
|
||||||
|
|
||||||
windowrule {
|
|
||||||
name = gamescope
|
|
||||||
match:class = ^(gamescope)$
|
|
||||||
workspace = 3
|
|
||||||
}
|
|
||||||
|
|
||||||
monitorv2 {
|
|
||||||
output = DP-1
|
|
||||||
mode = 2560x1440@180.06
|
|
||||||
position = 0x0
|
|
||||||
scale = 1
|
|
||||||
vrr = 1
|
|
||||||
supports_wide_color = 1
|
|
||||||
bitdepth = 10
|
|
||||||
sdr_min_luminance = 0.005
|
|
||||||
sdr_max_luminance = 220
|
|
||||||
cm = hdr
|
|
||||||
supports_hdr = 1
|
|
||||||
}
|
|
||||||
|
|
||||||
monitorv2 {
|
|
||||||
output = DP-2
|
|
||||||
mode = 1920x1080@144
|
|
||||||
position = auto-left
|
|
||||||
vrr = 1
|
|
||||||
scale = 1.0
|
|
||||||
}
|
|
||||||
|
|
||||||
monitorv2 {
|
|
||||||
output = HDMI-A-2
|
|
||||||
mode = highres
|
|
||||||
position = auto-up
|
|
||||||
scale = 1
|
|
||||||
}
|
|
||||||
|
|
||||||
# for laptop
|
|
||||||
monitorv2 {
|
|
||||||
output = eDP-1
|
|
||||||
mode = highres
|
|
||||||
position = 0x0
|
|
||||||
scale = 1
|
|
||||||
}
|
|
||||||
|
|
||||||
monitorv2 {
|
|
||||||
output =
|
|
||||||
position = auto-right
|
|
||||||
scale = 1
|
|
||||||
}
|
|
||||||
'';
|
|
||||||
};
|
|
||||||
}
|
}
|
||||||
|
|||||||
10
modules/hypr/hyprland/apps.nix
Normal file
10
modules/hypr/hyprland/apps.nix
Normal file
@@ -0,0 +1,10 @@
|
|||||||
|
{ ... }:
|
||||||
|
|
||||||
|
{
|
||||||
|
imports = [
|
||||||
|
./apps/communicators.nix
|
||||||
|
./apps/browser.nix
|
||||||
|
./apps/games.nix
|
||||||
|
./apps/misc.nix
|
||||||
|
];
|
||||||
|
}
|
||||||
47
modules/hypr/hyprland/apps/browser.nix
Normal file
47
modules/hypr/hyprland/apps/browser.nix
Normal file
@@ -0,0 +1,47 @@
|
|||||||
|
{ ... }:
|
||||||
|
|
||||||
|
{
|
||||||
|
wayland.windowManager.hyprland = {
|
||||||
|
settings = {
|
||||||
|
windowrule = [
|
||||||
|
"match:class ^(chrome-facebook.com__-Default)$, workspace 1"
|
||||||
|
"match:class ^(zen)$, workspace 2"
|
||||||
|
"match:class ^(zen-beta)$, workspace 2"
|
||||||
|
"match:class ^(com.github.IsmaelMartinez.teams_for_linux)$, workspace 2"
|
||||||
|
"match:class ^(FreeTube)$, workspace 2"
|
||||||
|
"match:class ^(brave-x.com__-Default)$, workspace 2"
|
||||||
|
"match:class ^(chrome-www.inoreader.com__all_articles-Default)$, workspace 2"
|
||||||
|
"match:class ^(chrome-mail.proton.me__u_0_inbox.com-Default)$, workspace 2"
|
||||||
|
"match:class ^(chrome-app.tuta.com__-Default)$, workspace 2"
|
||||||
|
];
|
||||||
|
|
||||||
|
bind = [
|
||||||
|
"$mainMod Control_L, b, exec, uwsm app -- $browser"
|
||||||
|
"$mainMod Control_L, b, focuswindow, class:^(zen)$"
|
||||||
|
"$mainMod Control_L, f, exec, uwsm app -- freetube"
|
||||||
|
"$mainMod Control_L, f, focuswindow, class:^(freetube)$"
|
||||||
|
"$mainMod Control_L, x, exec, uwsm app -- ~/.nix-profile/share/applications/x.desktop"
|
||||||
|
"$mainMod Control_L, x, focuswindow, class:^(chrome-x.com__-Default)$"
|
||||||
|
];
|
||||||
|
};
|
||||||
|
|
||||||
|
extraConfig =
|
||||||
|
#hyprlang
|
||||||
|
''
|
||||||
|
windowrule {
|
||||||
|
name = picture-in-picture
|
||||||
|
match:title = ^(Obraz w obrazie)$
|
||||||
|
pseudo = 1
|
||||||
|
no_initial_focus = 1
|
||||||
|
}
|
||||||
|
|
||||||
|
windowrule {
|
||||||
|
name = login-google-zen
|
||||||
|
match:title = ^(Logowanie – Konta Google — Zen Browser)$
|
||||||
|
float = 1
|
||||||
|
center = 1
|
||||||
|
}
|
||||||
|
|
||||||
|
'';
|
||||||
|
};
|
||||||
|
}
|
||||||
36
modules/hypr/hyprland/apps/communicators.nix
Normal file
36
modules/hypr/hyprland/apps/communicators.nix
Normal file
@@ -0,0 +1,36 @@
|
|||||||
|
{ ... }:
|
||||||
|
|
||||||
|
{
|
||||||
|
wayland.windowManager.hyprland = {
|
||||||
|
settings = {
|
||||||
|
|
||||||
|
windowrule = [
|
||||||
|
# general rules
|
||||||
|
"match:class ^(signal)$, workspace 1"
|
||||||
|
"match:class ^(vesktop)$, workspace 1 silent"
|
||||||
|
];
|
||||||
|
|
||||||
|
bind = [
|
||||||
|
"$mainMod Control_L, s, exec,[workspace 1] $signal_client"
|
||||||
|
"$mainMod Control_L, s, focuswindow, class:^(signal)$"
|
||||||
|
"$mainMod Control_L, s, focuswindow, title:^(signal)$"
|
||||||
|
"$mainMod Control_L, v, sendshortcut, ctrl, k, class:^(vesktop)$"
|
||||||
|
"$mainMod Control_L, v, exec, uwsm app -- vesktop"
|
||||||
|
"$mainMod Control_L, v, focuswindow, class:^(vesktop)$"
|
||||||
|
];
|
||||||
|
|
||||||
|
};
|
||||||
|
extraConfig =
|
||||||
|
#hyprlang
|
||||||
|
''
|
||||||
|
windowrule {
|
||||||
|
name = vesktop-dont-focus-pls
|
||||||
|
match:class = ^(vesktop)$
|
||||||
|
no_initial_focus = 1
|
||||||
|
focus_on_activate = 0
|
||||||
|
render_unfocused = 1
|
||||||
|
}
|
||||||
|
|
||||||
|
'';
|
||||||
|
};
|
||||||
|
}
|
||||||
42
modules/hypr/hyprland/apps/games.nix
Normal file
42
modules/hypr/hyprland/apps/games.nix
Normal file
@@ -0,0 +1,42 @@
|
|||||||
|
{ ... }:
|
||||||
|
|
||||||
|
{
|
||||||
|
wayland.windowManager.hyprland = {
|
||||||
|
settings = {
|
||||||
|
windowrule = [
|
||||||
|
"match:class ^(steam)$, workspace 3 silent"
|
||||||
|
"match:class ^(heroic)$, workspace 3"
|
||||||
|
"match:class ^(net.lutris.Lutris)$, workspace 3"
|
||||||
|
"match:class ^(rpcs3)$, workspace 3"
|
||||||
|
];
|
||||||
|
|
||||||
|
bind = [
|
||||||
|
"$mainMod Control_L, g, exec, uwsm app -- steam"
|
||||||
|
"$mainMod Control_L, g, focuswindow, class:^(steam)$"
|
||||||
|
];
|
||||||
|
};
|
||||||
|
extraConfig =
|
||||||
|
#hyprlang
|
||||||
|
''
|
||||||
|
windowrule {
|
||||||
|
name = steam-friends-list
|
||||||
|
match:title = ^(Lista znajomych)$
|
||||||
|
float = 1
|
||||||
|
center = 1
|
||||||
|
size = 40% 60%
|
||||||
|
}
|
||||||
|
|
||||||
|
windowrule {
|
||||||
|
name = prism-launcher
|
||||||
|
match:class = ^(org.prismlauncher.PrismLauncher)$
|
||||||
|
workspace = 3
|
||||||
|
}
|
||||||
|
|
||||||
|
windowrule {
|
||||||
|
name = gamescope
|
||||||
|
match:class = ^(gamescope)$
|
||||||
|
workspace = 3
|
||||||
|
}
|
||||||
|
'';
|
||||||
|
};
|
||||||
|
}
|
||||||
61
modules/hypr/hyprland/apps/misc.nix
Normal file
61
modules/hypr/hyprland/apps/misc.nix
Normal file
@@ -0,0 +1,61 @@
|
|||||||
|
{ ... }:
|
||||||
|
|
||||||
|
{
|
||||||
|
wayland.windowManager.hyprland = {
|
||||||
|
settings = {
|
||||||
|
|
||||||
|
windowrule = [
|
||||||
|
# general rules
|
||||||
|
"match:class ^(winboat)$, workspace 5"
|
||||||
|
"match:class ^(qemu)$, workspace 5"
|
||||||
|
"match:class ^(obsidian)$, workspace 6"
|
||||||
|
"match:class ^(gimp)$, workspace 8"
|
||||||
|
"match:class .*potify, workspace 9 silent"
|
||||||
|
"match:class ^(com.obsproject.Studio)$, workspace 10"
|
||||||
|
];
|
||||||
|
|
||||||
|
bind = [
|
||||||
|
"$mainMod, M, exec, [float] waypaper"
|
||||||
|
"$mainMod, RETURN, exec, [workspace 4] $terminal"
|
||||||
|
"$mainMod CONTROL_L, RETURN, exec, $terminal"
|
||||||
|
"$mainMod, space , exec, $menu"
|
||||||
|
"$mainMod ALT_L, c, exec, openrgb -c $openrgb_color"
|
||||||
|
"$mainMod Control_L, n, exec, [workspace 6] uwsm app -- $notes"
|
||||||
|
"$mainMod Control_L, n, focuswindow, class:^(obsidian)$"
|
||||||
|
"$mainMod Control_L, m, exec, [workspace 9] uwsm app -- $music_player"
|
||||||
|
"$mainMod CONTROL_L L_SHIFT, B, exec, killall ashell && uwsm app -- ashell"
|
||||||
|
];
|
||||||
|
};
|
||||||
|
|
||||||
|
extraConfig =
|
||||||
|
#hyprlang
|
||||||
|
''
|
||||||
|
windowrule {
|
||||||
|
name = pavucontrol-float
|
||||||
|
match:class = ^(org.pulseaudio.pavucontrol)$
|
||||||
|
float = 1
|
||||||
|
size = 80% 60%
|
||||||
|
stay_focused = 1
|
||||||
|
center = 1
|
||||||
|
pin = 1
|
||||||
|
}
|
||||||
|
|
||||||
|
windowrule {
|
||||||
|
name = share-picker-float
|
||||||
|
match:class = ^(hyprland-share-picker)$
|
||||||
|
float = 1
|
||||||
|
center = 1
|
||||||
|
pin = 1
|
||||||
|
}
|
||||||
|
|
||||||
|
windowrule {
|
||||||
|
name = xdg-desktop-portal-gtk
|
||||||
|
match:class = ^(xdg-desktop-portal-gtk)$
|
||||||
|
float = 1
|
||||||
|
center = 1
|
||||||
|
size = 55% 50%
|
||||||
|
}
|
||||||
|
|
||||||
|
'';
|
||||||
|
};
|
||||||
|
}
|
||||||
19
modules/hypr/hyprland/autostart.nix
Normal file
19
modules/hypr/hyprland/autostart.nix
Normal file
@@ -0,0 +1,19 @@
|
|||||||
|
{
|
||||||
|
userConfig,
|
||||||
|
pkgs,
|
||||||
|
...
|
||||||
|
}:
|
||||||
|
let
|
||||||
|
uwsm_run = "${pkgs.uwsm}/bin/uwsm app";
|
||||||
|
in
|
||||||
|
{
|
||||||
|
wayland.windowManager.hyprland.settings = {
|
||||||
|
"exec-once" = [
|
||||||
|
"wl-paste --type text --watch cliphist store"
|
||||||
|
"wl-paste --type image --watch cliphist store"
|
||||||
|
"${uwsm_run} -- ${userConfig.statusBar}"
|
||||||
|
"awww-daemon"
|
||||||
|
"openrgb -c $openrgb_color"
|
||||||
|
];
|
||||||
|
};
|
||||||
|
}
|
||||||
42
modules/hypr/hyprland/env.nix
Normal file
42
modules/hypr/hyprland/env.nix
Normal file
@@ -0,0 +1,42 @@
|
|||||||
|
{
|
||||||
|
userConfig,
|
||||||
|
pkgs,
|
||||||
|
...
|
||||||
|
}:
|
||||||
|
let
|
||||||
|
uwsm_run = "${pkgs.uwsm}/bin/uwsm app";
|
||||||
|
signal_client = "${pkgs.kitty}/bin/kitty --title 'gurk' ${pkgs.gurk-rs}/bin/gurk";
|
||||||
|
in
|
||||||
|
{
|
||||||
|
wayland.windowManager.hyprland = {
|
||||||
|
settings = {
|
||||||
|
"$mainMod" = "SUPER";
|
||||||
|
"$terminal" = "${uwsm_run} -- ${pkgs.kitty}/bin/kitty";
|
||||||
|
"$menu" = "${pkgs.hyprlauncher}/bin/hyprlauncher";
|
||||||
|
"$music_player" =
|
||||||
|
if userConfig.isNixOS then "${pkgs.spotify}/bin/spotify" else "flatpak run com.spotify.Client";
|
||||||
|
"$notes" = "${pkgs.obsidian}/bin/obsidian";
|
||||||
|
"$browser" = if userConfig.isNixOS then "zen-beta" else "zen-browser"; # beta on nixos
|
||||||
|
"$openrgb_color" = "09ce30";
|
||||||
|
"$signal_client" = signal_client;
|
||||||
|
|
||||||
|
env = [
|
||||||
|
"XCURSOR_SIZE, 32"
|
||||||
|
"HYPRCURSOR_SIZE, 32"
|
||||||
|
"HYPRCURSOR_THEME, theme_phinger-cursors-light"
|
||||||
|
"XDG_CURRENT_DESKTOP,Hyprland"
|
||||||
|
];
|
||||||
|
|
||||||
|
general = {
|
||||||
|
gaps_in = 4;
|
||||||
|
gaps_out = 6;
|
||||||
|
border_size = 4;
|
||||||
|
"col.active_border" = "$blue $sky";
|
||||||
|
"col.inactive_border" = "$overlay1";
|
||||||
|
resize_on_border = false;
|
||||||
|
allow_tearing = false;
|
||||||
|
layout = "scrolling";
|
||||||
|
};
|
||||||
|
};
|
||||||
|
};
|
||||||
|
}
|
||||||
110
modules/hypr/hyprland/general.nix
Normal file
110
modules/hypr/hyprland/general.nix
Normal file
@@ -0,0 +1,110 @@
|
|||||||
|
{
|
||||||
|
userConfig,
|
||||||
|
pkgs,
|
||||||
|
...
|
||||||
|
}:
|
||||||
|
let
|
||||||
|
exe = pkg: bin: if userConfig.isNixOS then "${pkg}/bin/${bin}" else "/usr/bin/${bin}";
|
||||||
|
jq = exe pkgs.jq "jq";
|
||||||
|
grim = exe pkgs.grim "grim";
|
||||||
|
satty = exe pkgs.satty "satty";
|
||||||
|
wl_copy = exe pkgs.wl-clipboard "wl-copy";
|
||||||
|
notify_send = exe pkgs.libnotify "notify-send";
|
||||||
|
playerctl = exe pkgs.playerctl "playerctl";
|
||||||
|
xdg-desktop-portal-hyprland =
|
||||||
|
if userConfig.isNixOS then
|
||||||
|
"${pkgs.xdg-desktop-portal-hyprland}/libexec/xdg-desktop-portal-hyprland"
|
||||||
|
else
|
||||||
|
"/usr/lib/xdg-desktop-portal-hyprland";
|
||||||
|
in
|
||||||
|
{
|
||||||
|
wayland.windowManager.hyprland = {
|
||||||
|
|
||||||
|
enable = true;
|
||||||
|
package =
|
||||||
|
if userConfig.isNixOS then
|
||||||
|
# inputs.hyprland.packages.${pkgs.stdenv.hostPlatform.system}.hyprland
|
||||||
|
pkgs.hyprland
|
||||||
|
else
|
||||||
|
null;
|
||||||
|
#portalPackage = lib.mkIf (userConfig.isNixOS
|
||||||
|
#) inputs.hyprland.packages.${pkgs.stdenv.hostPlatform.system}.xdg-desktop-portal-hyprland;
|
||||||
|
|
||||||
|
xwayland.enable = true;
|
||||||
|
settings = {
|
||||||
|
ecosystem = {
|
||||||
|
enforce_permissions = true;
|
||||||
|
};
|
||||||
|
|
||||||
|
permission = [
|
||||||
|
"^${pkgs.grim}/bin/grim$, screencopy, allow"
|
||||||
|
"^${pkgs.hyprlock}/bin/hyprlock$, screencopy, allow"
|
||||||
|
"^${xdg-desktop-portal-hyprland}$, screencopy, allow"
|
||||||
|
];
|
||||||
|
|
||||||
|
misc = {
|
||||||
|
force_default_wallpaper = 0;
|
||||||
|
disable_hyprland_logo = true;
|
||||||
|
middle_click_paste = false;
|
||||||
|
};
|
||||||
|
|
||||||
|
xwayland = {
|
||||||
|
force_zero_scaling = 1;
|
||||||
|
};
|
||||||
|
|
||||||
|
quirks = {
|
||||||
|
prefer_hdr = 1;
|
||||||
|
};
|
||||||
|
|
||||||
|
windowrule = [
|
||||||
|
# smart gaps
|
||||||
|
"border_size 0, match:float 0, match:workspace w[tv1]"
|
||||||
|
"rounding 0, match:float 0, match:workspace w[tv1]"
|
||||||
|
"border_size 0, match:float 0, match:workspace f[1]"
|
||||||
|
"rounding 0, match:float 0, match:workspace f[1]"
|
||||||
|
];
|
||||||
|
|
||||||
|
bind = [
|
||||||
|
"$mainMod, V, exec, cliphist list | hyprlauncher -m | cliphist decode | wl-copy"
|
||||||
|
"$mainMod ALT_L, V, exec, cliphist wipe && notify-send \"Clipboard\" \"Clipboard cleared!\""
|
||||||
|
"$mainMod L_SHIFT ctrl, l, exec, hyprlock"
|
||||||
|
"$mainMod L_SHIFT ctrl, r, exec, openrgb -c black && systemctl reboot"
|
||||||
|
"$mainMod L_SHIFT ctrl, p, exec, openrgb -c black && systemctl poweroff"
|
||||||
|
"$mainMod L_SHIFT ctrl, s, exec, openrgb -c black && pidof hyprlock || sleep 1 && systemctl sleep"
|
||||||
|
"$mainMod L_SHIFT ctrl, m, exec, uwsm stop"
|
||||||
|
];
|
||||||
|
|
||||||
|
bindt = [
|
||||||
|
", PRINT, exec, ${pkgs.writeShellScript "screenshot-region" ''
|
||||||
|
MONITOR=$(hyprctl monitors -j | ${jq} -r '.[] | select(.focused == true) | .name')
|
||||||
|
${grim} -o "$MONITOR" - | ${satty} -f -
|
||||||
|
''}"
|
||||||
|
|
||||||
|
"$mainMod, PRINT, exec, ${pkgs.writeShellScript "screenshot-fullscreen" ''
|
||||||
|
target_path="$HOME/${userConfig.pathConfig.screenshot}/$(date +'%d-%m-%Y_%H-%M-%S').png"
|
||||||
|
mkdir -p "$(dirname "$target_path")"
|
||||||
|
|
||||||
|
MONITOR=$(hyprctl monitors -j | ${jq} -r '.[] | select(.focused == true) | .name')
|
||||||
|
|
||||||
|
${grim} -o "$MONITOR" "$target_path"
|
||||||
|
${wl_copy} < "$target_path"
|
||||||
|
${notify_send} -i "$target_path" -u low -a "Screenshot" "Screenshot fullscreen" "Saved and copied"
|
||||||
|
''}"
|
||||||
|
|
||||||
|
"alt_l, PRINT, exec, ${pkgs.writeShellScript "screenshot-window" ''
|
||||||
|
target_path="$HOME/${userConfig.pathConfig.screenshot}/$(date +'%d-%m-%Y_%H-%M-%S').png"
|
||||||
|
mkdir -p "$(dirname "$target_path")"
|
||||||
|
|
||||||
|
GEOMETRY=$(hyprctl activewindow -j | ${jq} -r '"\(.at[0]),\(.at[1]) \(.size[0])x\(.size[1])"')
|
||||||
|
|
||||||
|
${grim} -g "$GEOMETRY" "$target_path"
|
||||||
|
${wl_copy} < "$target_path"
|
||||||
|
${notify_send} -i "$target_path" -u low -a "Screenshot" "Screenshot window" "Saved and copied"
|
||||||
|
''}"
|
||||||
|
|
||||||
|
", PAUSE, exec, ${playerctl} play-pause"
|
||||||
|
"$mainMod, PAUSE, exec, ${playerctl} play-pause --player spotify"
|
||||||
|
];
|
||||||
|
};
|
||||||
|
};
|
||||||
|
}
|
||||||
89
modules/hypr/hyprland/hardware.nix
Normal file
89
modules/hypr/hyprland/hardware.nix
Normal file
@@ -0,0 +1,89 @@
|
|||||||
|
{ ... }:
|
||||||
|
|
||||||
|
{
|
||||||
|
wayland.windowManager.hyprland = {
|
||||||
|
settings = {
|
||||||
|
input = {
|
||||||
|
kb_layout = "pl";
|
||||||
|
kb_variant = "";
|
||||||
|
kb_model = "";
|
||||||
|
kb_options = "caps:escape_shifted_capslock";
|
||||||
|
kb_rules = "";
|
||||||
|
follow_mouse = 1;
|
||||||
|
left_handed = false;
|
||||||
|
sensitivity = 0;
|
||||||
|
touchpad = {
|
||||||
|
natural_scroll = true;
|
||||||
|
};
|
||||||
|
};
|
||||||
|
|
||||||
|
# mouse has super high dpi so lover the sensitivity!
|
||||||
|
device = {
|
||||||
|
name = "corsair-corsair-m75-gaming-mouse";
|
||||||
|
sensitivity = -0.5;
|
||||||
|
};
|
||||||
|
|
||||||
|
cursor = {
|
||||||
|
no_hardware_cursors = true;
|
||||||
|
inactive_timeout = 5;
|
||||||
|
warp_on_change_workspace = 1;
|
||||||
|
zoom_factor = 1.0;
|
||||||
|
hide_on_key_press = 1;
|
||||||
|
};
|
||||||
|
|
||||||
|
bindel = [
|
||||||
|
",XF86MonBrightnessDown, exec, hyprctl hyprsunset gamma -10"
|
||||||
|
",XF86MonBrightnessUp, exec, hyprctl hyprsunset gamma +10"
|
||||||
|
", XF86AudioRaiseVolume, exec, wpctl set-volume @DEFAULT_AUDIO_SINK@ 5%+ && ~/.local/bin/wp-vol.sh && paplay /usr/share/sounds/freedesktop/stereo/bell.oga"
|
||||||
|
", XF86AudioLowerVolume, exec, wpctl set-volume @DEFAULT_AUDIO_SINK@ 5%- && ~/.local/bin/wp-vol.sh && paplay /usr/share/sounds/freedesktop/stereo/bell.oga"
|
||||||
|
", XF86AudioMicMute, exec, wpctl set-mute @DEFAULT_SOURCE@ toggle"
|
||||||
|
];
|
||||||
|
};
|
||||||
|
|
||||||
|
extraConfig =
|
||||||
|
#hyprlang
|
||||||
|
''
|
||||||
|
monitorv2 {
|
||||||
|
output = DP-1
|
||||||
|
mode = 2560x1440@180.06
|
||||||
|
position = 0x0
|
||||||
|
scale = 1
|
||||||
|
vrr = 1
|
||||||
|
supports_wide_color = 1
|
||||||
|
bitdepth = 10
|
||||||
|
sdr_min_luminance = 0.005
|
||||||
|
sdr_max_luminance = 220
|
||||||
|
cm = hdr
|
||||||
|
supports_hdr = 1
|
||||||
|
}
|
||||||
|
|
||||||
|
monitorv2 {
|
||||||
|
output = DP-2
|
||||||
|
mode = 1920x1080@144
|
||||||
|
position = auto-left
|
||||||
|
vrr = 1
|
||||||
|
scale = 1.0
|
||||||
|
}
|
||||||
|
|
||||||
|
monitorv2 {
|
||||||
|
output = HDMI-A-2
|
||||||
|
mode = highres
|
||||||
|
position = auto-up
|
||||||
|
scale = 1
|
||||||
|
}
|
||||||
|
# for laptop
|
||||||
|
monitorv2 {
|
||||||
|
output = eDP-1
|
||||||
|
mode = highres
|
||||||
|
position = 0x0
|
||||||
|
scale = 1
|
||||||
|
}
|
||||||
|
|
||||||
|
monitorv2 {
|
||||||
|
output =
|
||||||
|
position = auto-right
|
||||||
|
scale = 1
|
||||||
|
}
|
||||||
|
'';
|
||||||
|
};
|
||||||
|
}
|
||||||
78
modules/hypr/hyprland/layouts.nix
Normal file
78
modules/hypr/hyprland/layouts.nix
Normal file
@@ -0,0 +1,78 @@
|
|||||||
|
{
|
||||||
|
...
|
||||||
|
}:
|
||||||
|
{
|
||||||
|
wayland.windowManager.hyprland.settings = {
|
||||||
|
|
||||||
|
dwindle = {
|
||||||
|
preserve_split = true;
|
||||||
|
};
|
||||||
|
|
||||||
|
master = {
|
||||||
|
new_status = "slave";
|
||||||
|
allow_small_split = true;
|
||||||
|
orientation = "left";
|
||||||
|
};
|
||||||
|
|
||||||
|
bind = [
|
||||||
|
"$mainMod, h, movefocus, l"
|
||||||
|
"$mainMod, l, movefocus, r"
|
||||||
|
"$mainMod, k, movefocus, u"
|
||||||
|
"$mainMod, j, movefocus, d"
|
||||||
|
"$mainMod, mouse_down, workspace, e+1"
|
||||||
|
"$mainMod, mouse_up, workspace, e-1"
|
||||||
|
"$mainMod L_SHIFT, right, exec, hyprctl dispatch movecurrentworkspacetomonitor +1"
|
||||||
|
"$mainMod L_SHIFT, left, exec, hyprctl dispatch movecurrentworkspacetomonitor -1"
|
||||||
|
# workspace management
|
||||||
|
"$mainMod, 1, workspace, 1"
|
||||||
|
"$mainMod, 2, workspace, 2"
|
||||||
|
"$mainMod, 3, workspace, 3"
|
||||||
|
"$mainMod, 4, workspace, 4"
|
||||||
|
"$mainMod, 5, workspace, 5"
|
||||||
|
"$mainMod, 6, workspace, 6"
|
||||||
|
"$mainMod, 7, workspace, 7"
|
||||||
|
"$mainMod, 8, workspace, 8"
|
||||||
|
"$mainMod, 9, workspace, 9"
|
||||||
|
"$mainMod, 0, workspace, 10"
|
||||||
|
# window management
|
||||||
|
"$mainMod SHIFT, 1, movetoworkspace, 1"
|
||||||
|
"$mainMod SHIFT, 2, movetoworkspace, 2"
|
||||||
|
"$mainMod SHIFT, 3, movetoworkspace, 3"
|
||||||
|
"$mainMod SHIFT, 4, movetoworkspace, 4"
|
||||||
|
"$mainMod SHIFT, 5, movetoworkspace, 5"
|
||||||
|
"$mainMod SHIFT, 6, movetoworkspace, 6"
|
||||||
|
"$mainMod SHIFT, 7, movetoworkspace, 7"
|
||||||
|
"$mainMod SHIFT, 8, movetoworkspace, 8"
|
||||||
|
"$mainMod SHIFT, 9, movetoworkspace, 9"
|
||||||
|
"$mainMod SHIFT, 0, movetoworkspace, 10"
|
||||||
|
# special workspace
|
||||||
|
"$mainMod, TAB, togglespecialworkspace, magic"
|
||||||
|
"$mainMod SHIFT, TAB, movetoworkspace, special:magic"
|
||||||
|
# layout
|
||||||
|
"$mainMod, S, layoutmsg, swapwithmaster"
|
||||||
|
"$mainMod, n, layoutmsg, swapnext"
|
||||||
|
"$mainMod, p, layoutmsg, swapprev"
|
||||||
|
];
|
||||||
|
|
||||||
|
binde = [
|
||||||
|
"$mainMod alt, equal, exec, hyprctl -q keyword cursor:zoom_factor $(hyprctl getoption cursor:zoom_factor | awk '/^float.*/ {print $2 * 1.1}')"
|
||||||
|
"$mainMod alt, minus, exec, hyprctl -q keyword cursor:zoom_factor $(hyprctl getoption cursor:zoom_factor | awk '/^float.*/ {print $2 * 0.9}')"
|
||||||
|
"$mainMod alt, 0, exec, hyprctl -q keyword cursor:zoom_factor 1"
|
||||||
|
"$mainMod L_SHIFT, l, resizeactive, 10 0"
|
||||||
|
"$mainMod L_SHIFT, h, resizeactive, -10 0"
|
||||||
|
"$mainMod L_SHIFT, k, resizeactive, 0 -10"
|
||||||
|
"$mainMod L_SHIFT, j, resizeactive, 0 10"
|
||||||
|
];
|
||||||
|
|
||||||
|
bindd = [
|
||||||
|
"$mainMod, F, Make app fullscreen, fullscreen"
|
||||||
|
"$mainMod, T, Toggle floating, togglefloating"
|
||||||
|
"$mainMod, Q, Kill active window, killactive"
|
||||||
|
];
|
||||||
|
|
||||||
|
bindm = [
|
||||||
|
"$mainMod, mouse:272, movewindow"
|
||||||
|
"$mainMod, mouse:273, resizewindow"
|
||||||
|
];
|
||||||
|
};
|
||||||
|
}
|
||||||
58
modules/hypr/hyprland/looks.nix
Normal file
58
modules/hypr/hyprland/looks.nix
Normal file
@@ -0,0 +1,58 @@
|
|||||||
|
{
|
||||||
|
userConfig,
|
||||||
|
...
|
||||||
|
}:
|
||||||
|
{
|
||||||
|
wayland.windowManager.hyprland = {
|
||||||
|
settings = {
|
||||||
|
|
||||||
|
animations = {
|
||||||
|
enabled = userConfig.animations;
|
||||||
|
bezier = [
|
||||||
|
"easeOutQuint,0.23,1,0.32,1"
|
||||||
|
"easeInOutCubic,0.65,0.05,0.36,1"
|
||||||
|
"linear,0,0,1,1"
|
||||||
|
"almostLinear,0.5,0.5,0.75,1.0"
|
||||||
|
"quick,0.15,0,0.1,1"
|
||||||
|
];
|
||||||
|
animation = [
|
||||||
|
"global, 1, 7, default"
|
||||||
|
"border, 1, 3.39, easeOutQuint"
|
||||||
|
"windows, 1, 2.79, easeOutQuint"
|
||||||
|
"windowsIn, 1, 2.1, easeOutQuint, popin 87%"
|
||||||
|
"windowsOut, 1, 1, linear, popin 87%"
|
||||||
|
"fadeIn, 1, 1.4, almostLinear"
|
||||||
|
"fadeOut, 1, 1.2, almostLinear"
|
||||||
|
"fade, 1, 3.03, quick"
|
||||||
|
"layers, 1, 2, easeOutQuint"
|
||||||
|
"layersIn, 1, 2, easeOutQuint, fade"
|
||||||
|
"layersOut, 1, 1, linear, fade"
|
||||||
|
"fadeLayersIn, 1, 1.4, almostLinear"
|
||||||
|
"fadeLayersOut, 1, 1.1, almostLinear"
|
||||||
|
"workspaces, 1, 1.4, quick, slidevert"
|
||||||
|
"workspacesIn, 1, 0.5, quick, slidevert"
|
||||||
|
"workspacesOut, 1, 0.5, quick, slidevert"
|
||||||
|
];
|
||||||
|
};
|
||||||
|
|
||||||
|
decoration = {
|
||||||
|
rounding = 1;
|
||||||
|
rounding_power = 2;
|
||||||
|
active_opacity = 1.0;
|
||||||
|
inactive_opacity = 1.0;
|
||||||
|
shadow = {
|
||||||
|
enabled = true;
|
||||||
|
range = 1;
|
||||||
|
render_power = 1;
|
||||||
|
color = "$overlay0";
|
||||||
|
};
|
||||||
|
blur = {
|
||||||
|
enabled = true;
|
||||||
|
size = 1;
|
||||||
|
passes = 1;
|
||||||
|
vibrancy = 0.1696;
|
||||||
|
};
|
||||||
|
};
|
||||||
|
};
|
||||||
|
};
|
||||||
|
}
|
||||||
20
modules/hypr/hyprland/workspaces.nix
Normal file
20
modules/hypr/hyprland/workspaces.nix
Normal file
@@ -0,0 +1,20 @@
|
|||||||
|
{ ... }:
|
||||||
|
{
|
||||||
|
|
||||||
|
wayland.windowManager.hyprland.settings = {
|
||||||
|
workspace = [
|
||||||
|
"1, monitor:DP-2"
|
||||||
|
"1, layout: dwindle"
|
||||||
|
"2, monitor:DP-1"
|
||||||
|
"3, monitor:DP-1"
|
||||||
|
"4, monitor:DP-1"
|
||||||
|
"5, monitor:DP-1"
|
||||||
|
"6, monitor:DP-1"
|
||||||
|
"7, monitor:HDMI-A-2"
|
||||||
|
"9, monitor:DP-2"
|
||||||
|
"10, monitor:DP-2"
|
||||||
|
"w[tv1], gapsout:0, gapsin:0"
|
||||||
|
"f[1], gapsout:0, gapsin:0"
|
||||||
|
];
|
||||||
|
};
|
||||||
|
}
|
||||||
@@ -1,9 +1,9 @@
|
|||||||
{ isNixOS, lib, ... }:
|
{ userConfig, lib, ... }:
|
||||||
|
|
||||||
{
|
{
|
||||||
services.hyprlauncher = {
|
services.hyprlauncher = {
|
||||||
enable = true;
|
enable = true;
|
||||||
package = lib.mkIf (!isNixOS) null;
|
package = lib.mkIf (!userConfig.isNixOS) null;
|
||||||
|
|
||||||
settings = {
|
settings = {
|
||||||
cache.enabled = true;
|
cache.enabled = true;
|
||||||
|
|||||||
@@ -1,9 +1,9 @@
|
|||||||
{ isNixOS, lib, ... }:
|
{ userConfig, lib, ... }:
|
||||||
|
|
||||||
{
|
{
|
||||||
programs.hyprlock = {
|
programs.hyprlock = {
|
||||||
enable = true;
|
enable = true;
|
||||||
package = lib.mkIf (!isNixOS) null;
|
package = lib.mkIf (!userConfig.isNixOS) null;
|
||||||
|
|
||||||
settings = {
|
settings = {
|
||||||
"$font" = "Monospace";
|
"$font" = "Monospace";
|
||||||
|
|||||||
@@ -1,5 +1,5 @@
|
|||||||
{
|
{
|
||||||
isNixOS,
|
userConfig,
|
||||||
pkgs,
|
pkgs,
|
||||||
...
|
...
|
||||||
}:
|
}:
|
||||||
@@ -8,7 +8,7 @@
|
|||||||
services.hyprsunset = {
|
services.hyprsunset = {
|
||||||
enable = true;
|
enable = true;
|
||||||
package =
|
package =
|
||||||
if isNixOS then
|
if userConfig.isNixOS then
|
||||||
pkgs.hyprsunset
|
pkgs.hyprsunset
|
||||||
else
|
else
|
||||||
(pkgs.writeShellScriptBin "hyprsunset" "exec /usr/bin/hyprsunset \"$@\"");
|
(pkgs.writeShellScriptBin "hyprsunset" "exec /usr/bin/hyprsunset \"$@\"");
|
||||||
|
|||||||
@@ -1,7 +1,26 @@
|
|||||||
{ pkgs, ... }:
|
{
|
||||||
|
pkgs,
|
||||||
|
pkgs-stable,
|
||||||
|
lib,
|
||||||
|
userConfig,
|
||||||
|
...
|
||||||
|
}:
|
||||||
|
|
||||||
|
let
|
||||||
|
rstudio-with-packages = pkgs-stable.rstudioWrapper.override {
|
||||||
|
# we use stable, because unstable is broken rn
|
||||||
|
packages = with pkgs-stable.rPackages; [
|
||||||
|
# additional packages for rstudio here
|
||||||
|
ggplot2
|
||||||
|
];
|
||||||
|
};
|
||||||
|
in
|
||||||
|
|
||||||
{
|
{
|
||||||
home.packages = with pkgs; [
|
home.packages =
|
||||||
|
with pkgs;
|
||||||
|
[
|
||||||
|
# Cli stuff
|
||||||
libnotify
|
libnotify
|
||||||
cliphist
|
cliphist
|
||||||
gh
|
gh
|
||||||
@@ -19,5 +38,37 @@
|
|||||||
slurp
|
slurp
|
||||||
bc
|
bc
|
||||||
nh
|
nh
|
||||||
|
runc
|
||||||
|
nixfmt
|
||||||
|
zathura
|
||||||
|
zathuraPkgs.zathura_pdf_mupdf
|
||||||
|
|
||||||
|
# Music
|
||||||
|
spotify
|
||||||
|
|
||||||
|
# Gui stuff
|
||||||
|
homebank
|
||||||
|
gimp
|
||||||
|
rstudio-with-packages
|
||||||
|
feh
|
||||||
|
libreoffice
|
||||||
|
|
||||||
|
# Messaging
|
||||||
|
vesktop
|
||||||
|
signal-desktop
|
||||||
|
|
||||||
|
]
|
||||||
|
++ lib.optionals userConfig.gaming [
|
||||||
|
mangohud
|
||||||
|
prismlauncher
|
||||||
|
heroic
|
||||||
|
# lutris
|
||||||
|
pkgs-stable.rpcs3
|
||||||
|
pcsx2
|
||||||
];
|
];
|
||||||
|
|
||||||
|
xdg.configFile."containers/containers.conf".text = ''
|
||||||
|
[engine]
|
||||||
|
runtime = "runc"
|
||||||
|
'';
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -1,4 +1,4 @@
|
|||||||
{ ... }:
|
{ userConfig, ... }:
|
||||||
|
|
||||||
let
|
let
|
||||||
browserFallback = [
|
browserFallback = [
|
||||||
@@ -7,6 +7,8 @@ let
|
|||||||
"brave.desktop"
|
"brave.desktop"
|
||||||
"chromium.desktop"
|
"chromium.desktop"
|
||||||
];
|
];
|
||||||
|
|
||||||
|
imageViewer = "feh.desktop";
|
||||||
in
|
in
|
||||||
{
|
{
|
||||||
xdg.portal.config = {
|
xdg.portal.config = {
|
||||||
@@ -38,9 +40,12 @@ in
|
|||||||
"audio/mpeg" = [ "mpv.desktop" ];
|
"audio/mpeg" = [ "mpv.desktop" ];
|
||||||
|
|
||||||
"image/*" = [ "org.kde.koko.desktop" ];
|
"image/*" = [ "org.kde.koko.desktop" ];
|
||||||
"image/png" = [ "feh.desktop" ];
|
"image/png" = [ imageViewer ];
|
||||||
"image/bmp" = [ "feh.desktop" ];
|
"image/jpeg" = [ imageViewer ];
|
||||||
"image/svg+xml" = [ "feh.desktop" ];
|
"image/jpg" = [ imageViewer ];
|
||||||
|
"image/bmp" = [ imageViewer ];
|
||||||
|
"image/svg+xml" = [ imageViewer ];
|
||||||
|
"image/webp" = [ imageViewer ];
|
||||||
|
|
||||||
"x-scheme-handler/discord" = [ "vesktop.desktop" ];
|
"x-scheme-handler/discord" = [ "vesktop.desktop" ];
|
||||||
"x-scheme-handler/sgnl" = [ "signal-desktop.desktop" ];
|
"x-scheme-handler/sgnl" = [ "signal-desktop.desktop" ];
|
||||||
@@ -52,12 +57,14 @@ in
|
|||||||
enable = true;
|
enable = true;
|
||||||
createDirectories = true;
|
createDirectories = true;
|
||||||
desktop = null;
|
desktop = null;
|
||||||
documents = "$HOME/Dokumenty";
|
documents = baseNameOf userConfig.pathConfig.documents;
|
||||||
download = "$HOME/Pobrane";
|
download = baseNameOf userConfig.pathConfig.downloads;
|
||||||
music = null;
|
music = null;
|
||||||
pictures = "$HOME/Obrazy";
|
pictures = baseNameOf userConfig.pathConfig.pictures;
|
||||||
videos = "$HOME/Video";
|
videos = baseNameOf userConfig.pathConfig.video;
|
||||||
|
projects = baseNameOf userConfig.pathConfig.projects;
|
||||||
templates = null;
|
templates = null;
|
||||||
publicShare = null;
|
publicShare = null;
|
||||||
|
setSessionVariables = true;
|
||||||
};
|
};
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -1,5 +1,5 @@
|
|||||||
#!/usr/bin/env bash
|
#!/usr/bin/env bash
|
||||||
set -e
|
set -e
|
||||||
|
|
||||||
rsync -avh --no-links --delete --exclude=.* --exclude=dyski /home/szymon/ /mnt/backup/home/szymon/
|
rsync -avh --no-links --delete --exclude=.* --exclude=dyski /home/szymon/ /mnt/uwu_backup/home/szymon/
|
||||||
rsync -avh --no-links --delete --exclude=.* --exclude=dyski /home/szymon/ /mnt/backup_wd/home/szymon/
|
rsync -avh --no-links --delete --exclude=.* --exclude=dyski /home/szymon/ /mnt/wd_backup/home/szymon/
|
||||||
|
|||||||
Reference in New Issue
Block a user