mirror of
https://github.com/szymon-jozef/amazing-dotfiles.git
synced 2026-09-07 12:10:45 +02:00
Compare commits
154 Commits
laptop
...
dd77199323
| Author | SHA1 | Date | |
|---|---|---|---|
| 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 |
637
flake.lock
generated
637
flake.lock
generated
@@ -1,48 +1,17 @@
|
||||
{
|
||||
"nodes": {
|
||||
"aquamarine": {
|
||||
"catppuccin": {
|
||||
"inputs": {
|
||||
"hyprutils": [
|
||||
"hyprland",
|
||||
"hyprutils"
|
||||
],
|
||||
"hyprwayland-scanner": [
|
||||
"hyprland",
|
||||
"hyprwayland-scanner"
|
||||
],
|
||||
"nixpkgs": [
|
||||
"hyprland",
|
||||
"nixpkgs"
|
||||
],
|
||||
"systems": [
|
||||
"hyprland",
|
||||
"systems"
|
||||
]
|
||||
},
|
||||
"locked": {
|
||||
"lastModified": 1771610171,
|
||||
"narHash": "sha256-+DeInuhbm6a6PpHDNUS7pozDouq2+8xSDefoNaZLW0E=",
|
||||
"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=",
|
||||
"lastModified": 1777734189,
|
||||
"narHash": "sha256-kbIhdhDPaTP6gxAPkcRYeB+cqPFDpTM/bnw+m+26vkI=",
|
||||
"owner": "catppuccin",
|
||||
"repo": "nix",
|
||||
"rev": "b0c65edbf31c2ad3d84438d82c2310f2c28373f3",
|
||||
"rev": "e68cf5deaf1a7afed2e548835dba2ae99f5a3ccb",
|
||||
"type": "github"
|
||||
},
|
||||
"original": {
|
||||
@@ -51,22 +20,6 @@
|
||||
"type": "github"
|
||||
}
|
||||
},
|
||||
"flake-compat": {
|
||||
"flake": false,
|
||||
"locked": {
|
||||
"lastModified": 1767039857,
|
||||
"narHash": "sha256-vNpUSpF5Nuw8xvDLj2KCwwksIbjua2LZCqhV1LNRDns=",
|
||||
"owner": "NixOS",
|
||||
"repo": "flake-compat",
|
||||
"rev": "5edf11c44bc78a0d334f6334cdaf7d60d732daab",
|
||||
"type": "github"
|
||||
},
|
||||
"original": {
|
||||
"owner": "NixOS",
|
||||
"repo": "flake-compat",
|
||||
"type": "github"
|
||||
}
|
||||
},
|
||||
"flake-parts": {
|
||||
"inputs": {
|
||||
"nixpkgs-lib": [
|
||||
@@ -75,11 +28,11 @@
|
||||
]
|
||||
},
|
||||
"locked": {
|
||||
"lastModified": 1769996383,
|
||||
"narHash": "sha256-AnYjnFWgS49RlqX7LrC4uA+sCCDBj0Ry/WOJ5XWAsa0=",
|
||||
"lastModified": 1775087534,
|
||||
"narHash": "sha256-91qqW8lhL7TLwgQWijoGBbiD4t7/q75KTi8NxjVmSmA=",
|
||||
"owner": "hercules-ci",
|
||||
"repo": "flake-parts",
|
||||
"rev": "57928607ea566b5db3ad13af0e57e921e6b12381",
|
||||
"rev": "3107b77cd68437b9a76194f0f7f9c55f2329ca5b",
|
||||
"type": "github"
|
||||
},
|
||||
"original": {
|
||||
@@ -88,25 +41,21 @@
|
||||
"type": "github"
|
||||
}
|
||||
},
|
||||
"gitignore": {
|
||||
"flake-utils": {
|
||||
"inputs": {
|
||||
"nixpkgs": [
|
||||
"hyprland",
|
||||
"pre-commit-hooks",
|
||||
"nixpkgs"
|
||||
]
|
||||
"systems": "systems_2"
|
||||
},
|
||||
"locked": {
|
||||
"lastModified": 1709087332,
|
||||
"narHash": "sha256-HG2cCnktfHsKV0s4XW83gU3F57gaTljL9KNSuG6bnQs=",
|
||||
"owner": "hercules-ci",
|
||||
"repo": "gitignore.nix",
|
||||
"rev": "637db329424fd7e46cf4185293b9cc8c88c95394",
|
||||
"lastModified": 1731533236,
|
||||
"narHash": "sha256-l0KFg5HjrsfsO/JpG+r7fRrqm12kzFHyUHqHCVpMMbI=",
|
||||
"owner": "numtide",
|
||||
"repo": "flake-utils",
|
||||
"rev": "11707dc2f618dd54ca8739b309ec4fc024de578b",
|
||||
"type": "github"
|
||||
},
|
||||
"original": {
|
||||
"owner": "hercules-ci",
|
||||
"repo": "gitignore.nix",
|
||||
"owner": "numtide",
|
||||
"repo": "flake-utils",
|
||||
"type": "github"
|
||||
}
|
||||
},
|
||||
@@ -117,11 +66,11 @@
|
||||
]
|
||||
},
|
||||
"locked": {
|
||||
"lastModified": 1771851181,
|
||||
"narHash": "sha256-gFgE6mGUftwseV3DUENMb0k0EiHd739lZexPo5O/sdQ=",
|
||||
"lastModified": 1777815398,
|
||||
"narHash": "sha256-MrIhEoqXc4YsHEUfH4rDU/K09XnWcKntNhCjs7n7zi8=",
|
||||
"owner": "nix-community",
|
||||
"repo": "home-manager",
|
||||
"rev": "9a4b494b1aa1b93d8edf167f46dc8e0c0011280c",
|
||||
"rev": "b5e86c1b19f178a8ee10f7cb747325e02e3d3991",
|
||||
"type": "github"
|
||||
},
|
||||
"original": {
|
||||
@@ -130,364 +79,84 @@
|
||||
"type": "github"
|
||||
}
|
||||
},
|
||||
"hyprcursor": {
|
||||
"home-manager_2": {
|
||||
"inputs": {
|
||||
"hyprlang": [
|
||||
"hyprland",
|
||||
"hyprlang"
|
||||
],
|
||||
"nixpkgs": [
|
||||
"hyprland",
|
||||
"zen-browser",
|
||||
"nixpkgs"
|
||||
],
|
||||
"systems": [
|
||||
"hyprland",
|
||||
"systems"
|
||||
]
|
||||
},
|
||||
"locked": {
|
||||
"lastModified": 1753964049,
|
||||
"narHash": "sha256-lIqabfBY7z/OANxHoPeIrDJrFyYy9jAM4GQLzZ2feCM=",
|
||||
"owner": "hyprwm",
|
||||
"repo": "hyprcursor",
|
||||
"rev": "44e91d467bdad8dcf8bbd2ac7cf49972540980a5",
|
||||
"lastModified": 1776184304,
|
||||
"narHash": "sha256-No6QGBmIv5ChiwKCcbkxjdEQ/RO2ZS1gD7SFy6EZ7rc=",
|
||||
"owner": "nix-community",
|
||||
"repo": "home-manager",
|
||||
"rev": "3c7524c68348ef79ce48308e0978611a050089b2",
|
||||
"type": "github"
|
||||
},
|
||||
"original": {
|
||||
"owner": "hyprwm",
|
||||
"repo": "hyprcursor",
|
||||
"owner": "nix-community",
|
||||
"repo": "home-manager",
|
||||
"type": "github"
|
||||
}
|
||||
},
|
||||
"hyprgraphics": {
|
||||
"hyprcursor-phinger": {
|
||||
"inputs": {
|
||||
"hyprutils": [
|
||||
"hyprland",
|
||||
"hyprutils"
|
||||
],
|
||||
"nixpkgs": [
|
||||
"hyprland",
|
||||
"nixpkgs"
|
||||
],
|
||||
"systems": [
|
||||
"hyprland",
|
||||
"systems"
|
||||
]
|
||||
"nixpkgs": "nixpkgs"
|
||||
},
|
||||
"locked": {
|
||||
"lastModified": 1770511807,
|
||||
"narHash": "sha256-suKmSbSk34uPOJDTg/GbPrKEJutzK08vj0VoTvAFBCA=",
|
||||
"owner": "hyprwm",
|
||||
"repo": "hyprgraphics",
|
||||
"rev": "7c75487edd43a71b61adb01cae8326d277aab683",
|
||||
"lastModified": 1763845612,
|
||||
"narHash": "sha256-78zH5GrYa35bEkzeVnl8uXFbZ/zsiSHayjxZlNt+Xe8=",
|
||||
"owner": "jappie3",
|
||||
"repo": "hyprcursor-phinger",
|
||||
"rev": "1207a845501a28e0e00d4a8e935ee0c9cab30650",
|
||||
"type": "github"
|
||||
},
|
||||
"original": {
|
||||
"owner": "hyprwm",
|
||||
"repo": "hyprgraphics",
|
||||
"type": "github"
|
||||
}
|
||||
},
|
||||
"hyprland": {
|
||||
"inputs": {
|
||||
"aquamarine": "aquamarine",
|
||||
"hyprcursor": "hyprcursor",
|
||||
"hyprgraphics": "hyprgraphics",
|
||||
"hyprland-guiutils": "hyprland-guiutils",
|
||||
"hyprland-protocols": "hyprland-protocols",
|
||||
"hyprlang": "hyprlang",
|
||||
"hyprutils": "hyprutils",
|
||||
"hyprwayland-scanner": "hyprwayland-scanner",
|
||||
"hyprwire": "hyprwire",
|
||||
"nixpkgs": "nixpkgs_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",
|
||||
"owner": "jappie3",
|
||||
"repo": "hyprcursor-phinger",
|
||||
"type": "github"
|
||||
}
|
||||
},
|
||||
"nixpkgs": {
|
||||
"locked": {
|
||||
"lastModified": 1771369470,
|
||||
"narHash": "sha256-0NBlEBKkN3lufyvFegY4TYv5mCNHbi5OmBDrzihbBMQ=",
|
||||
"owner": "NixOS",
|
||||
"lastModified": 1762977756,
|
||||
"narHash": "sha256-4PqRErxfe+2toFJFgcRKZ0UI9NSIOJa+7RXVtBhy4KE=",
|
||||
"owner": "nixos",
|
||||
"repo": "nixpkgs",
|
||||
"rev": "0182a361324364ae3f436a63005877674cf45efb",
|
||||
"rev": "c5ae371f1a6a7fd27823bc500d9390b38c05fa55",
|
||||
"type": "github"
|
||||
},
|
||||
"original": {
|
||||
"owner": "NixOS",
|
||||
"owner": "nixos",
|
||||
"ref": "nixos-unstable",
|
||||
"repo": "nixpkgs",
|
||||
"type": "github"
|
||||
}
|
||||
},
|
||||
"nixpkgs-stable": {
|
||||
"locked": {
|
||||
"lastModified": 1777673416,
|
||||
"narHash": "sha256-5c2POKPOjU40Kh0MirOdScBLG0bu9TAuPYAtPRNZMBs=",
|
||||
"owner": "nixos",
|
||||
"repo": "nixpkgs",
|
||||
"rev": "26ef669cffa904b6f6832ab57b77892a37c1a671",
|
||||
"type": "github"
|
||||
},
|
||||
"original": {
|
||||
"owner": "nixos",
|
||||
"ref": "nixos-25.11",
|
||||
"repo": "nixpkgs",
|
||||
"type": "github"
|
||||
}
|
||||
},
|
||||
"nixpkgs_2": {
|
||||
"locked": {
|
||||
"lastModified": 1771848320,
|
||||
"narHash": "sha256-0MAd+0mun3K/Ns8JATeHT1sX28faLII5hVLq0L3BdZU=",
|
||||
"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=",
|
||||
"lastModified": 1777578337,
|
||||
"narHash": "sha256-Ad49moKWeXtKBJNy2ebiTQUEgdLyvGmTeykAQ9xM+Z4=",
|
||||
"owner": "nixos",
|
||||
"repo": "nixpkgs",
|
||||
"rev": "0182a361324364ae3f436a63005877674cf45efb",
|
||||
"rev": "15f4ee454b1dce334612fa6843b3e05cf546efab",
|
||||
"type": "github"
|
||||
},
|
||||
"original": {
|
||||
@@ -503,14 +172,14 @@
|
||||
"nixpkgs": [
|
||||
"nixpkgs"
|
||||
],
|
||||
"systems": "systems_2"
|
||||
"systems": "systems"
|
||||
},
|
||||
"locked": {
|
||||
"lastModified": 1771135771,
|
||||
"narHash": "sha256-wyvBIhDuyCRyjB3yPg77qoyxrlgQtBR1rVW3c9knV3E=",
|
||||
"lastModified": 1777236345,
|
||||
"narHash": "sha256-ALOqlq7bE30lsX4rA76hXeQ2aLLEpb44hS+D1+jWS88=",
|
||||
"owner": "nix-community",
|
||||
"repo": "nixvim",
|
||||
"rev": "ed0424f0b08d303a7348f52f7850ad1b2704f9ba",
|
||||
"rev": "a67d9cd6ff725a763afe88727aac73208ded3bf4",
|
||||
"type": "github"
|
||||
},
|
||||
"original": {
|
||||
@@ -519,26 +188,53 @@
|
||||
"type": "github"
|
||||
}
|
||||
},
|
||||
"pre-commit-hooks": {
|
||||
"pyproject-build-systems": {
|
||||
"inputs": {
|
||||
"flake-compat": "flake-compat",
|
||||
"gitignore": "gitignore",
|
||||
"nixpkgs": [
|
||||
"hyprland",
|
||||
"zut-calendar",
|
||||
"nixpkgs"
|
||||
],
|
||||
"pyproject-nix": [
|
||||
"zut-calendar",
|
||||
"pyproject-nix"
|
||||
],
|
||||
"uv2nix": [
|
||||
"zut-calendar",
|
||||
"uv2nix"
|
||||
]
|
||||
},
|
||||
"locked": {
|
||||
"lastModified": 1771423342,
|
||||
"narHash": "sha256-7uXPiWB0YQ4HNaAqRvVndYL34FEp1ZTwVQHgZmyMtC8=",
|
||||
"owner": "pyproject-nix",
|
||||
"repo": "build-system-pkgs",
|
||||
"rev": "04e9c186e01f0830dad3739088070e4c551191a4",
|
||||
"type": "github"
|
||||
},
|
||||
"original": {
|
||||
"owner": "pyproject-nix",
|
||||
"repo": "build-system-pkgs",
|
||||
"type": "github"
|
||||
}
|
||||
},
|
||||
"pyproject-nix": {
|
||||
"inputs": {
|
||||
"nixpkgs": [
|
||||
"zut-calendar",
|
||||
"nixpkgs"
|
||||
]
|
||||
},
|
||||
"locked": {
|
||||
"lastModified": 1771858127,
|
||||
"narHash": "sha256-Gtre9YoYl3n25tJH2AoSdjuwcqij5CPxL3U3xysYD08=",
|
||||
"owner": "cachix",
|
||||
"repo": "git-hooks.nix",
|
||||
"rev": "49bbbfc218bf3856dfa631cead3b052d78248b83",
|
||||
"lastModified": 1771518446,
|
||||
"narHash": "sha256-nFJSfD89vWTu92KyuJWDoTQJuoDuddkJV3TlOl1cOic=",
|
||||
"owner": "pyproject-nix",
|
||||
"repo": "pyproject.nix",
|
||||
"rev": "eb204c6b3335698dec6c7fc1da0ebc3c6df05937",
|
||||
"type": "github"
|
||||
},
|
||||
"original": {
|
||||
"owner": "cachix",
|
||||
"repo": "git-hooks.nix",
|
||||
"owner": "pyproject-nix",
|
||||
"repo": "pyproject.nix",
|
||||
"type": "github"
|
||||
}
|
||||
},
|
||||
@@ -546,24 +242,28 @@
|
||||
"inputs": {
|
||||
"catppuccin": "catppuccin",
|
||||
"home-manager": "home-manager",
|
||||
"hyprland": "hyprland",
|
||||
"nixpkgs": "nixpkgs_3",
|
||||
"hyprcursor-phinger": "hyprcursor-phinger",
|
||||
"nixpkgs": "nixpkgs_2",
|
||||
"nixpkgs-stable": "nixpkgs-stable",
|
||||
"nixvim": "nixvim",
|
||||
"wallpapers": "wallpapers"
|
||||
"wallpapers": "wallpapers",
|
||||
"zen-browser": "zen-browser",
|
||||
"zut-calendar": "zut-calendar",
|
||||
"zutui": "zutui"
|
||||
}
|
||||
},
|
||||
"systems": {
|
||||
"locked": {
|
||||
"lastModified": 1689347949,
|
||||
"narHash": "sha256-12tWmuL2zgBgZkdoB6qXZsgJEH9LR3oUgpaQq2RbI80=",
|
||||
"lastModified": 1681028828,
|
||||
"narHash": "sha256-Vy1rq5AaRuLzOxct8nz4T6wlgyUR7zLU309k9mBC768=",
|
||||
"owner": "nix-systems",
|
||||
"repo": "default-linux",
|
||||
"rev": "31732fcf5e8fea42e59c2488ad31a0e651500f68",
|
||||
"repo": "default",
|
||||
"rev": "da67096a3b9bf56a91d16901293e51ba5b49a27e",
|
||||
"type": "github"
|
||||
},
|
||||
"original": {
|
||||
"owner": "nix-systems",
|
||||
"repo": "default-linux",
|
||||
"repo": "default",
|
||||
"type": "github"
|
||||
}
|
||||
},
|
||||
@@ -582,6 +282,31 @@
|
||||
"type": "github"
|
||||
}
|
||||
},
|
||||
"uv2nix": {
|
||||
"inputs": {
|
||||
"nixpkgs": [
|
||||
"zut-calendar",
|
||||
"nixpkgs"
|
||||
],
|
||||
"pyproject-nix": [
|
||||
"zut-calendar",
|
||||
"pyproject-nix"
|
||||
]
|
||||
},
|
||||
"locked": {
|
||||
"lastModified": 1772408201,
|
||||
"narHash": "sha256-3Va9Tq/tg9ZuCX+PFd9oPgwtBDQRjjh60cYKZjZDxNM=",
|
||||
"owner": "pyproject-nix",
|
||||
"repo": "uv2nix",
|
||||
"rev": "4bac9176117824d4550deeba9b86d9f96ac5d081",
|
||||
"type": "github"
|
||||
},
|
||||
"original": {
|
||||
"owner": "pyproject-nix",
|
||||
"repo": "uv2nix",
|
||||
"type": "github"
|
||||
}
|
||||
},
|
||||
"wallpapers": {
|
||||
"flake": false,
|
||||
"locked": {
|
||||
@@ -598,44 +323,68 @@
|
||||
"type": "github"
|
||||
}
|
||||
},
|
||||
"xdph": {
|
||||
"zen-browser": {
|
||||
"inputs": {
|
||||
"hyprland-protocols": [
|
||||
"hyprland",
|
||||
"hyprland-protocols"
|
||||
],
|
||||
"hyprlang": [
|
||||
"hyprland",
|
||||
"hyprlang"
|
||||
],
|
||||
"hyprutils": [
|
||||
"hyprland",
|
||||
"hyprutils"
|
||||
],
|
||||
"hyprwayland-scanner": [
|
||||
"hyprland",
|
||||
"hyprwayland-scanner"
|
||||
],
|
||||
"home-manager": "home-manager_2",
|
||||
"nixpkgs": [
|
||||
"hyprland",
|
||||
"nixpkgs"
|
||||
],
|
||||
"systems": [
|
||||
"hyprland",
|
||||
"systems"
|
||||
]
|
||||
},
|
||||
"locked": {
|
||||
"lastModified": 1761431178,
|
||||
"narHash": "sha256-xzjC1CV3+wpUQKNF+GnadnkeGUCJX+vgaWIZsnz9tzI=",
|
||||
"owner": "hyprwm",
|
||||
"repo": "xdg-desktop-portal-hyprland",
|
||||
"rev": "4b8801228ff958d028f588f0c2b911dbf32297f9",
|
||||
"lastModified": 1777564084,
|
||||
"narHash": "sha256-O9VRkxg+2j+sh+c73wi4VeIBECoqW2PlnCR9Qe1nQKA=",
|
||||
"owner": "0xc000022070",
|
||||
"repo": "zen-browser-flake",
|
||||
"rev": "d93443c0f6fdb3b179bed68856f322dba4842612",
|
||||
"type": "github"
|
||||
},
|
||||
"original": {
|
||||
"owner": "hyprwm",
|
||||
"repo": "xdg-desktop-portal-hyprland",
|
||||
"owner": "0xc000022070",
|
||||
"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": 1773515729,
|
||||
"narHash": "sha256-+TfrJdqRxmzarLednTCFfxDi1uGNYnIbtyLAFw2Pj0U=",
|
||||
"owner": "szymon-jozef",
|
||||
"repo": "zut-calendar",
|
||||
"rev": "3284491807e196414445326d11913b43e7a0225f",
|
||||
"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"
|
||||
}
|
||||
}
|
||||
|
||||
158
flake.nix
158
flake.nix
@@ -1,95 +1,161 @@
|
||||
{
|
||||
description = "Home manager config";
|
||||
description = "Amazing dotfiles";
|
||||
|
||||
inputs = {
|
||||
hyprland.url = "github:hyprwm/Hyprland";
|
||||
nixpkgs.url = "github:nixos/nixpkgs/nixos-unstable";
|
||||
nixpkgs-stable.url = "github:nixos/nixpkgs/nixos-25.11";
|
||||
|
||||
home-manager = {
|
||||
url = "github:nix-community/home-manager";
|
||||
inputs.nixpkgs.follows = "nixpkgs";
|
||||
};
|
||||
|
||||
catppuccin.url = "github:catppuccin/nix";
|
||||
wallpapers = {
|
||||
url = "github:orangci/walls-catppuccin-mocha";
|
||||
flake = false;
|
||||
};
|
||||
# hyprland.url = "github:hyprwm/Hyprland";
|
||||
|
||||
nixvim = {
|
||||
url = "github:nix-community/nixvim";
|
||||
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 =
|
||||
{
|
||||
nixpkgs,
|
||||
nixpkgs-stable,
|
||||
home-manager,
|
||||
catppuccin,
|
||||
nixvim,
|
||||
wallpapers,
|
||||
zut-calendar,
|
||||
zutui,
|
||||
...
|
||||
}@inputs:
|
||||
|
||||
let
|
||||
userConfig = {
|
||||
defaultUserConfig = {
|
||||
username = "szymon";
|
||||
# for git
|
||||
email = "szymon_jozef@proton.me";
|
||||
fullName = "Szymon P";
|
||||
# your public ssh key
|
||||
signingKey = "~/.ssh/github.pub";
|
||||
|
||||
mainMonitor = "eDP-1"; # only for some applications: you still need to set hyprland monitors yourself!
|
||||
statusBar = "ashell"; # available: ashell|waybar
|
||||
mainMonitor = "DP-1";
|
||||
statusBar = "ashell"; # available: ashell | waybar
|
||||
|
||||
pathConfig = {
|
||||
wallpaper = "Obrazy/tapety/catppuccin";
|
||||
screenshot = "Obrazy/zrzuty/";
|
||||
obsidian = "Dokumenty/obsidian";
|
||||
};
|
||||
|
||||
isNixOS = true;
|
||||
hostName = "default";
|
||||
animations = true;
|
||||
gaming = true;
|
||||
};
|
||||
|
||||
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
|
||||
{
|
||||
homeConfigurations = {
|
||||
"arch" = home-manager.lib.homeManagerConfiguration {
|
||||
pkgs = import nixpkgs {
|
||||
inherit system;
|
||||
config.allowUnfree = true;
|
||||
};
|
||||
extraSpecialArgs = {
|
||||
inherit
|
||||
inputs
|
||||
userConfig
|
||||
;
|
||||
isNixOS = false;
|
||||
};
|
||||
modules = [
|
||||
./home.nix
|
||||
catppuccin.homeModules.catppuccin
|
||||
nixvim.homeModules.nixvim
|
||||
];
|
||||
# You can overwrite default configuration here
|
||||
|
||||
"arch" = mkHome {
|
||||
isNixOS = false;
|
||||
hostName = "arch";
|
||||
};
|
||||
"nixos" = home-manager.lib.homeManagerConfiguration {
|
||||
pkgs = import nixpkgs {
|
||||
inherit system;
|
||||
config.allowUnfree = true;
|
||||
};
|
||||
extraSpecialArgs = {
|
||||
inherit
|
||||
inputs
|
||||
userConfig
|
||||
;
|
||||
isNixOS = true;
|
||||
};
|
||||
modules = [
|
||||
./home.nix
|
||||
catppuccin.homeModules.catppuccin
|
||||
nixvim.homeModules.nixvim
|
||||
];
|
||||
|
||||
"nixos" = mkHome {
|
||||
isNixOS = true;
|
||||
hostName = "nixos";
|
||||
};
|
||||
|
||||
"${defaultUserConfig.username}@pitagoras" = mkHome {
|
||||
hostName = "pitagoras";
|
||||
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=
|
||||
22
home.nix
22
home.nix
@@ -21,7 +21,7 @@
|
||||
catppuccin = {
|
||||
enable = true;
|
||||
flavor = "mocha";
|
||||
accent = "mauve";
|
||||
accent = "sapphire";
|
||||
};
|
||||
|
||||
imports = [
|
||||
@@ -42,6 +42,7 @@
|
||||
./modules/cli/git.nix
|
||||
./modules/cli/fastfetch.nix
|
||||
./modules/cli/kdeconnect.nix
|
||||
./modules/cli/topgrade.nix
|
||||
# gui tools
|
||||
./modules/gui/kitty.nix
|
||||
./modules/gui/satty.nix
|
||||
@@ -68,13 +69,24 @@
|
||||
".config/gtk-3.0/gtk.css".source = ./dotfiles/gtk-3.0/gtk.css;
|
||||
${userConfig.pathConfig.wallpaper}.source = inputs.wallpapers;
|
||||
};
|
||||
programs.hyprcursor-phinger.enable = true;
|
||||
|
||||
# === VARS ===
|
||||
|
||||
home.sessionVariables = {
|
||||
EDITOR = "nvim";
|
||||
VISUAL = "nvim";
|
||||
XDG_DATA_DIRS = "$HOME/.nix-profile/share/applications:$XDG_DATA_DIRS";
|
||||
home = {
|
||||
sessionVariables = {
|
||||
EDITOR = "nvim";
|
||||
VISUAL = "nvim";
|
||||
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;
|
||||
|
||||
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,
|
||||
isNixOS,
|
||||
userConfig,
|
||||
pkgs,
|
||||
...
|
||||
@@ -9,7 +8,7 @@
|
||||
{
|
||||
programs.ashell = {
|
||||
enable = true;
|
||||
package = lib.mkIf (!isNixOS) null;
|
||||
package = lib.mkIf (!userConfig.isNixOS) null;
|
||||
settings = {
|
||||
outputs = {
|
||||
Targets = [ userConfig.mainMonitor ];
|
||||
@@ -18,7 +17,7 @@
|
||||
modules = {
|
||||
|
||||
left = [
|
||||
"Clock"
|
||||
"Tempo"
|
||||
"Workspaces"
|
||||
];
|
||||
center = [ "WindowTitle" ];
|
||||
@@ -67,8 +66,13 @@
|
||||
}
|
||||
];
|
||||
|
||||
clock = {
|
||||
format = "%H:%M | %e.%m ";
|
||||
tempo = {
|
||||
clock_format = "%H:%M | %e.%m ";
|
||||
};
|
||||
|
||||
media_player = {
|
||||
max_title_length = 50;
|
||||
indicator_format = "Icon";
|
||||
};
|
||||
|
||||
settings = {
|
||||
@@ -77,7 +81,7 @@
|
||||
|
||||
appearance = {
|
||||
scale_factor = 1.2;
|
||||
style = "Gradient";
|
||||
style = "Islands";
|
||||
success_color = "#a6e3a1";
|
||||
text_color = "#cdd6f4";
|
||||
workspace_colors = [
|
||||
|
||||
@@ -1,6 +1,5 @@
|
||||
{
|
||||
pkgs,
|
||||
isNixOS,
|
||||
userConfig,
|
||||
...
|
||||
}:
|
||||
@@ -9,7 +8,7 @@
|
||||
programs.waybar = {
|
||||
enable = true;
|
||||
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 = {
|
||||
mainBar = {
|
||||
layer = "top";
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
{ pkgs, ... }:
|
||||
{ ... }:
|
||||
|
||||
{
|
||||
programs.bat = {
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
{ config, pkgs, ... }:
|
||||
{ ... }:
|
||||
|
||||
{
|
||||
programs.fastfetch = {
|
||||
@@ -36,7 +36,7 @@
|
||||
|
||||
xdg.configFile."fastfetch/startup.jsonc".text = builtins.toJSON {
|
||||
logo = {
|
||||
source = "arch_small";
|
||||
source = "nixos_small";
|
||||
padding = {
|
||||
bottom = 1;
|
||||
};
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
{ isNixOS, ... }:
|
||||
{ userConfig, ... }:
|
||||
|
||||
{
|
||||
programs.fish = {
|
||||
@@ -17,6 +17,8 @@
|
||||
|
||||
fish_vi_key_bindings
|
||||
|
||||
direnv hook fish | source
|
||||
|
||||
fastfetch --config ~/.config/fastfetch/startup.jsonc
|
||||
'';
|
||||
|
||||
@@ -45,7 +47,7 @@
|
||||
|
||||
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
|
||||
set commit_msg "update: $rel_file"
|
||||
git commit -m "$commit_msg"
|
||||
@@ -61,17 +63,12 @@
|
||||
|
||||
reload_dotfiles = {
|
||||
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
|
||||
"eza --long --icons --group-directories-first --git $argv";
|
||||
};
|
||||
|
||||
lst = {
|
||||
body = # fish
|
||||
"eza --long --icons --color --git --tree $argv";
|
||||
"nh os switch /etc/nixos/";
|
||||
};
|
||||
|
||||
cp_mail = {
|
||||
@@ -79,49 +76,155 @@
|
||||
"pandoc $argv -t html |wl-copy -t text/html";
|
||||
};
|
||||
|
||||
update = {
|
||||
body = # fish
|
||||
update_files = {
|
||||
body =
|
||||
# fish
|
||||
''
|
||||
echo "===System update==="
|
||||
echo "=== System packages updates ==="
|
||||
pushd /etc/nixos
|
||||
|
||||
if not type -q yay
|
||||
echo "Yay not found… Is this Arch? If yes, then please consider installing it!"
|
||||
else
|
||||
yay
|
||||
git add -A
|
||||
git commit -m 'chore: state before pulling'
|
||||
|
||||
if git pull
|
||||
reload_system
|
||||
end
|
||||
|
||||
if type -q pacman
|
||||
echo "===Remove orphans==="
|
||||
set orphans (pacman -Qtdq)
|
||||
if test (count $orphans) -gt 0
|
||||
sudo pacman -Rns $orphans
|
||||
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 = {
|
||||
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
|
||||
end
|
||||
else
|
||||
echo "Error: 'git pull' failed in /etc/nixos. Skipping system update."
|
||||
end
|
||||
|
||||
if type -q flatpak
|
||||
echo "===Flatpak update==="
|
||||
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
|
||||
end
|
||||
|
||||
echo "=== Flatpak remove unused ==="
|
||||
flatpak uninstall --unused --noninteractive
|
||||
end
|
||||
''
|
||||
else
|
||||
# fish
|
||||
''
|
||||
echo "===System update==="
|
||||
|
||||
if type -q nix-channel
|
||||
echo "===Nix update==="
|
||||
nix-channel --update
|
||||
echo "===Nix garbage collection==="
|
||||
home-manager expire-generations "-7 days"
|
||||
end
|
||||
if not type -q yay
|
||||
echo "Yay not found… Please consider installing it!"
|
||||
else
|
||||
yay
|
||||
end
|
||||
|
||||
if type -q pacman
|
||||
echo "===Remove orphans==="
|
||||
set orphans (pacman -Qtdq)
|
||||
if test (count $orphans) -gt 0
|
||||
sudo pacman -Rns $orphans
|
||||
end
|
||||
end
|
||||
|
||||
if type -q flatpak
|
||||
echo "===Flatpak update==="
|
||||
flatpak update --noninteractive
|
||||
echo "===Flatpak remove unused==="
|
||||
flatpak uninstall --unused
|
||||
end
|
||||
|
||||
if type -q nix-channel
|
||||
echo "===Nix update==="
|
||||
nix-channel --update
|
||||
echo "===Nix garbage collection==="
|
||||
home-manager expire-generations "-7 days"
|
||||
end
|
||||
'';
|
||||
};
|
||||
|
||||
blog_build_and_push = {
|
||||
body =
|
||||
# fish
|
||||
''
|
||||
set USER szymon
|
||||
set HOST dmowski
|
||||
set DIR /srv/blog/
|
||||
set blog_dir ~/Dokumenty/blog
|
||||
|
||||
pushd $blog_dir || exit 1
|
||||
|
||||
hugo build && rsync -avz --delete public/ $USER@$HOST:$DIR
|
||||
|
||||
popd
|
||||
|
||||
exit 0
|
||||
'';
|
||||
};
|
||||
|
||||
rm = {
|
||||
body = "trash $argv";
|
||||
};
|
||||
|
||||
open = {
|
||||
body = "nohup xdg-open $argv > /dev/null & ";
|
||||
};
|
||||
|
||||
};
|
||||
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"
|
||||
"result"
|
||||
"__pycache__"
|
||||
".direnv"
|
||||
];
|
||||
|
||||
};
|
||||
|
||||
@@ -100,6 +100,39 @@
|
||||
action.__raw = "function() require('harpoon'):list():next() end";
|
||||
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 = {
|
||||
@@ -169,7 +202,22 @@
|
||||
friendly-snippets.enable = true;
|
||||
# dev
|
||||
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 = {
|
||||
enable = true;
|
||||
installCargo = true;
|
||||
@@ -203,11 +251,18 @@
|
||||
};
|
||||
};
|
||||
|
||||
indent-blankline = {
|
||||
cursorline = {
|
||||
enable = true;
|
||||
settings.scope.enabled = true;
|
||||
timeout = 0;
|
||||
};
|
||||
|
||||
mini-indentscope = {
|
||||
enable = true;
|
||||
settings.draw.delay = 0;
|
||||
};
|
||||
|
||||
toggleterm.enable = true;
|
||||
|
||||
cmp = {
|
||||
enable = true;
|
||||
settings = {
|
||||
|
||||
@@ -2,7 +2,6 @@
|
||||
|
||||
{
|
||||
services.ssh-agent.enable = true;
|
||||
services.ssh-agent.enableFishIntegration = true;
|
||||
|
||||
programs.ssh = {
|
||||
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 @@
|
||||
{ pkgs, ... }:
|
||||
{ ... }:
|
||||
|
||||
{
|
||||
programs.zoxide = {
|
||||
|
||||
@@ -4,6 +4,7 @@
|
||||
gtk = {
|
||||
enable = true;
|
||||
colorScheme = "dark";
|
||||
gtk4.theme = null;
|
||||
};
|
||||
|
||||
dconf = {
|
||||
|
||||
@@ -1,8 +1,20 @@
|
||||
{ isNixOS, lib, ... }:
|
||||
{
|
||||
userConfig,
|
||||
pkgs,
|
||||
lib,
|
||||
inputs,
|
||||
...
|
||||
}:
|
||||
|
||||
{
|
||||
programs.chromium = {
|
||||
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 = {
|
||||
enable = true;
|
||||
package = lib.mkIf (!isNixOS) null;
|
||||
package = lib.mkIf (!userConfig.isNixOS) null;
|
||||
settings = {
|
||||
confirm_os_window_close = 0;
|
||||
dynamic_background_opacity = true;
|
||||
enable_audio_bell = false;
|
||||
mouse_hide_wait = "-1.0";
|
||||
window_padding_width = 10;
|
||||
background_opacity = "0.5";
|
||||
font_size = 14;
|
||||
background_blur = 5;
|
||||
background_opacity = "0.95";
|
||||
font_size = 12;
|
||||
background_blur = 15;
|
||||
symbol_map =
|
||||
let
|
||||
mappings = [
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
{ isNixOS, pkgs, ... }:
|
||||
{ userConfig, pkgs, ... }:
|
||||
|
||||
{
|
||||
services.mako = {
|
||||
@@ -21,7 +21,7 @@
|
||||
progress-color = "over #313244";
|
||||
output = "DP-1";
|
||||
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"
|
||||
else
|
||||
"exec paplay /usr/share/sounds/freedesktop/stereo/dialog-information.oga";
|
||||
@@ -36,7 +36,7 @@
|
||||
|
||||
[urgency=critical]
|
||||
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"
|
||||
else
|
||||
"exec paplay /usr/share/sounds/freedesktop/stereo/dialog-information.oga"
|
||||
|
||||
@@ -1,7 +1,7 @@
|
||||
{
|
||||
config,
|
||||
pkgs,
|
||||
isNixOS,
|
||||
userConfig,
|
||||
...
|
||||
}:
|
||||
|
||||
@@ -10,7 +10,7 @@
|
||||
|
||||
programs.mangohud = {
|
||||
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 = ''
|
||||
|
||||
@@ -11,7 +11,7 @@ stdenv.mkDerivation {
|
||||
owner = "catppuccin";
|
||||
repo = "obsidian";
|
||||
rev = "main";
|
||||
hash = "sha256-sN5k263geOtJ1mOCQGM8UdmA/71OhBI5NRwGxJwd80E=";
|
||||
hash = "sha256-uB0a2nSZkHHf65xBYXyNh50vaAiqdEpKQVf3eXnCVlE=";
|
||||
};
|
||||
|
||||
installPhase = ''
|
||||
|
||||
@@ -1,5 +1,4 @@
|
||||
{
|
||||
isNixOS,
|
||||
lib,
|
||||
pkgs,
|
||||
userConfig,
|
||||
@@ -9,7 +8,7 @@
|
||||
{
|
||||
programs.obsidian = {
|
||||
enable = true;
|
||||
package = lib.mkIf (!isNixOS) null;
|
||||
package = lib.mkIf (!userConfig.isNixOS) null;
|
||||
|
||||
defaultSettings = {
|
||||
app = {
|
||||
|
||||
@@ -1,6 +1,5 @@
|
||||
{
|
||||
lib,
|
||||
isNixOS,
|
||||
userConfig,
|
||||
...
|
||||
}:
|
||||
@@ -8,7 +7,7 @@
|
||||
{
|
||||
programs.satty = {
|
||||
enable = true;
|
||||
package = lib.mkIf (!isNixOS) null;
|
||||
package = lib.mkIf (!userConfig.isNixOS) null;
|
||||
settings = {
|
||||
general = {
|
||||
fullscreen = true;
|
||||
|
||||
@@ -1,9 +1,9 @@
|
||||
{ isNixOS, lib, ... }:
|
||||
{ userConfig, lib, ... }:
|
||||
|
||||
{
|
||||
services.hypridle = {
|
||||
enable = true;
|
||||
package = lib.mkIf (!isNixOS) null;
|
||||
package = lib.mkIf (!userConfig.isNixOS) null;
|
||||
|
||||
settings = {
|
||||
general = {
|
||||
|
||||
@@ -1,467 +1,13 @@
|
||||
{ ... }:
|
||||
{
|
||||
isNixOS,
|
||||
lib,
|
||||
userConfig,
|
||||
pkgs,
|
||||
...
|
||||
}:
|
||||
let
|
||||
exe = pkg: bin: if 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";
|
||||
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
|
||||
}
|
||||
'';
|
||||
};
|
||||
imports = [
|
||||
./hyprland/general.nix
|
||||
./hyprland/looks.nix
|
||||
./hyprland/layouts.nix
|
||||
./hyprland/hardware.nix
|
||||
./hyprland/apps.nix
|
||||
./hyprland/workspaces.nix
|
||||
./hyprland/env.nix
|
||||
./hyprland/autostart.nix
|
||||
];
|
||||
}
|
||||
|
||||
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-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)$"
|
||||
];
|
||||
|
||||
};
|
||||
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"
|
||||
];
|
||||
};
|
||||
}
|
||||
40
modules/hypr/hyprland/env.nix
Normal file
40
modules/hypr/hyprland/env.nix
Normal file
@@ -0,0 +1,40 @@
|
||||
{
|
||||
userConfig,
|
||||
pkgs,
|
||||
...
|
||||
}:
|
||||
let
|
||||
uwsm_run = "${pkgs.uwsm}/bin/uwsm app";
|
||||
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";
|
||||
|
||||
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"
|
||||
];
|
||||
};
|
||||
};
|
||||
}
|
||||
88
modules/hypr/hyprland/hardware.nix
Normal file
88
modules/hypr/hyprland/hardware.nix
Normal file
@@ -0,0 +1,88 @@
|
||||
{ ... }:
|
||||
|
||||
{
|
||||
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.5;
|
||||
touchpad = {
|
||||
natural_scroll = true;
|
||||
};
|
||||
};
|
||||
|
||||
device = {
|
||||
name = "msft0001:01-06cb:7f28-touchpad";
|
||||
sensitivity = 0;
|
||||
};
|
||||
|
||||
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 = {
|
||||
enable = true;
|
||||
package = lib.mkIf (!isNixOS) null;
|
||||
package = lib.mkIf (!userConfig.isNixOS) null;
|
||||
|
||||
settings = {
|
||||
cache.enabled = true;
|
||||
|
||||
@@ -1,9 +1,9 @@
|
||||
{ isNixOS, lib, ... }:
|
||||
{ userConfig, lib, ... }:
|
||||
|
||||
{
|
||||
programs.hyprlock = {
|
||||
enable = true;
|
||||
package = lib.mkIf (!isNixOS) null;
|
||||
package = lib.mkIf (!userConfig.isNixOS) null;
|
||||
|
||||
settings = {
|
||||
"$font" = "Monospace";
|
||||
|
||||
@@ -1,5 +1,5 @@
|
||||
{
|
||||
isNixOS,
|
||||
userConfig,
|
||||
pkgs,
|
||||
...
|
||||
}:
|
||||
@@ -8,7 +8,7 @@
|
||||
services.hyprsunset = {
|
||||
enable = true;
|
||||
package =
|
||||
if isNixOS then
|
||||
if userConfig.isNixOS then
|
||||
pkgs.hyprsunset
|
||||
else
|
||||
(pkgs.writeShellScriptBin "hyprsunset" "exec /usr/bin/hyprsunset \"$@\"");
|
||||
|
||||
@@ -1,23 +1,70 @@
|
||||
{ pkgs, ... }:
|
||||
|
||||
{
|
||||
home.packages = with pkgs; [
|
||||
libnotify
|
||||
cliphist
|
||||
gh
|
||||
trash-cli
|
||||
pandoc
|
||||
fzf
|
||||
eza
|
||||
fastfetch
|
||||
fd
|
||||
duf
|
||||
gdu
|
||||
jq
|
||||
tealdeer
|
||||
grim
|
||||
slurp
|
||||
bc
|
||||
nh
|
||||
];
|
||||
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;
|
||||
[
|
||||
# Cli stuff
|
||||
libnotify
|
||||
cliphist
|
||||
gh
|
||||
trash-cli
|
||||
pandoc
|
||||
fzf
|
||||
eza
|
||||
fastfetch
|
||||
fd
|
||||
duf
|
||||
gdu
|
||||
jq
|
||||
tealdeer
|
||||
grim
|
||||
slurp
|
||||
bc
|
||||
nh
|
||||
runc
|
||||
|
||||
hugo
|
||||
|
||||
# Music
|
||||
spotify
|
||||
|
||||
# Gui stuff
|
||||
homebank
|
||||
gimp
|
||||
rstudio-with-packages
|
||||
|
||||
# Messaging
|
||||
vesktop
|
||||
signal-desktop
|
||||
|
||||
]
|
||||
++ lib.optionals userConfig.gaming [
|
||||
mangohud
|
||||
prismlauncher
|
||||
heroic
|
||||
# lutris
|
||||
rpcs3
|
||||
pcsx2
|
||||
];
|
||||
|
||||
xdg.configFile."containers/containers.conf".text = ''
|
||||
[engine]
|
||||
runtime = "runc"
|
||||
'';
|
||||
}
|
||||
|
||||
@@ -57,7 +57,9 @@ in
|
||||
music = null;
|
||||
pictures = "$HOME/Obrazy";
|
||||
videos = "$HOME/Video";
|
||||
projects = "$HOME/Kodowanie";
|
||||
templates = null;
|
||||
publicShare = null;
|
||||
setSessionVariables = true;
|
||||
};
|
||||
}
|
||||
|
||||
@@ -1,5 +1,5 @@
|
||||
#!/usr/bin/env bash
|
||||
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/backup_wd/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/wd_backup/home/szymon/
|
||||
|
||||
Reference in New Issue
Block a user