Compare commits
34 Commits
1824539b0e
...
master
| Author | SHA1 | Date | |
|---|---|---|---|
| cc938db477 | |||
| b372f990c3 | |||
| 5c02123317 | |||
| fd8cb9c0c8 | |||
| e58d5a7a18 | |||
| 1b9d24ce15 | |||
| 5f16717f9b | |||
| f5ad771953 | |||
| 62c14b3cdd | |||
| 8669253399 | |||
| 5416a157c2 | |||
| 56272e024c | |||
| 2d4ae9ef98 | |||
| 2559f02151 | |||
| dba8c3cc9e | |||
| 6c372be7a3 | |||
| 3fa42ea4bc | |||
| 21250446cc | |||
| 0821b9fa3f | |||
|
|
de4ad2b0d8 | ||
| ad01ddee34 | |||
| f6927a5ce3 | |||
| 669f1452a2 | |||
| b380ffe1da | |||
| 3856b1c58f | |||
| 9f32f8e72a | |||
| 17e28d1ded | |||
| 06042c7668 | |||
| b3d5f2311f | |||
| aa750df916 | |||
| c8ab587084 | |||
| 0400d1d8b5 | |||
| eb6b50cdab | |||
| 800ce59427 |
5
.gitignore
vendored
5
.gitignore
vendored
@@ -5,6 +5,7 @@ cava/
|
|||||||
chromium/
|
chromium/
|
||||||
Code/
|
Code/
|
||||||
composer/
|
composer/
|
||||||
|
CuteCom/
|
||||||
dconf/
|
dconf/
|
||||||
environment.d/
|
environment.d/
|
||||||
evince/
|
evince/
|
||||||
@@ -21,7 +22,6 @@ gqrx/
|
|||||||
gtk-*.0/
|
gtk-*.0/
|
||||||
htop/
|
htop/
|
||||||
inkscape/
|
inkscape/
|
||||||
hypr/
|
|
||||||
lazygit/
|
lazygit/
|
||||||
libreoffice/
|
libreoffice/
|
||||||
libvirt/
|
libvirt/
|
||||||
@@ -43,7 +43,9 @@ stylix/
|
|||||||
swww/
|
swww/
|
||||||
systemd/
|
systemd/
|
||||||
Upscayl/
|
Upscayl/
|
||||||
|
Vector 35/
|
||||||
Vencord/
|
Vencord/
|
||||||
|
VirtualBox/
|
||||||
vlc/
|
vlc/
|
||||||
wal/
|
wal/
|
||||||
wallust/
|
wallust/
|
||||||
@@ -54,6 +56,7 @@ kdenliverc
|
|||||||
kleopatrarc
|
kleopatrarc
|
||||||
kritadisplayrc
|
kritadisplayrc
|
||||||
kritarc
|
kritarc
|
||||||
|
kstarsrc
|
||||||
QtProject.conf
|
QtProject.conf
|
||||||
|
|
||||||
# Files generated by theme change
|
# Files generated by theme change
|
||||||
|
|||||||
1
Kvantum/Base16Kvantum
Symbolic link
1
Kvantum/Base16Kvantum
Symbolic link
@@ -0,0 +1 @@
|
|||||||
|
/nix/store/p19lx2ymg13qw3abnkc5x1v3hj8r6zix-home-manager-files/.config/Kvantum/Base16Kvantum
|
||||||
1
Kvantum/kvantum.kvconfig
Symbolic link
1
Kvantum/kvantum.kvconfig
Symbolic link
@@ -0,0 +1 @@
|
|||||||
|
/nix/store/p19lx2ymg13qw3abnkc5x1v3hj8r6zix-home-manager-files/.config/Kvantum/kvantum.kvconfig
|
||||||
@@ -1 +1 @@
|
|||||||
/nix/store/pajdksky12r6s3n6ylyy7him8b4i0l9d-home-manager-files/.config/autostart/stylix-activate-gnome.desktop
|
/nix/store/p19lx2ymg13qw3abnkc5x1v3hj8r6zix-home-manager-files/.config/autostart/stylix-activate-gnome.desktop
|
||||||
@@ -1 +1 @@
|
|||||||
/nix/store/pajdksky12r6s3n6ylyy7him8b4i0l9d-home-manager-files/.config/autostart/stylix-activate-kde.desktop
|
/nix/store/p19lx2ymg13qw3abnkc5x1v3hj8r6zix-home-manager-files/.config/autostart/stylix-activate-kde.desktop
|
||||||
@@ -1,8 +1,8 @@
|
|||||||
{
|
{
|
||||||
"$schema": "https://github.com/fastfetch-cli/fastfetch/raw/dev/doc/json_schema.json",
|
"$schema": "https://github.com/fastfetch-cli/fastfetch/raw/dev/doc/json_schema.json",
|
||||||
"logo": {
|
"logo": {
|
||||||
"source": "/home/lusia/.config/fastfetch/logo.jpg",
|
"source": "/home/lusia/.config/fastfetch/logo.png",
|
||||||
"type": "kitty",
|
"type": "kitty-direct",
|
||||||
"width": 22,
|
"width": 22,
|
||||||
"height": 11
|
"height": 11
|
||||||
},
|
},
|
||||||
|
|||||||
Binary file not shown.
|
Before Width: | Height: | Size: 152 KiB |
BIN
fastfetch/logo.png
Normal file
BIN
fastfetch/logo.png
Normal file
Binary file not shown.
|
After Width: | Height: | Size: 176 KiB |
@@ -3,19 +3,19 @@ name: pywal Generated
|
|||||||
author: wl
|
author: wl
|
||||||
variant: dark
|
variant: dark
|
||||||
palette:
|
palette:
|
||||||
base08: '#d470b6'
|
base0E: '#af85bd'
|
||||||
base02: '#95809a'
|
base09: '#ec6ba0'
|
||||||
base0E: '#b786bb'
|
base08: '#ec6ba0'
|
||||||
base0A: '#b879ca'
|
base0B: '#d76ec9'
|
||||||
base01: '#060205'
|
base0C: '#d687b7'
|
||||||
base00: '#060205'
|
base05: '#c3c0c2'
|
||||||
base03: '#95809a'
|
base07: '#c3c0c3'
|
||||||
base06: '#d5b8dc'
|
base03: '#695669'
|
||||||
base09: '#d470b6'
|
base00: '#10060f'
|
||||||
base0B: '#a15cc4'
|
base0F: '#ec6ba0'
|
||||||
base0C: '#d1a5b6'
|
base0D: '#b876c7'
|
||||||
base05: '#d5b8dc'
|
base06: '#c3c0c3'
|
||||||
base04: '#d5b8dc'
|
base02: '#695669'
|
||||||
base0F: '#d470b6'
|
base0A: '#aa77cb'
|
||||||
base0D: '#c578c5'
|
base04: '#c3c0c3'
|
||||||
base07: '#d5b8dc'
|
base01: '#100610'
|
||||||
|
|||||||
344
home-manager/flake.lock
generated
344
home-manager/flake.lock
generated
@@ -1,21 +1,5 @@
|
|||||||
{
|
{
|
||||||
"nodes": {
|
"nodes": {
|
||||||
"advisory-db": {
|
|
||||||
"flake": false,
|
|
||||||
"locked": {
|
|
||||||
"lastModified": 1770535588,
|
|
||||||
"narHash": "sha256-zi+Ote4H/hbhKoAFpgEqYh04CEoOdgK8LSd53Pt/8AU=",
|
|
||||||
"owner": "rustsec",
|
|
||||||
"repo": "advisory-db",
|
|
||||||
"rev": "1c176c03f6d76499a541a4598932837f9f4642ad",
|
|
||||||
"type": "github"
|
|
||||||
},
|
|
||||||
"original": {
|
|
||||||
"owner": "rustsec",
|
|
||||||
"repo": "advisory-db",
|
|
||||||
"type": "github"
|
|
||||||
}
|
|
||||||
},
|
|
||||||
"base16": {
|
"base16": {
|
||||||
"inputs": {
|
"inputs": {
|
||||||
"fromYaml": "fromYaml"
|
"fromYaml": "fromYaml"
|
||||||
@@ -84,7 +68,7 @@
|
|||||||
"type": "github"
|
"type": "github"
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
"codex-cli-nix": {
|
"binaryninja": {
|
||||||
"inputs": {
|
"inputs": {
|
||||||
"flake-utils": "flake-utils",
|
"flake-utils": "flake-utils",
|
||||||
"nixpkgs": [
|
"nixpkgs": [
|
||||||
@@ -92,50 +76,58 @@
|
|||||||
]
|
]
|
||||||
},
|
},
|
||||||
"locked": {
|
"locked": {
|
||||||
"lastModified": 1770896158,
|
"lastModified": 1772326151,
|
||||||
"narHash": "sha256-ktNIry6OR+Aq0tBql5nHS39rt7sgEuBhpD8t9uJDDiA=",
|
"narHash": "sha256-W6GtPpGuw6+QzWsFE9XddhWQHISBps4wwbDwGMheaVQ=",
|
||||||
"owner": "sadjow",
|
"owner": "jchv",
|
||||||
"repo": "codex-cli-nix",
|
"repo": "nix-binary-ninja",
|
||||||
"rev": "5d41d836ea68e1daf850b009f834215b708b9735",
|
"rev": "a71d24df00d819c5048f33e2b6633941b7b9d599",
|
||||||
"type": "github"
|
"type": "github"
|
||||||
},
|
},
|
||||||
"original": {
|
"original": {
|
||||||
"owner": "sadjow",
|
"owner": "jchv",
|
||||||
"repo": "codex-cli-nix",
|
"repo": "nix-binary-ninja",
|
||||||
"type": "github"
|
"type": "github"
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
"crane": {
|
"claude-code-nix": {
|
||||||
"locked": {
|
|
||||||
"lastModified": 1770419512,
|
|
||||||
"narHash": "sha256-o8Vcdz6B6bkiGUYkZqFwH3Pv1JwZyXht3dMtS7RchIo=",
|
|
||||||
"owner": "ipetkov",
|
|
||||||
"repo": "crane",
|
|
||||||
"rev": "2510f2cbc3ccd237f700bb213756a8f35c32d8d7",
|
|
||||||
"type": "github"
|
|
||||||
},
|
|
||||||
"original": {
|
|
||||||
"owner": "ipetkov",
|
|
||||||
"repo": "crane",
|
|
||||||
"type": "github"
|
|
||||||
}
|
|
||||||
},
|
|
||||||
"fenix": {
|
|
||||||
"inputs": {
|
"inputs": {
|
||||||
"nixpkgs": "nixpkgs",
|
"flake-utils": "flake-utils_2",
|
||||||
"rust-analyzer-src": "rust-analyzer-src"
|
"nixpkgs": [
|
||||||
|
"nixpkgs"
|
||||||
|
]
|
||||||
},
|
},
|
||||||
"locked": {
|
"locked": {
|
||||||
"lastModified": 1770534122,
|
"lastModified": 1773451839,
|
||||||
"narHash": "sha256-7pA+q0JjEpECX9aBT4x4b2IRQuGIYKGwksZTuSm2EA8=",
|
"narHash": "sha256-a7yGiEC2Nh4z7b5aR9sTPDnFOt7ykYQ3yU/MEdhKUWA=",
|
||||||
"owner": "nix-community",
|
"owner": "sadjow",
|
||||||
"repo": "fenix",
|
"repo": "claude-code-nix",
|
||||||
"rev": "0c9a447b32ee7af5cd2ad73aaf1bcfa09287a619",
|
"rev": "e64e47c888e3eb19d8c58c91046310582634271c",
|
||||||
"type": "github"
|
"type": "github"
|
||||||
},
|
},
|
||||||
"original": {
|
"original": {
|
||||||
"owner": "nix-community",
|
"owner": "sadjow",
|
||||||
"repo": "fenix",
|
"repo": "claude-code-nix",
|
||||||
|
"type": "github"
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"codex-cli-nix": {
|
||||||
|
"inputs": {
|
||||||
|
"flake-utils": "flake-utils_3",
|
||||||
|
"nixpkgs": [
|
||||||
|
"nixpkgs"
|
||||||
|
]
|
||||||
|
},
|
||||||
|
"locked": {
|
||||||
|
"lastModified": 1773189244,
|
||||||
|
"narHash": "sha256-ctI2WntyGzjz7tCcGcG+l+ryV6fJsDvAySPtJH7ia+4=",
|
||||||
|
"owner": "sadjow",
|
||||||
|
"repo": "codex-cli-nix",
|
||||||
|
"rev": "60da592dbbfceec9adb8b84ea49e88b6663976ae",
|
||||||
|
"type": "github"
|
||||||
|
},
|
||||||
|
"original": {
|
||||||
|
"owner": "sadjow",
|
||||||
|
"repo": "codex-cli-nix",
|
||||||
"type": "github"
|
"type": "github"
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
@@ -194,6 +186,42 @@
|
|||||||
"type": "github"
|
"type": "github"
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
|
"flake-utils_2": {
|
||||||
|
"inputs": {
|
||||||
|
"systems": "systems_2"
|
||||||
|
},
|
||||||
|
"locked": {
|
||||||
|
"lastModified": 1731533236,
|
||||||
|
"narHash": "sha256-l0KFg5HjrsfsO/JpG+r7fRrqm12kzFHyUHqHCVpMMbI=",
|
||||||
|
"owner": "numtide",
|
||||||
|
"repo": "flake-utils",
|
||||||
|
"rev": "11707dc2f618dd54ca8739b309ec4fc024de578b",
|
||||||
|
"type": "github"
|
||||||
|
},
|
||||||
|
"original": {
|
||||||
|
"owner": "numtide",
|
||||||
|
"repo": "flake-utils",
|
||||||
|
"type": "github"
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"flake-utils_3": {
|
||||||
|
"inputs": {
|
||||||
|
"systems": "systems_3"
|
||||||
|
},
|
||||||
|
"locked": {
|
||||||
|
"lastModified": 1731533236,
|
||||||
|
"narHash": "sha256-l0KFg5HjrsfsO/JpG+r7fRrqm12kzFHyUHqHCVpMMbI=",
|
||||||
|
"owner": "numtide",
|
||||||
|
"repo": "flake-utils",
|
||||||
|
"rev": "11707dc2f618dd54ca8739b309ec4fc024de578b",
|
||||||
|
"type": "github"
|
||||||
|
},
|
||||||
|
"original": {
|
||||||
|
"owner": "numtide",
|
||||||
|
"repo": "flake-utils",
|
||||||
|
"type": "github"
|
||||||
|
}
|
||||||
|
},
|
||||||
"fromYaml": {
|
"fromYaml": {
|
||||||
"flake": false,
|
"flake": false,
|
||||||
"locked": {
|
"locked": {
|
||||||
@@ -236,11 +264,11 @@
|
|||||||
]
|
]
|
||||||
},
|
},
|
||||||
"locked": {
|
"locked": {
|
||||||
"lastModified": 1770818644,
|
"lastModified": 1773422513,
|
||||||
"narHash": "sha256-DYS4jIRpRoKOzJjnR/QqEd/MlT4OZZpt8CrBLv+cjsE=",
|
"narHash": "sha256-MPjR48roW7CUMU6lu0+qQGqj92Kuh3paIulMWFZy+NQ=",
|
||||||
"owner": "nix-community",
|
"owner": "nix-community",
|
||||||
"repo": "home-manager",
|
"repo": "home-manager",
|
||||||
"rev": "0acbd1180697de56724821184ad2c3e6e7202cd7",
|
"rev": "ef12a9a2b0f77c8fa3dda1e7e494fca668909056",
|
||||||
"type": "github"
|
"type": "github"
|
||||||
},
|
},
|
||||||
"original": {
|
"original": {
|
||||||
@@ -251,36 +279,33 @@
|
|||||||
},
|
},
|
||||||
"niri": {
|
"niri": {
|
||||||
"inputs": {
|
"inputs": {
|
||||||
"advisory-db": "advisory-db",
|
|
||||||
"crane": "crane",
|
|
||||||
"fenix": "fenix",
|
|
||||||
"nixpkgs": [
|
"nixpkgs": [
|
||||||
"nixpkgs"
|
"nixpkgs"
|
||||||
],
|
],
|
||||||
"nixpkgs-tracy": "nixpkgs-tracy",
|
"rust-overlay": "rust-overlay"
|
||||||
"treefmt-nix": "treefmt-nix"
|
|
||||||
},
|
},
|
||||||
"locked": {
|
"locked": {
|
||||||
"lastModified": 1770946924,
|
"lastModified": 1773171230,
|
||||||
"narHash": "sha256-XpZyA6pkdtve0vRpiDiaDkWXavmh6quJ4TAv1w2Ic9s=",
|
"narHash": "sha256-ZiGGjRL2H67GcL6BvZV99khW++aHpJ2NA4n71qZiJ9A=",
|
||||||
"owner": "Lukrecjaaa",
|
"owner": "niri-wm",
|
||||||
"repo": "niri",
|
"repo": "niri",
|
||||||
"rev": "defcdd8c3f4262311b08e7c22c513b15a9965842",
|
"rev": "4a7e443b6c816e4f673f6e25cc0a5aa37697d667",
|
||||||
"type": "github"
|
"type": "github"
|
||||||
},
|
},
|
||||||
"original": {
|
"original": {
|
||||||
"owner": "Lukrecjaaa",
|
"owner": "niri-wm",
|
||||||
|
"ref": "wip/branch",
|
||||||
"repo": "niri",
|
"repo": "niri",
|
||||||
"type": "github"
|
"type": "github"
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
"nixpkgs": {
|
"nixpkgs": {
|
||||||
"locked": {
|
"locked": {
|
||||||
"lastModified": 1770197578,
|
"lastModified": 1773389992,
|
||||||
"narHash": "sha256-AYqlWrX09+HvGs8zM6ebZ1pwUqjkfpnv8mewYwAo+iM=",
|
"narHash": "sha256-wvfdLLWJ2I9oEpDd9PfMA8osfIZicoQ5MT1jIwNs9Tk=",
|
||||||
"owner": "nixos",
|
"owner": "nixos",
|
||||||
"repo": "nixpkgs",
|
"repo": "nixpkgs",
|
||||||
"rev": "00c21e4c93d963c50d4c0c89bfa84ed6e0694df2",
|
"rev": "c06b4ae3d6599a672a6210b7021d699c351eebda",
|
||||||
"type": "github"
|
"type": "github"
|
||||||
},
|
},
|
||||||
"original": {
|
"original": {
|
||||||
@@ -290,51 +315,19 @@
|
|||||||
"type": "github"
|
"type": "github"
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
"nixpkgs-tracy": {
|
"nixpkgs-pre-ad01": {
|
||||||
"locked": {
|
"locked": {
|
||||||
"lastModified": 1769755524,
|
"lastModified": 1771369470,
|
||||||
"narHash": "sha256-WdOgKw0aDi71hrGy7Zi0kTHEIGJFGB2lWBO32rAPgYA=",
|
"narHash": "sha256-0NBlEBKkN3lufyvFegY4TYv5mCNHbi5OmBDrzihbBMQ=",
|
||||||
"owner": "davidkern",
|
|
||||||
"repo": "nixpkgs",
|
|
||||||
"rev": "c15c8f34f27eeece2b38f570f676f3ec62a85122",
|
|
||||||
"type": "github"
|
|
||||||
},
|
|
||||||
"original": {
|
|
||||||
"owner": "davidkern",
|
|
||||||
"ref": "tracy-split-package",
|
|
||||||
"repo": "nixpkgs",
|
|
||||||
"type": "github"
|
|
||||||
}
|
|
||||||
},
|
|
||||||
"nixpkgs_2": {
|
|
||||||
"locked": {
|
|
||||||
"lastModified": 1770107345,
|
|
||||||
"narHash": "sha256-tbS0Ebx2PiA1FRW8mt8oejR0qMXmziJmPaU1d4kYY9g=",
|
|
||||||
"owner": "nixos",
|
"owner": "nixos",
|
||||||
"repo": "nixpkgs",
|
"repo": "nixpkgs",
|
||||||
"rev": "4533d9293756b63904b7238acb84ac8fe4c8c2c4",
|
"rev": "0182a361324364ae3f436a63005877674cf45efb",
|
||||||
"type": "github"
|
"type": "github"
|
||||||
},
|
},
|
||||||
"original": {
|
"original": {
|
||||||
"owner": "nixos",
|
"owner": "nixos",
|
||||||
"ref": "nixpkgs-unstable",
|
|
||||||
"repo": "nixpkgs",
|
|
||||||
"type": "github"
|
|
||||||
}
|
|
||||||
},
|
|
||||||
"nixpkgs_3": {
|
|
||||||
"locked": {
|
|
||||||
"lastModified": 1770562336,
|
|
||||||
"narHash": "sha256-ub1gpAONMFsT/GU2hV6ZWJjur8rJ6kKxdm9IlCT0j84=",
|
|
||||||
"owner": "nixos",
|
|
||||||
"repo": "nixpkgs",
|
|
||||||
"rev": "d6c71932130818840fc8fe9509cf50be8c64634f",
|
|
||||||
"type": "github"
|
|
||||||
},
|
|
||||||
"original": {
|
|
||||||
"owner": "nixos",
|
|
||||||
"ref": "nixos-unstable",
|
|
||||||
"repo": "nixpkgs",
|
"repo": "nixpkgs",
|
||||||
|
"rev": "0182a361324364ae3f436a63005877674cf45efb",
|
||||||
"type": "github"
|
"type": "github"
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
@@ -342,14 +335,15 @@
|
|||||||
"inputs": {
|
"inputs": {
|
||||||
"nixpkgs": [
|
"nixpkgs": [
|
||||||
"nixpkgs"
|
"nixpkgs"
|
||||||
]
|
],
|
||||||
|
"noctalia-qs": "noctalia-qs"
|
||||||
},
|
},
|
||||||
"locked": {
|
"locked": {
|
||||||
"lastModified": 1770897626,
|
"lastModified": 1773498808,
|
||||||
"narHash": "sha256-BfUt5stU3W8mrQCcJ2i2oP/8zGpoT1w8eGpi+UmgM2Y=",
|
"narHash": "sha256-YnSRPOQC+fwSE3aA2C1rt9zaI4i3S4LTYY/3fqmRM4s=",
|
||||||
"owner": "noctalia-dev",
|
"owner": "noctalia-dev",
|
||||||
"repo": "noctalia-shell",
|
"repo": "noctalia-shell",
|
||||||
"rev": "83e9666e8e6482c1aa5aa8531507491c9cf758b1",
|
"rev": "793771cd770431443d71e30ceede201048435a04",
|
||||||
"type": "github"
|
"type": "github"
|
||||||
},
|
},
|
||||||
"original": {
|
"original": {
|
||||||
@@ -358,6 +352,28 @@
|
|||||||
"type": "github"
|
"type": "github"
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
|
"noctalia-qs": {
|
||||||
|
"inputs": {
|
||||||
|
"nixpkgs": [
|
||||||
|
"noctalia",
|
||||||
|
"nixpkgs"
|
||||||
|
],
|
||||||
|
"systems": "systems_4"
|
||||||
|
},
|
||||||
|
"locked": {
|
||||||
|
"lastModified": 1773175685,
|
||||||
|
"narHash": "sha256-YOkWzVq7opym1ovJvSCvqpG6OCDGJwPo/EPeRxcGay4=",
|
||||||
|
"owner": "noctalia-dev",
|
||||||
|
"repo": "noctalia-qs",
|
||||||
|
"rev": "6b9eceefde3d47ca83c544b54bcdd358be4cbd2f",
|
||||||
|
"type": "github"
|
||||||
|
},
|
||||||
|
"original": {
|
||||||
|
"owner": "noctalia-dev",
|
||||||
|
"repo": "noctalia-qs",
|
||||||
|
"type": "github"
|
||||||
|
}
|
||||||
|
},
|
||||||
"nur": {
|
"nur": {
|
||||||
"inputs": {
|
"inputs": {
|
||||||
"flake-parts": [
|
"flake-parts": [
|
||||||
@@ -390,11 +406,11 @@
|
|||||||
]
|
]
|
||||||
},
|
},
|
||||||
"locked": {
|
"locked": {
|
||||||
"lastModified": 1770693276,
|
"lastModified": 1773480707,
|
||||||
"narHash": "sha256-ngXnN5YXu+f45+QGYNN/VEBMQmcBCYGRCqwaK8cxY1s=",
|
"narHash": "sha256-VkuO1LWpK7tS/YDmxJSDeONEwt1RFLPfOucQJwKnsV0=",
|
||||||
"owner": "outfoxxed",
|
"owner": "outfoxxed",
|
||||||
"repo": "quickshell",
|
"repo": "quickshell",
|
||||||
"rev": "dacfa9de829ac7cb173825f593236bf2c21f637e",
|
"rev": "1b2519d9f3d963e575b8a1ef08fab47c7af0d1b3",
|
||||||
"type": "github"
|
"type": "github"
|
||||||
},
|
},
|
||||||
"original": {
|
"original": {
|
||||||
@@ -405,45 +421,52 @@
|
|||||||
},
|
},
|
||||||
"root": {
|
"root": {
|
||||||
"inputs": {
|
"inputs": {
|
||||||
|
"binaryninja": "binaryninja",
|
||||||
|
"claude-code-nix": "claude-code-nix",
|
||||||
"codex-cli-nix": "codex-cli-nix",
|
"codex-cli-nix": "codex-cli-nix",
|
||||||
"home-manager": "home-manager",
|
"home-manager": "home-manager",
|
||||||
"niri": "niri",
|
"niri": "niri",
|
||||||
"nixpkgs": "nixpkgs_3",
|
"nixpkgs": "nixpkgs",
|
||||||
|
"nixpkgs-pre-ad01": "nixpkgs-pre-ad01",
|
||||||
"noctalia": "noctalia",
|
"noctalia": "noctalia",
|
||||||
"quickshell": "quickshell",
|
"quickshell": "quickshell",
|
||||||
"rust-overlay": "rust-overlay",
|
"rust-overlay": "rust-overlay_2",
|
||||||
"stylix": "stylix"
|
"stylix": "stylix"
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
"rust-analyzer-src": {
|
"rust-overlay": {
|
||||||
"flake": false,
|
"inputs": {
|
||||||
|
"nixpkgs": [
|
||||||
|
"niri",
|
||||||
|
"nixpkgs"
|
||||||
|
]
|
||||||
|
},
|
||||||
"locked": {
|
"locked": {
|
||||||
"lastModified": 1770470239,
|
"lastModified": 1757989933,
|
||||||
"narHash": "sha256-0hooiH069rm+xUwRa20+Cj0mvTN6IQy797f3qPLbjsY=",
|
"narHash": "sha256-9cpKYWWPCFhgwQTww8S94rTXgg8Q8ydFv9fXM6I8xQM=",
|
||||||
"owner": "rust-lang",
|
"owner": "oxalica",
|
||||||
"repo": "rust-analyzer",
|
"repo": "rust-overlay",
|
||||||
"rev": "fc5544304143d4bfd10fbf8839b1010c15e1491e",
|
"rev": "8249aa3442fb9b45e615a35f39eca2fe5510d7c3",
|
||||||
"type": "github"
|
"type": "github"
|
||||||
},
|
},
|
||||||
"original": {
|
"original": {
|
||||||
"owner": "rust-lang",
|
"owner": "oxalica",
|
||||||
"ref": "nightly",
|
"repo": "rust-overlay",
|
||||||
"repo": "rust-analyzer",
|
|
||||||
"type": "github"
|
"type": "github"
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
"rust-overlay": {
|
"rust-overlay_2": {
|
||||||
"inputs": {
|
"inputs": {
|
||||||
"nixpkgs": [
|
"nixpkgs": [
|
||||||
"nixpkgs"
|
"nixpkgs"
|
||||||
]
|
]
|
||||||
},
|
},
|
||||||
"locked": {
|
"locked": {
|
||||||
"lastModified": 1770865833,
|
"lastModified": 1773457417,
|
||||||
"narHash": "sha256-oiARqnlvaW6pVGheVi4ye6voqCwhg5hCcGish2ZvQzI=",
|
"narHash": "sha256-waABTSxPdbxml4BhcabHhyQF02Qnj27qRU4ard0mTQo=",
|
||||||
"owner": "oxalica",
|
"owner": "oxalica",
|
||||||
"repo": "rust-overlay",
|
"repo": "rust-overlay",
|
||||||
"rev": "c8cfbe26238638e2f3a2c0ae7e8d240f5e4ded85",
|
"rev": "055977c30249484010750e03074c744dcdaa0d23",
|
||||||
"type": "github"
|
"type": "github"
|
||||||
},
|
},
|
||||||
"original": {
|
"original": {
|
||||||
@@ -465,7 +488,7 @@
|
|||||||
"nixpkgs"
|
"nixpkgs"
|
||||||
],
|
],
|
||||||
"nur": "nur",
|
"nur": "nur",
|
||||||
"systems": "systems_2",
|
"systems": "systems_5",
|
||||||
"tinted-foot": "tinted-foot",
|
"tinted-foot": "tinted-foot",
|
||||||
"tinted-kitty": "tinted-kitty",
|
"tinted-kitty": "tinted-kitty",
|
||||||
"tinted-schemes": "tinted-schemes",
|
"tinted-schemes": "tinted-schemes",
|
||||||
@@ -473,11 +496,11 @@
|
|||||||
"tinted-zed": "tinted-zed"
|
"tinted-zed": "tinted-zed"
|
||||||
},
|
},
|
||||||
"locked": {
|
"locked": {
|
||||||
"lastModified": 1770587906,
|
"lastModified": 1772296853,
|
||||||
"narHash": "sha256-N9ZTG3ia7l4iQO+9JlOj+sX4yu6gl7a3aozrlhSIJwQ=",
|
"narHash": "sha256-pAtzPsgHRKw/2Kv8HgAjSJg450FDldHPWsP3AKG/Xj0=",
|
||||||
"owner": "nix-community",
|
"owner": "nix-community",
|
||||||
"repo": "stylix",
|
"repo": "stylix",
|
||||||
"rev": "72e6483a88d51471a6c55e1d43e7ed2bc47a76a4",
|
"rev": "c4b8e80a1020e09a1f081ad0f98ce804a6e85acf",
|
||||||
"type": "github"
|
"type": "github"
|
||||||
},
|
},
|
||||||
"original": {
|
"original": {
|
||||||
@@ -516,6 +539,51 @@
|
|||||||
"type": "github"
|
"type": "github"
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
|
"systems_3": {
|
||||||
|
"locked": {
|
||||||
|
"lastModified": 1681028828,
|
||||||
|
"narHash": "sha256-Vy1rq5AaRuLzOxct8nz4T6wlgyUR7zLU309k9mBC768=",
|
||||||
|
"owner": "nix-systems",
|
||||||
|
"repo": "default",
|
||||||
|
"rev": "da67096a3b9bf56a91d16901293e51ba5b49a27e",
|
||||||
|
"type": "github"
|
||||||
|
},
|
||||||
|
"original": {
|
||||||
|
"owner": "nix-systems",
|
||||||
|
"repo": "default",
|
||||||
|
"type": "github"
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"systems_4": {
|
||||||
|
"locked": {
|
||||||
|
"lastModified": 1689347949,
|
||||||
|
"narHash": "sha256-12tWmuL2zgBgZkdoB6qXZsgJEH9LR3oUgpaQq2RbI80=",
|
||||||
|
"owner": "nix-systems",
|
||||||
|
"repo": "default-linux",
|
||||||
|
"rev": "31732fcf5e8fea42e59c2488ad31a0e651500f68",
|
||||||
|
"type": "github"
|
||||||
|
},
|
||||||
|
"original": {
|
||||||
|
"owner": "nix-systems",
|
||||||
|
"repo": "default-linux",
|
||||||
|
"type": "github"
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"systems_5": {
|
||||||
|
"locked": {
|
||||||
|
"lastModified": 1681028828,
|
||||||
|
"narHash": "sha256-Vy1rq5AaRuLzOxct8nz4T6wlgyUR7zLU309k9mBC768=",
|
||||||
|
"owner": "nix-systems",
|
||||||
|
"repo": "default",
|
||||||
|
"rev": "da67096a3b9bf56a91d16901293e51ba5b49a27e",
|
||||||
|
"type": "github"
|
||||||
|
},
|
||||||
|
"original": {
|
||||||
|
"owner": "nix-systems",
|
||||||
|
"repo": "default",
|
||||||
|
"type": "github"
|
||||||
|
}
|
||||||
|
},
|
||||||
"tinted-foot": {
|
"tinted-foot": {
|
||||||
"flake": false,
|
"flake": false,
|
||||||
"locked": {
|
"locked": {
|
||||||
@@ -596,24 +664,6 @@
|
|||||||
"repo": "base16-zed",
|
"repo": "base16-zed",
|
||||||
"type": "github"
|
"type": "github"
|
||||||
}
|
}
|
||||||
},
|
|
||||||
"treefmt-nix": {
|
|
||||||
"inputs": {
|
|
||||||
"nixpkgs": "nixpkgs_2"
|
|
||||||
},
|
|
||||||
"locked": {
|
|
||||||
"lastModified": 1770228511,
|
|
||||||
"narHash": "sha256-wQ6NJSuFqAEmIg2VMnLdCnUc0b7vslUohqqGGD+Fyxk=",
|
|
||||||
"owner": "numtide",
|
|
||||||
"repo": "treefmt-nix",
|
|
||||||
"rev": "337a4fe074be1042a35086f15481d763b8ddc0e7",
|
|
||||||
"type": "github"
|
|
||||||
},
|
|
||||||
"original": {
|
|
||||||
"owner": "numtide",
|
|
||||||
"repo": "treefmt-nix",
|
|
||||||
"type": "github"
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
"root": "root",
|
"root": "root",
|
||||||
|
|||||||
@@ -3,6 +3,7 @@
|
|||||||
|
|
||||||
inputs = {
|
inputs = {
|
||||||
nixpkgs.url = "github:nixos/nixpkgs/nixos-unstable";
|
nixpkgs.url = "github:nixos/nixpkgs/nixos-unstable";
|
||||||
|
nixpkgs-pre-ad01.url = "github:nixos/nixpkgs/0182a361324364ae3f436a63005877674cf45efb";
|
||||||
|
|
||||||
home-manager = {
|
home-manager = {
|
||||||
url = "github:nix-community/home-manager";
|
url = "github:nix-community/home-manager";
|
||||||
@@ -30,7 +31,7 @@
|
|||||||
};
|
};
|
||||||
|
|
||||||
niri = {
|
niri = {
|
||||||
url = "github:Lukrecjaaa/niri";
|
url = "github:niri-wm/niri/wip/branch";
|
||||||
inputs.nixpkgs.follows = "nixpkgs";
|
inputs.nixpkgs.follows = "nixpkgs";
|
||||||
};
|
};
|
||||||
|
|
||||||
@@ -38,20 +39,25 @@
|
|||||||
url = "github:sadjow/codex-cli-nix";
|
url = "github:sadjow/codex-cli-nix";
|
||||||
inputs.nixpkgs.follows = "nixpkgs";
|
inputs.nixpkgs.follows = "nixpkgs";
|
||||||
};
|
};
|
||||||
|
|
||||||
|
claude-code-nix = {
|
||||||
|
url = "github:sadjow/claude-code-nix";
|
||||||
|
inputs.nixpkgs.follows = "nixpkgs";
|
||||||
};
|
};
|
||||||
|
|
||||||
outputs = { nixpkgs, home-manager, rust-overlay, stylix, niri, codex-cli-nix, ... }@inputs: {
|
binaryninja = {
|
||||||
homeConfigurations.lusia = home-manager.lib.homeManagerConfiguration {
|
url = "github:jchv/nix-binary-ninja";
|
||||||
pkgs = nixpkgs.legacyPackages.x86_64-linux;
|
inputs.nixpkgs.follows = "nixpkgs";
|
||||||
|
};
|
||||||
|
};
|
||||||
|
|
||||||
|
outputs = inputs: {
|
||||||
|
homeConfigurations.lusia = inputs.home-manager.lib.homeManagerConfiguration {
|
||||||
|
pkgs = inputs.nixpkgs.legacyPackages.x86_64-linux;
|
||||||
|
|
||||||
modules = [
|
modules = [
|
||||||
stylix.homeModules.stylix
|
inputs.stylix.homeModules.stylix
|
||||||
./noctalia.nix
|
|
||||||
./home.nix
|
./home.nix
|
||||||
({ pkgs, ... }: {
|
|
||||||
nixpkgs.overlays = [ rust-overlay.overlays.default ];
|
|
||||||
home.packages = [ pkgs.rustup ];
|
|
||||||
})
|
|
||||||
];
|
];
|
||||||
|
|
||||||
extraSpecialArgs = { inherit inputs; };
|
extraSpecialArgs = { inherit inputs; };
|
||||||
|
|||||||
@@ -1,255 +1,18 @@
|
|||||||
{ config, pkgs, inputs, ... }:
|
{ ... }:
|
||||||
|
|
||||||
{
|
{
|
||||||
|
imports = [
|
||||||
|
./modules/overlays.nix
|
||||||
|
./modules/packages.nix
|
||||||
|
./modules/theming.nix
|
||||||
|
./modules/programs/git.nix
|
||||||
|
./modules/programs/gpg-agent.nix
|
||||||
|
./modules/programs/obs-studio.nix
|
||||||
|
];
|
||||||
|
|
||||||
home.username = "lusia";
|
home.username = "lusia";
|
||||||
home.homeDirectory = "/home/lusia";
|
home.homeDirectory = "/home/lusia";
|
||||||
home.stateVersion = "24.11";
|
home.stateVersion = "24.11";
|
||||||
|
|
||||||
nixpkgs.config.allowUnfree = true;
|
|
||||||
|
|
||||||
home.packages = with pkgs; [
|
|
||||||
# Window manager & desktop environment
|
|
||||||
inputs.niri.packages.${pkgs.system}.niri
|
|
||||||
swayidle
|
|
||||||
swww
|
|
||||||
kanshi
|
|
||||||
|
|
||||||
# System utilities & monitoring
|
|
||||||
btop
|
|
||||||
htop
|
|
||||||
fastfetch
|
|
||||||
dua
|
|
||||||
nh
|
|
||||||
dconf
|
|
||||||
gparted
|
|
||||||
mission-center
|
|
||||||
gnome-software
|
|
||||||
|
|
||||||
# CLI tools & utilities
|
|
||||||
ripgrep
|
|
||||||
fd
|
|
||||||
jq
|
|
||||||
entr
|
|
||||||
mdcat
|
|
||||||
sshpass
|
|
||||||
exiftool
|
|
||||||
|
|
||||||
# File managers & compression tools
|
|
||||||
yazi
|
|
||||||
nautilus
|
|
||||||
file-roller
|
|
||||||
p7zip
|
|
||||||
unzip
|
|
||||||
zip
|
|
||||||
unrar
|
|
||||||
|
|
||||||
# Media viewers & players
|
|
||||||
loupe
|
|
||||||
evince
|
|
||||||
vlc
|
|
||||||
mpv
|
|
||||||
zathura
|
|
||||||
gqrx
|
|
||||||
|
|
||||||
# Media creation & editing
|
|
||||||
gimp
|
|
||||||
blender
|
|
||||||
ffmpeg
|
|
||||||
yt-dlp
|
|
||||||
waifu2x-converter-cpp
|
|
||||||
libheif
|
|
||||||
upscayl
|
|
||||||
inkscape
|
|
||||||
|
|
||||||
# Office & productivity
|
|
||||||
libreoffice-fresh
|
|
||||||
gnome-text-editor
|
|
||||||
gnome-calculator
|
|
||||||
obsidian
|
|
||||||
simple-scan
|
|
||||||
system-config-printer
|
|
||||||
calibre
|
|
||||||
|
|
||||||
# Development tools
|
|
||||||
neovim
|
|
||||||
vscode.fhs
|
|
||||||
lazygit
|
|
||||||
cargo-cross
|
|
||||||
cargo-generate
|
|
||||||
probe-rs-tools
|
|
||||||
elf2uf2-rs
|
|
||||||
dbeaver-bin
|
|
||||||
gnome-boxes
|
|
||||||
|
|
||||||
# AI development tools
|
|
||||||
claude-code
|
|
||||||
inputs.codex-cli-nix.packages.${pkgs.system}.default
|
|
||||||
gemini-cli
|
|
||||||
|
|
||||||
# Internet & networking
|
|
||||||
firefox-bin
|
|
||||||
filezilla
|
|
||||||
qbittorrent
|
|
||||||
tor-browser
|
|
||||||
nmap
|
|
||||||
gnome-network-displays
|
|
||||||
|
|
||||||
# Privacy & security
|
|
||||||
gnupg
|
|
||||||
pinentry-qt
|
|
||||||
kdePackages.kleopatra
|
|
||||||
monero-gui
|
|
||||||
|
|
||||||
# Python & AI
|
|
||||||
python314
|
|
||||||
openai-whisper
|
|
||||||
|
|
||||||
# Document processing
|
|
||||||
tectonic
|
|
||||||
mermaid-cli
|
|
||||||
|
|
||||||
# Theming
|
|
||||||
pywal
|
|
||||||
pywalfox-native
|
|
||||||
morewaita-icon-theme
|
|
||||||
|
|
||||||
# Wrap PrismLauncher to fix Minecraft GLFW Wayland issues
|
|
||||||
(pkgs.symlinkJoin {
|
|
||||||
name = "prismlauncher";
|
|
||||||
paths = [ pkgs.prismlauncher ];
|
|
||||||
buildInputs = [ pkgs.makeWrapper ];
|
|
||||||
postBuild = ''
|
|
||||||
wrapProgram $out/bin/prismlauncher \
|
|
||||||
--set SDL_VIDEODRIVER "x11"
|
|
||||||
'';
|
|
||||||
})
|
|
||||||
|
|
||||||
# Wrap Krita to work with XWayland (Krita doesn't support native Wayland)
|
|
||||||
(pkgs.symlinkJoin {
|
|
||||||
name = "krita";
|
|
||||||
paths = [ pkgs.krita ];
|
|
||||||
buildInputs = [ pkgs.makeWrapper ];
|
|
||||||
postBuild = ''
|
|
||||||
wrapProgram $out/bin/krita \
|
|
||||||
--set DISPLAY ":0" \
|
|
||||||
--set QT_AUTO_SCREEN_SCALE_FACTOR "0" \
|
|
||||||
--set QT_SCALE_FACTOR "2" \
|
|
||||||
--set QT_FONT_DPI "96"
|
|
||||||
'';
|
|
||||||
})
|
|
||||||
];
|
|
||||||
|
|
||||||
# Set dark mode and Nautilus preferences
|
|
||||||
dconf = {
|
|
||||||
enable = true;
|
|
||||||
settings = {
|
|
||||||
"org/gnome/desktop/interface" = {
|
|
||||||
color-scheme = "prefer-dark";
|
|
||||||
};
|
|
||||||
"org/gnome/nautilus/preferences" = {
|
|
||||||
show-image-thumbnails = "always";
|
|
||||||
};
|
|
||||||
};
|
|
||||||
};
|
|
||||||
# Set morewaita as the default icon theme
|
|
||||||
gtk = {
|
|
||||||
enable = true;
|
|
||||||
|
|
||||||
iconTheme = {
|
|
||||||
name = "MoreWaita";
|
|
||||||
package = pkgs.morewaita-icon-theme;
|
|
||||||
};
|
|
||||||
|
|
||||||
# Stylix manages theme, commenting out manual config
|
|
||||||
# theme = {
|
|
||||||
# name = "Adwaita-dark";
|
|
||||||
# package = pkgs.gnome-themes-extra;
|
|
||||||
# };
|
|
||||||
|
|
||||||
cursorTheme = {
|
|
||||||
name = "Adwaita";
|
|
||||||
package = pkgs.adwaita-icon-theme;
|
|
||||||
};
|
|
||||||
|
|
||||||
# Force dark mode preference for GTK3
|
|
||||||
gtk3.extraConfig = {
|
|
||||||
gtk-application-prefer-dark-theme = 1;
|
|
||||||
};
|
|
||||||
|
|
||||||
# Force dark mode preference for GTK4
|
|
||||||
gtk4.extraConfig = {
|
|
||||||
gtk-application-prefer-dark-theme = 1;
|
|
||||||
};
|
|
||||||
};
|
|
||||||
|
|
||||||
home.pointerCursor = {
|
|
||||||
name = "Adwaita";
|
|
||||||
package = pkgs.adwaita-icon-theme;
|
|
||||||
size = 24;
|
|
||||||
gtk.enable = true;
|
|
||||||
x11 = {
|
|
||||||
enable = true;
|
|
||||||
defaultCursor = "Adwaita";
|
|
||||||
};
|
|
||||||
};
|
|
||||||
|
|
||||||
qt = {
|
|
||||||
enable = true;
|
|
||||||
platformTheme.name = "adwaita";
|
|
||||||
style = {
|
|
||||||
name = "adwaita-dark";
|
|
||||||
};
|
|
||||||
};
|
|
||||||
|
|
||||||
# Enable and configure git
|
|
||||||
programs.git = {
|
|
||||||
enable = true;
|
|
||||||
settings = {
|
|
||||||
user.name = "Lukrecja";
|
|
||||||
user.email = "lusiaaa425@gmail.com";
|
|
||||||
credential.helper = "store";
|
|
||||||
http."https://git.bgs.local:3000/" = {
|
|
||||||
sslCAInfo = "/home/lusia/VSTech-vpn/bgs-git-ca.crt";
|
|
||||||
};
|
|
||||||
};
|
|
||||||
};
|
|
||||||
|
|
||||||
# Configure GPG agent with pinentry
|
|
||||||
services.gpg-agent = {
|
|
||||||
enable = true;
|
|
||||||
pinentry.package = pkgs.pinentry-qt;
|
|
||||||
enableSshSupport = true;
|
|
||||||
};
|
|
||||||
|
|
||||||
# OBS with plugins
|
|
||||||
programs.obs-studio = {
|
|
||||||
enable = true;
|
|
||||||
|
|
||||||
plugins = with pkgs.obs-studio-plugins; [
|
|
||||||
wlrobs
|
|
||||||
obs-backgroundremoval
|
|
||||||
obs-pipewire-audio-capture
|
|
||||||
obs-vaapi
|
|
||||||
];
|
|
||||||
};
|
|
||||||
|
|
||||||
programs.home-manager.enable = true;
|
programs.home-manager.enable = true;
|
||||||
|
|
||||||
# Stylix theming
|
|
||||||
stylix = {
|
|
||||||
enable = true;
|
|
||||||
|
|
||||||
# Wallpaper required by Stylix (even though we use swww to actually display it)
|
|
||||||
image = ./wallpaper;
|
|
||||||
|
|
||||||
# Use pywal's color scheme instead of extracting from image
|
|
||||||
# sync-colors.sh will generate colors.yaml here
|
|
||||||
base16Scheme = ./colors.yaml;
|
|
||||||
|
|
||||||
# Use dark mode
|
|
||||||
polarity = "dark";
|
|
||||||
|
|
||||||
# Disable Qt theming (it's janky and doesn't apply everywhere)
|
|
||||||
# targets.qt.enable = false;
|
|
||||||
};
|
|
||||||
}
|
}
|
||||||
|
|||||||
18
home-manager/modules/overlays.nix
Normal file
18
home-manager/modules/overlays.nix
Normal file
@@ -0,0 +1,18 @@
|
|||||||
|
{ pkgs, inputs, ... }:
|
||||||
|
|
||||||
|
let
|
||||||
|
system = pkgs.stdenv.hostPlatform.system;
|
||||||
|
pinnedPkgs = inputs.nixpkgs-pre-ad01.legacyPackages.${system};
|
||||||
|
in {
|
||||||
|
nixpkgs.config.allowUnfree = true;
|
||||||
|
|
||||||
|
nixpkgs.overlays = [
|
||||||
|
inputs.rust-overlay.overlays.default
|
||||||
|
(final: prev: {
|
||||||
|
gqrx = pinnedPkgs.gqrx;
|
||||||
|
krita = pinnedPkgs.krita;
|
||||||
|
})
|
||||||
|
];
|
||||||
|
|
||||||
|
home.packages = [ pkgs.rustup ];
|
||||||
|
}
|
||||||
145
home-manager/modules/packages.nix
Normal file
145
home-manager/modules/packages.nix
Normal file
@@ -0,0 +1,145 @@
|
|||||||
|
{ pkgs, inputs, ... }:
|
||||||
|
|
||||||
|
let
|
||||||
|
system = pkgs.stdenv.hostPlatform.system;
|
||||||
|
in {
|
||||||
|
home.packages = with pkgs; [
|
||||||
|
# Window manager & desktop environment
|
||||||
|
inputs.niri.packages.${system}.niri
|
||||||
|
inputs.noctalia.packages.${system}.default
|
||||||
|
inputs.quickshell.packages.${system}.default
|
||||||
|
swayidle
|
||||||
|
swww
|
||||||
|
kanshi
|
||||||
|
hyprlock
|
||||||
|
|
||||||
|
# System utilities & monitoring
|
||||||
|
btop
|
||||||
|
htop
|
||||||
|
fastfetch
|
||||||
|
dua
|
||||||
|
nh
|
||||||
|
dconf
|
||||||
|
gparted
|
||||||
|
mission-center
|
||||||
|
gnome-software
|
||||||
|
|
||||||
|
# CLI tools & utilities
|
||||||
|
ripgrep
|
||||||
|
fd
|
||||||
|
jq
|
||||||
|
entr
|
||||||
|
mdcat
|
||||||
|
sshpass
|
||||||
|
exiftool
|
||||||
|
|
||||||
|
# File managers & compression tools
|
||||||
|
yazi
|
||||||
|
nautilus
|
||||||
|
file-roller
|
||||||
|
p7zip
|
||||||
|
unzip
|
||||||
|
zip
|
||||||
|
unrar
|
||||||
|
|
||||||
|
# Media viewers & players
|
||||||
|
loupe
|
||||||
|
evince
|
||||||
|
vlc
|
||||||
|
mpv
|
||||||
|
zathura
|
||||||
|
|
||||||
|
# SDR
|
||||||
|
gqrx
|
||||||
|
gnuradio
|
||||||
|
gnuradioPackages.lora_sdr
|
||||||
|
|
||||||
|
# Media creation & editing
|
||||||
|
gimp
|
||||||
|
blender
|
||||||
|
ffmpeg
|
||||||
|
yt-dlp
|
||||||
|
waifu2x-converter-cpp
|
||||||
|
libheif
|
||||||
|
upscayl
|
||||||
|
inkscape
|
||||||
|
|
||||||
|
# Office & productivity
|
||||||
|
libreoffice-fresh
|
||||||
|
gnome-text-editor
|
||||||
|
gnome-calculator
|
||||||
|
obsidian
|
||||||
|
simple-scan
|
||||||
|
system-config-printer
|
||||||
|
|
||||||
|
# Development tools
|
||||||
|
neovim
|
||||||
|
vscode.fhs
|
||||||
|
lazygit
|
||||||
|
cargo-cross
|
||||||
|
cargo-generate
|
||||||
|
probe-rs-tools
|
||||||
|
elf2uf2-rs
|
||||||
|
dbeaver-bin
|
||||||
|
gnome-boxes
|
||||||
|
cutecom
|
||||||
|
inputs.binaryninja.packages.${system}.binary-ninja-free-wayland
|
||||||
|
helix
|
||||||
|
|
||||||
|
# AI development tools
|
||||||
|
inputs.claude-code-nix.packages.${system}.default
|
||||||
|
inputs.codex-cli-nix.packages.${system}.default
|
||||||
|
gemini-cli
|
||||||
|
|
||||||
|
# Internet & networking
|
||||||
|
firefox-bin
|
||||||
|
filezilla
|
||||||
|
qbittorrent
|
||||||
|
tor-browser
|
||||||
|
nmap
|
||||||
|
gnome-network-displays
|
||||||
|
|
||||||
|
# Privacy & security
|
||||||
|
gnupg
|
||||||
|
pinentry-qt
|
||||||
|
kdePackages.kleopatra
|
||||||
|
monero-gui
|
||||||
|
|
||||||
|
# Python & AI
|
||||||
|
python314
|
||||||
|
openai-whisper
|
||||||
|
|
||||||
|
# Document processing
|
||||||
|
tectonic
|
||||||
|
mermaid-cli
|
||||||
|
|
||||||
|
# Astronomy
|
||||||
|
stellarium
|
||||||
|
kstars
|
||||||
|
|
||||||
|
# Wrap PrismLauncher to fix Minecraft GLFW Wayland issues
|
||||||
|
(pkgs.symlinkJoin {
|
||||||
|
name = "prismlauncher";
|
||||||
|
paths = [ pkgs.prismlauncher ];
|
||||||
|
buildInputs = [ pkgs.makeWrapper ];
|
||||||
|
postBuild = ''
|
||||||
|
wrapProgram $out/bin/prismlauncher \
|
||||||
|
--set SDL_VIDEODRIVER "x11"
|
||||||
|
'';
|
||||||
|
})
|
||||||
|
|
||||||
|
# Wrap Krita to work with XWayland (Krita doesn't support native Wayland)
|
||||||
|
(pkgs.symlinkJoin {
|
||||||
|
name = "krita";
|
||||||
|
paths = [ pkgs.krita ];
|
||||||
|
buildInputs = [ pkgs.makeWrapper ];
|
||||||
|
postBuild = ''
|
||||||
|
wrapProgram $out/bin/krita \
|
||||||
|
--set DISPLAY ":0" \
|
||||||
|
--set QT_AUTO_SCREEN_SCALE_FACTOR "0" \
|
||||||
|
--set QT_SCALE_FACTOR "2" \
|
||||||
|
--set QT_FONT_DPI "96"
|
||||||
|
'';
|
||||||
|
})
|
||||||
|
];
|
||||||
|
}
|
||||||
15
home-manager/modules/programs/git.nix
Normal file
15
home-manager/modules/programs/git.nix
Normal file
@@ -0,0 +1,15 @@
|
|||||||
|
{ ... }:
|
||||||
|
|
||||||
|
{
|
||||||
|
programs.git = {
|
||||||
|
enable = true;
|
||||||
|
settings = {
|
||||||
|
user.name = "Lukrecja Pleskaczyńska";
|
||||||
|
user.email = "lukrecjaaa@proton.me";
|
||||||
|
credential.helper = "store";
|
||||||
|
http."https://git.bgs.local:3000/" = {
|
||||||
|
sslCAInfo = "/home/lusia/VSTech-vpn/bgs-git-ca.crt";
|
||||||
|
};
|
||||||
|
};
|
||||||
|
};
|
||||||
|
}
|
||||||
9
home-manager/modules/programs/gpg-agent.nix
Normal file
9
home-manager/modules/programs/gpg-agent.nix
Normal file
@@ -0,0 +1,9 @@
|
|||||||
|
{ pkgs, ... }:
|
||||||
|
|
||||||
|
{
|
||||||
|
services.gpg-agent = {
|
||||||
|
enable = true;
|
||||||
|
pinentry.package = pkgs.pinentry-qt;
|
||||||
|
enableSshSupport = true;
|
||||||
|
};
|
||||||
|
}
|
||||||
13
home-manager/modules/programs/obs-studio.nix
Normal file
13
home-manager/modules/programs/obs-studio.nix
Normal file
@@ -0,0 +1,13 @@
|
|||||||
|
{ pkgs, ... }:
|
||||||
|
|
||||||
|
{
|
||||||
|
programs.obs-studio = {
|
||||||
|
enable = true;
|
||||||
|
plugins = with pkgs.obs-studio-plugins; [
|
||||||
|
wlrobs
|
||||||
|
obs-backgroundremoval
|
||||||
|
obs-pipewire-audio-capture
|
||||||
|
obs-vaapi
|
||||||
|
];
|
||||||
|
};
|
||||||
|
}
|
||||||
62
home-manager/modules/theming.nix
Normal file
62
home-manager/modules/theming.nix
Normal file
@@ -0,0 +1,62 @@
|
|||||||
|
{ pkgs, ... }:
|
||||||
|
|
||||||
|
{
|
||||||
|
stylix = {
|
||||||
|
enable = true;
|
||||||
|
image = ../wallpaper;
|
||||||
|
base16Scheme = ../colors.yaml;
|
||||||
|
polarity = "dark";
|
||||||
|
targets.qt.enable = true;
|
||||||
|
};
|
||||||
|
|
||||||
|
dconf = {
|
||||||
|
enable = true;
|
||||||
|
settings = {
|
||||||
|
"org/gnome/desktop/interface" = {
|
||||||
|
color-scheme = "prefer-dark";
|
||||||
|
};
|
||||||
|
"org/gnome/nautilus/preferences" = {
|
||||||
|
show-image-thumbnails = "always";
|
||||||
|
};
|
||||||
|
};
|
||||||
|
};
|
||||||
|
|
||||||
|
gtk = {
|
||||||
|
enable = true;
|
||||||
|
|
||||||
|
iconTheme = {
|
||||||
|
name = "MoreWaita";
|
||||||
|
package = pkgs.morewaita-icon-theme;
|
||||||
|
};
|
||||||
|
|
||||||
|
cursorTheme = {
|
||||||
|
name = "Adwaita";
|
||||||
|
package = pkgs.adwaita-icon-theme;
|
||||||
|
};
|
||||||
|
|
||||||
|
gtk3.extraConfig = {
|
||||||
|
gtk-application-prefer-dark-theme = 1;
|
||||||
|
};
|
||||||
|
|
||||||
|
gtk4.extraConfig = {
|
||||||
|
gtk-application-prefer-dark-theme = 1;
|
||||||
|
};
|
||||||
|
};
|
||||||
|
|
||||||
|
home.pointerCursor = {
|
||||||
|
name = "Adwaita";
|
||||||
|
package = pkgs.adwaita-icon-theme;
|
||||||
|
size = 24;
|
||||||
|
gtk.enable = true;
|
||||||
|
x11 = {
|
||||||
|
enable = true;
|
||||||
|
defaultCursor = "Adwaita";
|
||||||
|
};
|
||||||
|
};
|
||||||
|
|
||||||
|
home.packages = with pkgs; [
|
||||||
|
pywal
|
||||||
|
pywalfox-native
|
||||||
|
morewaita-icon-theme
|
||||||
|
];
|
||||||
|
}
|
||||||
@@ -1,18 +0,0 @@
|
|||||||
{ pkgs, inputs, ... }:
|
|
||||||
{
|
|
||||||
# import the home manager module
|
|
||||||
#imports = [
|
|
||||||
# inputs.noctalia.homeModules.default
|
|
||||||
#];
|
|
||||||
|
|
||||||
# Install the package
|
|
||||||
home.packages = [
|
|
||||||
inputs.noctalia.packages.${pkgs.stdenv.hostPlatform.system}.default
|
|
||||||
inputs.quickshell.packages.${pkgs.stdenv.hostPlatform.system}.default
|
|
||||||
];
|
|
||||||
|
|
||||||
# configure options
|
|
||||||
#programs.noctalia-shell = {
|
|
||||||
# enable = true;
|
|
||||||
#};
|
|
||||||
}
|
|
||||||
Binary file not shown.
|
Before Width: | Height: | Size: 7.7 MiB After Width: | Height: | Size: 7.7 MiB |
73
hypr/hyprlock.conf
Normal file
73
hypr/hyprlock.conf
Normal file
@@ -0,0 +1,73 @@
|
|||||||
|
$font = Monospace
|
||||||
|
|
||||||
|
general {
|
||||||
|
hide_cursor = false
|
||||||
|
}
|
||||||
|
|
||||||
|
animations {
|
||||||
|
enabled = true
|
||||||
|
bezier = linear, 1, 1, 0, 0
|
||||||
|
animation = fadeIn, 1, 5, linear
|
||||||
|
animation = fadeOut, 1, 5, linear
|
||||||
|
animation = inputFieldDots, 1, 2, linear
|
||||||
|
}
|
||||||
|
|
||||||
|
background {
|
||||||
|
monitor =
|
||||||
|
path = screenshot
|
||||||
|
blur_passes = 4
|
||||||
|
}
|
||||||
|
|
||||||
|
source = $HOME/.cache/wal/colors-hyprland.conf
|
||||||
|
|
||||||
|
input-field {
|
||||||
|
monitor =
|
||||||
|
size = 20%, 5%
|
||||||
|
outline_thickness = 3
|
||||||
|
inner_color = rgba(0, 0, 0, 0.0) # no fill
|
||||||
|
|
||||||
|
outer_color = $color1 $color2 45deg
|
||||||
|
check_color = $color3 $color4 120deg
|
||||||
|
fail_color = $color5 $color6 40deg
|
||||||
|
|
||||||
|
font_color = $color15
|
||||||
|
fade_on_empty = false
|
||||||
|
rounding = 32
|
||||||
|
|
||||||
|
font_family = $font
|
||||||
|
placeholder_text = unlock me :3
|
||||||
|
fail_text = wrong you fucking idiot >:3
|
||||||
|
|
||||||
|
dots_text_format = ❤
|
||||||
|
dots_size = 0.5
|
||||||
|
dots_spacing = 0.3
|
||||||
|
|
||||||
|
position = 0, -20
|
||||||
|
halign = center
|
||||||
|
valign = center
|
||||||
|
}
|
||||||
|
|
||||||
|
# TIME
|
||||||
|
label {
|
||||||
|
monitor =
|
||||||
|
text = $TIME
|
||||||
|
font_size = 90
|
||||||
|
font_family = $font
|
||||||
|
|
||||||
|
position = 0, 165
|
||||||
|
halign = center
|
||||||
|
valign = center
|
||||||
|
}
|
||||||
|
|
||||||
|
# DATE
|
||||||
|
label {
|
||||||
|
monitor =
|
||||||
|
text = cmd[update:60000] date +"%A, %d %B %Y"
|
||||||
|
font_size = 25
|
||||||
|
font_family = $font
|
||||||
|
|
||||||
|
position = 0, 75
|
||||||
|
halign = center
|
||||||
|
valign = center
|
||||||
|
}
|
||||||
|
|
||||||
505
niri/config.kdl
505
niri/config.kdl
@@ -1,42 +1,25 @@
|
|||||||
layout {
|
layout {
|
||||||
blur {
|
|
||||||
noise 0.1
|
|
||||||
passes 3
|
|
||||||
radius 10
|
|
||||||
}
|
|
||||||
gaps 5
|
gaps 5
|
||||||
background-color "transparent"
|
background-color "transparent"
|
||||||
always-center-single-column
|
always-center-single-column
|
||||||
center-focused-column "never"
|
center-focused-column "never"
|
||||||
|
|
||||||
preset-column-widths {
|
preset-column-widths {
|
||||||
proportion 0.33333
|
proportion 0.33333
|
||||||
proportion 0.5
|
proportion 0.5
|
||||||
proportion 0.66667
|
proportion 0.66667
|
||||||
}
|
}
|
||||||
|
default-column-width {
|
||||||
default-column-width { proportion 0.5; }
|
proportion 0.5
|
||||||
|
}
|
||||||
focus-ring {
|
focus-ring {
|
||||||
off
|
off
|
||||||
width 1
|
|
||||||
active-color "#ffffff33"
|
|
||||||
}
|
}
|
||||||
|
|
||||||
border {
|
border {
|
||||||
off
|
off
|
||||||
width 1
|
|
||||||
active-color "#555"
|
|
||||||
inactive-color "#222"
|
|
||||||
}
|
}
|
||||||
|
|
||||||
shadow {
|
shadow {
|
||||||
off
|
off
|
||||||
softness 20
|
|
||||||
spread 5
|
|
||||||
offset x=0 y=5
|
|
||||||
}
|
}
|
||||||
|
|
||||||
tab-indicator {
|
tab-indicator {
|
||||||
width 2
|
width 2
|
||||||
gap -5
|
gap -5
|
||||||
@@ -45,32 +28,22 @@ layout {
|
|||||||
active-color "#fff"
|
active-color "#fff"
|
||||||
inactive-color "#ffffff55"
|
inactive-color "#ffffff55"
|
||||||
}
|
}
|
||||||
|
|
||||||
insert-hint {
|
insert-hint {
|
||||||
color "#ffffff22"
|
color "#ffffff22"
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
//cursor {
|
|
||||||
// xcursor-theme "Plasma-Overdose"
|
|
||||||
// xcursor-size 64
|
|
||||||
//}
|
|
||||||
|
|
||||||
prefer-no-csd
|
prefer-no-csd
|
||||||
|
|
||||||
screenshot-path "~/Pictures/Screenshots/Screenshot from %Y-%m-%d %H-%M-%S.png"
|
screenshot-path "~/Pictures/Screenshots/Screenshot from %Y-%m-%d %H-%M-%S.png"
|
||||||
|
// Sticky, non-moving wallpaper
|
||||||
layer-rule {
|
layer-rule {
|
||||||
match namespace="^swww-daemon$"
|
match namespace="^swww-daemon$"
|
||||||
place-within-backdrop true
|
place-within-backdrop true
|
||||||
}
|
}
|
||||||
|
|
||||||
overview {
|
overview {
|
||||||
workspace-shadow {
|
workspace-shadow {
|
||||||
off
|
off
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
animations {
|
animations {
|
||||||
window-open {
|
window-open {
|
||||||
spring damping-ratio=1.0 stiffness=700 epsilon=0.0001
|
spring damping-ratio=1.0 stiffness=700 epsilon=0.0001
|
||||||
@@ -85,207 +58,365 @@ animations {
|
|||||||
spring damping-ratio=1.0 stiffness=600 epsilon=0.0001
|
spring damping-ratio=1.0 stiffness=600 epsilon=0.0001
|
||||||
}
|
}
|
||||||
workspace-switch {
|
workspace-switch {
|
||||||
spring damping-ratio=1.0 stiffness=800 epsilon=0.00001
|
spring damping-ratio=1.0 stiffness=800 epsilon=1e-5
|
||||||
}
|
}
|
||||||
horizontal-view-movement {
|
horizontal-view-movement {
|
||||||
spring damping-ratio=1.0 stiffness=700 epsilon=0.0001
|
spring damping-ratio=1.0 stiffness=700 epsilon=0.0001
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
// Open the Firefox picture-in-picture player as floating by default
|
||||||
// Open the Firefox picture-in-picture player as floating by default.
|
|
||||||
window-rule {
|
window-rule {
|
||||||
match app-id=r#"firefox$"# title="^Picture-in-Picture$"
|
match app-id="firefox$" title="^Picture-in-Picture$"
|
||||||
open-floating true
|
open-floating true
|
||||||
}
|
}
|
||||||
|
window-rule {
|
||||||
|
match app-id="^VirtualBox Machine$"
|
||||||
|
open-maximized true
|
||||||
|
open-maximized-to-edges true
|
||||||
|
}
|
||||||
window-rule {
|
window-rule {
|
||||||
geometry-corner-radius 20
|
geometry-corner-radius 20
|
||||||
clip-to-geometry true
|
clip-to-geometry true
|
||||||
}
|
}
|
||||||
|
|
||||||
window-rule {
|
window-rule {
|
||||||
match app-id="kitty"
|
match app-id="kitty"
|
||||||
blur {
|
|
||||||
on
|
background-effect {
|
||||||
|
blur true
|
||||||
|
noise 0.1
|
||||||
|
xray true
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
window-rule {
|
||||||
|
match app-id="kitty" is-floating=true
|
||||||
|
|
||||||
|
background-effect {
|
||||||
|
blur true
|
||||||
|
noise 0.1
|
||||||
|
xray false
|
||||||
|
}
|
||||||
|
}
|
||||||
window-rule {
|
window-rule {
|
||||||
match app-id="code"
|
match app-id="code"
|
||||||
opacity 0.9
|
opacity 0.85
|
||||||
}
|
|
||||||
|
|
||||||
window-rule {
|
background-effect {
|
||||||
match app-id="firefox"
|
blur true
|
||||||
opacity 0.9
|
noise 0.1
|
||||||
blur {
|
xray true
|
||||||
on
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
window-rule {
|
||||||
|
match app-id="code" is-floating=true
|
||||||
|
|
||||||
|
background-effect {
|
||||||
|
blur true
|
||||||
|
noise 0.1
|
||||||
|
xray false
|
||||||
|
}
|
||||||
|
}
|
||||||
window-rule {
|
window-rule {
|
||||||
match app-id="org.gnome.Nautilus"
|
match app-id="org.gnome.Nautilus"
|
||||||
opacity 0.8
|
opacity 0.85
|
||||||
blur {
|
|
||||||
on
|
background-effect {
|
||||||
|
blur true
|
||||||
|
noise 0.1
|
||||||
|
xray true
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
window-rule {
|
||||||
|
match app-id="org.gnome.Nautilus" is-floating=true
|
||||||
|
|
||||||
|
background-effect {
|
||||||
|
blur true
|
||||||
|
noise 0.1
|
||||||
|
xray false
|
||||||
|
}
|
||||||
|
}
|
||||||
layer-rule {
|
layer-rule {
|
||||||
match namespace="^quickshell-overview$"
|
match namespace="^quickshell-overview$"
|
||||||
}
|
}
|
||||||
|
|
||||||
binds {
|
binds {
|
||||||
// Core Noctalia binds
|
// Core Noctalia binds
|
||||||
Mod+Space { spawn "noctalia-shell" "ipc" "call" "launcher" "toggle"; }
|
Mod+Space {
|
||||||
Mod+S { spawn "noctalia-shell" "ipc" "call" "sidePanel" "toggle"; }
|
spawn "noctalia-shell" "ipc" "call" "launcher" "toggle"
|
||||||
Mod+Comma { spawn "noctalia-shell" "ipc" "call" "settings" "toggle"; }
|
}
|
||||||
|
Mod+Comma {
|
||||||
|
spawn "noctalia-shell" "ipc" "call" "settings" "toggle"
|
||||||
|
}
|
||||||
// Audio controls
|
// Audio controls
|
||||||
XF86AudioRaiseVolume { spawn "noctalia-shell" "ipc" "call" "volume" "increase"; }
|
XF86AudioRaiseVolume {
|
||||||
XF86AudioLowerVolume { spawn "noctalia-shell" "ipc" "call" "volume" "decrease"; }
|
spawn "noctalia-shell" "ipc" "call" "volume" "increase"
|
||||||
XF86AudioMute { spawn "noctalia-shell" "ipc" "call" "volume" "muteOutput"; }
|
}
|
||||||
|
XF86AudioLowerVolume {
|
||||||
|
spawn "noctalia-shell" "ipc" "call" "volume" "decrease"
|
||||||
|
}
|
||||||
|
XF86AudioMute {
|
||||||
|
spawn "noctalia-shell" "ipc" "call" "volume" "muteOutput"
|
||||||
|
}
|
||||||
// Brightness controls
|
// Brightness controls
|
||||||
XF86MonBrightnessUp { spawn "noctalia-shell" "ipc" "call" "brightness" "increase"; }
|
XF86MonBrightnessUp {
|
||||||
XF86MonBrightnessDown { spawn "noctalia-shell" "ipc" "call" "brightness" "decrease"; }
|
spawn "noctalia-shell" "ipc" "call" "brightness" "increase"
|
||||||
|
}
|
||||||
|
XF86MonBrightnessDown {
|
||||||
|
spawn "noctalia-shell" "ipc" "call" "brightness" "decrease"
|
||||||
|
}
|
||||||
// Utility shortcuts
|
// Utility shortcuts
|
||||||
//Mod+V { spawn "noctalia-shell" "ipc" "call" "launcher" "clipboard"; }
|
Mod+L {
|
||||||
//Mod+C { spawn "noctalia-shell" "ipc" "call" "launcher" "calculator"; }
|
spawn "hyprlock"
|
||||||
Mod+L { spawn "noctalia-shell" "ipc" "call" "lockScreen" "lock"; }
|
}
|
||||||
|
|
||||||
// Mod-Shift-/, which is usually the same as Mod-?,
|
// Mod-Shift-/, which is usually the same as Mod-?,
|
||||||
// shows a list of important hotkeys.
|
// shows a list of important hotkeys.
|
||||||
Mod+Shift+Slash { show-hotkey-overlay; }
|
Mod+Shift+Slash {
|
||||||
|
show-hotkey-overlay
|
||||||
// Suggested binds for running programs: terminal, app launcher, screen locker.
|
}
|
||||||
Mod+T { spawn "kitty"; }
|
Mod+T {
|
||||||
//Mod+Enter { spawn "kitty"; }
|
spawn "kitty"
|
||||||
Mod+D { spawn "ignis" "toggle-window" "Launcher"; }
|
}
|
||||||
//Mod+L { spawn "hyprlock"; }
|
Mod+E {
|
||||||
Mod+E { spawn "nautilus"; }
|
spawn "nautilus"
|
||||||
Mod+Escape { spawn "ignis" "toggle-window" "PowerMenu"; }
|
}
|
||||||
Mod+I { spawn "ignis" "toggle-window" "Settings"; }
|
XF86AudioMicMute allow-when-locked=true {
|
||||||
|
spawn "wpctl" "set-mute" "@DEFAULT_AUDIO_SOURCE@" "toggle"
|
||||||
// Example volume keys mappings for PipeWire & WirePlumber.
|
}
|
||||||
// The allow-when-locked=true property makes them work even when the session is locked.
|
Mod+Q {
|
||||||
//XF86AudioRaiseVolume allow-when-locked=true { spawn "wpctl" "set-volume" "@DEFAULT_AUDIO_SINK@" "0.1+"; }
|
close-window
|
||||||
//XF86AudioLowerVolume allow-when-locked=true { spawn "wpctl" "set-volume" "@DEFAULT_AUDIO_SINK@" "0.1-"; }
|
}
|
||||||
//XF86AudioMute allow-when-locked=true { spawn "wpctl" "set-mute" "@DEFAULT_AUDIO_SINK@" "toggle"; }
|
Mod+Left {
|
||||||
XF86AudioMicMute allow-when-locked=true { spawn "wpctl" "set-mute" "@DEFAULT_AUDIO_SOURCE@" "toggle"; }
|
focus-column-left
|
||||||
|
}
|
||||||
Mod+Q { close-window; }
|
Mod+Down {
|
||||||
|
focus-window-down
|
||||||
Mod+Left { focus-column-left; }
|
}
|
||||||
Mod+Down { focus-window-down; }
|
Mod+Up {
|
||||||
Mod+Up { focus-window-up; }
|
focus-window-up
|
||||||
Mod+Right { focus-column-right; }
|
}
|
||||||
|
Mod+Right {
|
||||||
Mod+Ctrl+Left { move-column-left; }
|
focus-column-right
|
||||||
Mod+Ctrl+Down { move-window-down; }
|
}
|
||||||
Mod+Ctrl+Up { move-window-up; }
|
Mod+Ctrl+Left {
|
||||||
Mod+Ctrl+Right { move-column-right; }
|
move-column-left
|
||||||
|
}
|
||||||
Mod+Home { focus-column-first; }
|
Mod+Ctrl+Down {
|
||||||
Mod+End { focus-column-last; }
|
move-window-down
|
||||||
Mod+Ctrl+Home { move-column-to-first; }
|
}
|
||||||
Mod+Ctrl+End { move-column-to-last; }
|
Mod+Ctrl+Up {
|
||||||
|
move-window-up
|
||||||
Mod+Shift+Left { focus-monitor-left; }
|
}
|
||||||
Mod+Shift+Down { focus-monitor-down; }
|
Mod+Ctrl+Right {
|
||||||
Mod+Shift+Up { focus-monitor-up; }
|
move-column-right
|
||||||
Mod+Shift+Right { focus-monitor-right; }
|
}
|
||||||
|
Mod+Home {
|
||||||
Mod+Shift+Ctrl+Left { move-column-to-monitor-left; }
|
focus-column-first
|
||||||
Mod+Shift+Ctrl+Down { move-column-to-monitor-down; }
|
}
|
||||||
Mod+Shift+Ctrl+Up { move-column-to-monitor-up; }
|
Mod+End {
|
||||||
Mod+Shift+Ctrl+Right { move-column-to-monitor-right; }
|
focus-column-last
|
||||||
|
}
|
||||||
Mod+Page_Down { focus-workspace-down; }
|
Mod+Ctrl+Home {
|
||||||
Mod+Page_Up { focus-workspace-up; }
|
move-column-to-first
|
||||||
Mod+Ctrl+Page_Down { move-column-to-workspace-down; }
|
}
|
||||||
Mod+Ctrl+Page_Up { move-column-to-workspace-up; }
|
Mod+Ctrl+End {
|
||||||
|
move-column-to-last
|
||||||
Mod+Shift+Page_Down { move-workspace-down; }
|
}
|
||||||
Mod+Shift+Page_Up { move-workspace-up; }
|
Mod+Shift+Left {
|
||||||
|
focus-monitor-left
|
||||||
Mod+WheelScrollDown cooldown-ms=150 { focus-workspace-down; }
|
}
|
||||||
Mod+WheelScrollUp cooldown-ms=150 { focus-workspace-up; }
|
Mod+Shift+Down {
|
||||||
Mod+Ctrl+WheelScrollDown cooldown-ms=150 { move-column-to-workspace-down; }
|
focus-monitor-down
|
||||||
Mod+Ctrl+WheelScrollUp cooldown-ms=150 { move-column-to-workspace-up; }
|
}
|
||||||
|
Mod+Shift+Up {
|
||||||
Mod+WheelScrollRight { focus-column-right; }
|
focus-monitor-up
|
||||||
Mod+WheelScrollLeft { focus-column-left; }
|
}
|
||||||
Mod+Ctrl+WheelScrollRight { move-column-right; }
|
Mod+Shift+Right {
|
||||||
Mod+Ctrl+WheelScrollLeft { move-column-left; }
|
focus-monitor-right
|
||||||
|
}
|
||||||
|
Mod+Shift+Ctrl+Left {
|
||||||
|
move-column-to-monitor-left
|
||||||
|
}
|
||||||
|
Mod+Shift+Ctrl+Down {
|
||||||
|
move-column-to-monitor-down
|
||||||
|
}
|
||||||
|
Mod+Shift+Ctrl+Up {
|
||||||
|
move-column-to-monitor-up
|
||||||
|
}
|
||||||
|
Mod+Shift+Ctrl+Right {
|
||||||
|
move-column-to-monitor-right
|
||||||
|
}
|
||||||
|
Mod+Page_Down {
|
||||||
|
focus-workspace-down
|
||||||
|
}
|
||||||
|
Mod+Page_Up {
|
||||||
|
focus-workspace-up
|
||||||
|
}
|
||||||
|
Mod+Ctrl+Page_Down {
|
||||||
|
move-column-to-workspace-down
|
||||||
|
}
|
||||||
|
Mod+Ctrl+Page_Up {
|
||||||
|
move-column-to-workspace-up
|
||||||
|
}
|
||||||
|
Mod+Shift+Page_Down {
|
||||||
|
move-workspace-down
|
||||||
|
}
|
||||||
|
Mod+Shift+Page_Up {
|
||||||
|
move-workspace-up
|
||||||
|
}
|
||||||
|
Mod+WheelScrollDown cooldown-ms=150 {
|
||||||
|
focus-workspace-down
|
||||||
|
}
|
||||||
|
Mod+WheelScrollUp cooldown-ms=150 {
|
||||||
|
focus-workspace-up
|
||||||
|
}
|
||||||
|
Mod+Ctrl+WheelScrollDown cooldown-ms=150 {
|
||||||
|
move-column-to-workspace-down
|
||||||
|
}
|
||||||
|
Mod+Ctrl+WheelScrollUp cooldown-ms=150 {
|
||||||
|
move-column-to-workspace-up
|
||||||
|
}
|
||||||
|
Mod+WheelScrollRight {
|
||||||
|
focus-column-right
|
||||||
|
}
|
||||||
|
Mod+WheelScrollLeft {
|
||||||
|
focus-column-left
|
||||||
|
}
|
||||||
|
Mod+Ctrl+WheelScrollRight {
|
||||||
|
move-column-right
|
||||||
|
}
|
||||||
|
Mod+Ctrl+WheelScrollLeft {
|
||||||
|
move-column-left
|
||||||
|
}
|
||||||
// Usually scrolling up and down with Shift in applications results in
|
// Usually scrolling up and down with Shift in applications results in
|
||||||
// horizontal scrolling; these binds replicate that.
|
// horizontal scrolling; these binds replicate that.
|
||||||
Mod+Shift+WheelScrollDown { focus-column-right; }
|
Mod+Shift+WheelScrollDown {
|
||||||
Mod+Shift+WheelScrollUp { focus-column-left; }
|
focus-column-right
|
||||||
Mod+Ctrl+Shift+WheelScrollDown { move-column-right; }
|
}
|
||||||
Mod+Ctrl+Shift+WheelScrollUp { move-column-left; }
|
Mod+Shift+WheelScrollUp {
|
||||||
|
focus-column-left
|
||||||
Mod+1 { focus-workspace 1; }
|
}
|
||||||
Mod+2 { focus-workspace 2; }
|
Mod+Ctrl+Shift+WheelScrollDown {
|
||||||
Mod+3 { focus-workspace 3; }
|
move-column-right
|
||||||
Mod+4 { focus-workspace 4; }
|
}
|
||||||
Mod+5 { focus-workspace 5; }
|
Mod+Ctrl+Shift+WheelScrollUp {
|
||||||
Mod+6 { focus-workspace 6; }
|
move-column-left
|
||||||
Mod+7 { focus-workspace 7; }
|
}
|
||||||
Mod+8 { focus-workspace 8; }
|
Mod+1 {
|
||||||
Mod+9 { focus-workspace 9; }
|
focus-workspace 1
|
||||||
Mod+Ctrl+1 { move-column-to-workspace 1; }
|
}
|
||||||
Mod+Ctrl+2 { move-column-to-workspace 2; }
|
Mod+2 {
|
||||||
Mod+Ctrl+3 { move-column-to-workspace 3; }
|
focus-workspace 2
|
||||||
Mod+Ctrl+4 { move-column-to-workspace 4; }
|
}
|
||||||
Mod+Ctrl+5 { move-column-to-workspace 5; }
|
Mod+3 {
|
||||||
Mod+Ctrl+6 { move-column-to-workspace 6; }
|
focus-workspace 3
|
||||||
Mod+Ctrl+7 { move-column-to-workspace 7; }
|
}
|
||||||
Mod+Ctrl+8 { move-column-to-workspace 8; }
|
Mod+4 {
|
||||||
Mod+Ctrl+9 { move-column-to-workspace 9; }
|
focus-workspace 4
|
||||||
|
}
|
||||||
Mod+BracketLeft { consume-or-expel-window-left; }
|
Mod+5 {
|
||||||
Mod+BracketRight { consume-or-expel-window-right; }
|
focus-workspace 5
|
||||||
|
}
|
||||||
// Consume one window from the right to the bottom of the focused column.
|
Mod+6 {
|
||||||
//Mod+Comma { consume-window-into-column; }
|
focus-workspace 6
|
||||||
|
}
|
||||||
|
Mod+7 {
|
||||||
|
focus-workspace 7
|
||||||
|
}
|
||||||
|
Mod+8 {
|
||||||
|
focus-workspace 8
|
||||||
|
}
|
||||||
|
Mod+9 {
|
||||||
|
focus-workspace 9
|
||||||
|
}
|
||||||
|
Mod+Ctrl+1 {
|
||||||
|
move-column-to-workspace 1
|
||||||
|
}
|
||||||
|
Mod+Ctrl+2 {
|
||||||
|
move-column-to-workspace 2
|
||||||
|
}
|
||||||
|
Mod+Ctrl+3 {
|
||||||
|
move-column-to-workspace 3
|
||||||
|
}
|
||||||
|
Mod+Ctrl+4 {
|
||||||
|
move-column-to-workspace 4
|
||||||
|
}
|
||||||
|
Mod+Ctrl+5 {
|
||||||
|
move-column-to-workspace 5
|
||||||
|
}
|
||||||
|
Mod+Ctrl+6 {
|
||||||
|
move-column-to-workspace 6
|
||||||
|
}
|
||||||
|
Mod+Ctrl+7 {
|
||||||
|
move-column-to-workspace 7
|
||||||
|
}
|
||||||
|
Mod+Ctrl+8 {
|
||||||
|
move-column-to-workspace 8
|
||||||
|
}
|
||||||
|
Mod+Ctrl+9 {
|
||||||
|
move-column-to-workspace 9
|
||||||
|
}
|
||||||
|
Mod+BracketLeft {
|
||||||
|
consume-or-expel-window-left
|
||||||
|
}
|
||||||
|
Mod+BracketRight {
|
||||||
|
consume-or-expel-window-right
|
||||||
|
}
|
||||||
// Expel the bottom window from the focused column to the right.
|
// Expel the bottom window from the focused column to the right.
|
||||||
Mod+Period { expel-window-from-column; }
|
Mod+Period {
|
||||||
|
expel-window-from-column
|
||||||
Mod+R { switch-preset-column-width; }
|
}
|
||||||
Mod+Shift+R { switch-preset-window-height; }
|
Mod+R {
|
||||||
Mod+Ctrl+R { reset-window-height; }
|
switch-preset-column-width
|
||||||
Mod+F { maximize-column; }
|
}
|
||||||
Mod+Shift+F { fullscreen-window; }
|
Mod+Shift+R {
|
||||||
Mod+C { center-column; }
|
switch-preset-window-height
|
||||||
// Mod+W { toggle-column-tabbed-display; }
|
}
|
||||||
|
Mod+Ctrl+R {
|
||||||
Mod+Minus { set-column-width "-10%"; }
|
reset-window-height
|
||||||
Mod+Equal { set-column-width "+10%"; }
|
}
|
||||||
|
Mod+F {
|
||||||
|
maximize-column
|
||||||
|
}
|
||||||
|
Mod+Shift+F {
|
||||||
|
fullscreen-window
|
||||||
|
}
|
||||||
|
Mod+C {
|
||||||
|
center-column
|
||||||
|
}
|
||||||
|
Mod+Minus {
|
||||||
|
set-column-width "-10%"
|
||||||
|
}
|
||||||
|
Mod+Equal {
|
||||||
|
set-column-width "+10%"
|
||||||
|
}
|
||||||
// Finer height adjustments when in column with other windows.
|
// Finer height adjustments when in column with other windows.
|
||||||
Mod+Shift+Minus { set-window-height "-10%"; }
|
Mod+Shift+Minus {
|
||||||
Mod+Shift+Equal { set-window-height "+10%"; }
|
set-window-height "-10%"
|
||||||
|
}
|
||||||
|
Mod+Shift+Equal {
|
||||||
|
set-window-height "+10%"
|
||||||
|
}
|
||||||
// Move the focused window between the floating and the tiling layout.
|
// Move the focused window between the floating and the tiling layout.
|
||||||
Mod+V { toggle-window-floating; }
|
Mod+V {
|
||||||
Mod+Shift+V { switch-focus-between-floating-and-tiling; }
|
toggle-window-floating
|
||||||
|
}
|
||||||
Mod+Shift+S { screenshot; }
|
Mod+Shift+V {
|
||||||
Ctrl+Print { screenshot-screen; }
|
switch-focus-between-floating-and-tiling
|
||||||
Alt+Print { screenshot-window; }
|
}
|
||||||
|
Mod+Shift+S {
|
||||||
Mod+Shift+Alt+R { spawn "ignis" "run-command" "recorder-record-screen"; }
|
screenshot
|
||||||
Mod+Alt+R { spawn "ignis" "run-command" "recorder-record-portal"; }
|
}
|
||||||
Ctrl+Shift+Escape { spawn "missioncenter"; }
|
Ctrl+Print {
|
||||||
|
screenshot-screen
|
||||||
|
}
|
||||||
|
Alt+Print {
|
||||||
|
screenshot-window
|
||||||
|
}
|
||||||
|
Ctrl+Shift+Escape {
|
||||||
|
spawn "missioncenter"
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
hotkey-overlay {
|
hotkey-overlay {
|
||||||
skip-at-startup
|
skip-at-startup
|
||||||
}
|
}
|
||||||
|
|
||||||
input {
|
input {
|
||||||
touchpad {
|
touchpad {
|
||||||
tap
|
tap
|
||||||
@@ -297,14 +428,10 @@ input {
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
output "eDP-1" {
|
output "eDP-1" {
|
||||||
mode "2880x1800@120.000"
|
mode "2880x1800@120.000"
|
||||||
//mode "1440x900@120.000"
|
|
||||||
//scale 1.0
|
|
||||||
scale 2.0
|
scale 2.0
|
||||||
}
|
}
|
||||||
//spawn-at-startup "ignis" "init"
|
|
||||||
spawn-at-startup "swww-daemon"
|
spawn-at-startup "swww-daemon"
|
||||||
spawn-at-startup "kanshi"
|
spawn-at-startup "kanshi"
|
||||||
spawn-at-startup "noctalia-shell"
|
spawn-at-startup "noctalia-shell"
|
||||||
|
|||||||
@@ -1,355 +1,53 @@
|
|||||||
{ config, lib, pkgs, ... }:
|
{ config, lib, pkgs, ... }:
|
||||||
|
|
||||||
{
|
{
|
||||||
imports =
|
imports = [
|
||||||
[ # Include the results of the hardware scan.
|
|
||||||
./hardware-configuration.nix
|
./hardware-configuration.nix
|
||||||
|
|
||||||
|
./modules/boot/bootloader.nix
|
||||||
|
./modules/boot/kernel.nix
|
||||||
|
./modules/boot/plymouth.nix
|
||||||
|
./modules/boot/tpm.nix
|
||||||
|
|
||||||
|
./modules/desktop/fonts.nix
|
||||||
|
./modules/desktop/greetd.nix
|
||||||
|
./modules/desktop/xdg.nix
|
||||||
|
./modules/desktop/xwayland.nix
|
||||||
|
|
||||||
|
./modules/filesystems.nix
|
||||||
|
|
||||||
|
./modules/hardware/bluetooth.nix
|
||||||
|
./modules/hardware/gpu.nix
|
||||||
|
./modules/hardware/power.nix
|
||||||
|
./modules/hardware/rtl-sdr.nix
|
||||||
|
./modules/hardware/scanner.nix
|
||||||
|
./modules/hardware/tablet.nix
|
||||||
|
./modules/hardware/udev.nix
|
||||||
|
|
||||||
|
./modules/networking/general.nix
|
||||||
|
./modules/networking/tailscale.nix
|
||||||
|
./modules/networking/vpn.nix
|
||||||
|
|
||||||
|
./modules/packages.nix
|
||||||
|
|
||||||
|
./modules/services/flatpak.nix
|
||||||
|
./modules/services/printing.nix
|
||||||
|
./modules/services/smb.nix
|
||||||
|
./modules/services/ssh.nix
|
||||||
|
|
||||||
|
./modules/users.nix
|
||||||
|
./modules/virtualization.nix
|
||||||
|
./modules/wireshark.nix
|
||||||
];
|
];
|
||||||
|
|
||||||
# Use the systemd-boot EFI boot loader.
|
|
||||||
boot.loader.systemd-boot.enable = true;
|
|
||||||
boot.loader.efi.canTouchEfiVariables = true;
|
|
||||||
boot.resumeDevice = "/dev/mapper/luksroot";
|
|
||||||
# Pin Linux kernel to 6.12
|
|
||||||
boot.kernelPackages = pkgs.linuxPackages_6_12;
|
|
||||||
|
|
||||||
boot.extraModprobeConfig = ''
|
|
||||||
options mt7921_common disable_clc=1
|
|
||||||
options atkbd reset=1 softrepeat=1
|
|
||||||
options i8042 nomux=1 reset=1 nopnp=1 kbdreset=1 direct=1 dumbkbd=1
|
|
||||||
'';
|
|
||||||
|
|
||||||
# Blacklist built-in RTL modules
|
|
||||||
boot.blacklistedKernelModules = [
|
|
||||||
"dvb_usb_rtl28xxu"
|
|
||||||
"rtl2832"
|
|
||||||
"rtl2830"
|
|
||||||
];
|
|
||||||
|
|
||||||
# Kernel parameters for power saving
|
|
||||||
boot.kernelParams = [
|
|
||||||
# CRITICAL FIX: Disable ACPI for i8042 (ASUS BIOS bug workaround)
|
|
||||||
"i8042.noacpi" # Disable buggy ASUS ACPI keyboard controller
|
|
||||||
"i8042.reset=1" # Force reset i8042
|
|
||||||
"i8042.nomux=1" # No multiplexing
|
|
||||||
"i8042.nopnp=1" # Ignore PnP detection
|
|
||||||
"atkbd.softrepeat=1" # Software key repeat
|
|
||||||
"amd_pstate=active" # Use AMD P-State driver for better power management
|
|
||||||
"amd_pstate.shared_mem=1"
|
|
||||||
# "pcie_aspm.policy=powersupersave" # Aggressive PCIe power management
|
|
||||||
"amdgpu.gpu_recovery=1" # Enable automatic GPU recovery
|
|
||||||
"amdgpu.runpm=0" # Disable runtime PM (major hang cause)
|
|
||||||
###"amdgpu.dcdebugmask=0x400"
|
|
||||||
#"amdgpu.dcdebugmask=0x10" # Disable PSR (panel self-refresh)
|
|
||||||
#"amdgpu.ppfeaturemask=0xf7fff" # Disable GFXOFF
|
|
||||||
];
|
|
||||||
|
|
||||||
# Disable TPM
|
|
||||||
systemd.tpm2.enable = false;
|
|
||||||
boot.initrd.systemd.tpm2.enable = false;
|
|
||||||
|
|
||||||
# Enable swap file
|
|
||||||
swapDevices = [{ device = "/swap/swapfile"; }];
|
|
||||||
|
|
||||||
# Override btrfs mount options from hardware-configuration.nix
|
|
||||||
fileSystems."/" = {
|
|
||||||
options = [ "subvol=@" "compress=zstd" "space_cache=v2" "noatime"
|
|
||||||
"lazytime" "ssd" "discard=async" ];
|
|
||||||
};
|
|
||||||
|
|
||||||
fileSystems."/home" = {
|
|
||||||
options = [ "subvol=@home" "compress=zstd" "space_cache=v2" "noatime"
|
|
||||||
"lazytime" "ssd" "discard=async" ];
|
|
||||||
};
|
|
||||||
|
|
||||||
fileSystems."/var/log" = {
|
|
||||||
options = [ "subvol=@log" "compress=zstd" "space_cache=v2" "noatime"
|
|
||||||
"lazytime" "ssd" "discard=async" ];
|
|
||||||
};
|
|
||||||
|
|
||||||
fileSystems."/swap" = {
|
|
||||||
options = [ "subvol=@swap" "noatime" "ssd" "discard=async" ];
|
|
||||||
};
|
|
||||||
|
|
||||||
# Enable NetworkManager and set network host name
|
|
||||||
networking.networkmanager.enable = true;
|
|
||||||
networking.hostName = "lusia-laptop";
|
|
||||||
|
|
||||||
# NetworkManager power saving for WiFi
|
|
||||||
networking.networkmanager.wifi.powersave = true;
|
|
||||||
|
|
||||||
# Enable Tailscale
|
|
||||||
services.tailscale.enable = true;
|
|
||||||
|
|
||||||
# Trust the Tailscale interface
|
|
||||||
networking.firewall.trustedInterfaces = [ "tailscale0" ];
|
|
||||||
|
|
||||||
# Disable reverse path filtering for Tailscale, change kernel writeback options
|
|
||||||
boot.kernel.sysctl = {
|
|
||||||
"net.ipv4.conf.tailscale0.rp_filter" = 0;
|
|
||||||
"vm.dirty_ratio" = 10;
|
|
||||||
"vm.dirty_background_ratio" = 5;
|
|
||||||
"vm.swappiness" = 10;
|
|
||||||
};
|
|
||||||
|
|
||||||
# Enable resolved
|
|
||||||
services.resolved.enable = true;
|
|
||||||
|
|
||||||
# OpenVPN services
|
|
||||||
# VSTech VPN (with DNS for bgs.local domain)
|
|
||||||
services.openvpn.servers.vstech = {
|
|
||||||
config = ''
|
|
||||||
client
|
|
||||||
remote 51.83.143.81
|
|
||||||
proto udp
|
|
||||||
port 649
|
|
||||||
dev tun
|
|
||||||
topology subnet
|
|
||||||
ca /home/lusia/VSTech-vpn/ca.crt
|
|
||||||
cert /home/lusia/VSTech-vpn/Klient251.crt
|
|
||||||
key /home/lusia/VSTech-vpn/Klient251.inline
|
|
||||||
tls-crypt /home/lusia/VSTech-vpn/ta.key
|
|
||||||
|
|
||||||
auth sha512
|
|
||||||
data-ciphers aes-256-cbc
|
|
||||||
data-ciphers-fallback aes-256-cbc
|
|
||||||
key-direction 1
|
|
||||||
keepalive 10 120
|
|
||||||
'';
|
|
||||||
updateResolvConf = false;
|
|
||||||
|
|
||||||
# Manually set DNS after connection
|
|
||||||
up = ''
|
|
||||||
${pkgs.systemd}/bin/resolvectl dns $dev 10.10.10.1
|
|
||||||
${pkgs.systemd}/bin/resolvectl domain $dev bgs.local
|
|
||||||
'';
|
|
||||||
|
|
||||||
down = ''
|
|
||||||
${pkgs.systemd}/bin/resolvectl revert $dev
|
|
||||||
'';
|
|
||||||
};
|
|
||||||
|
|
||||||
# CAT VPN
|
|
||||||
services.openvpn.servers.cat = {
|
|
||||||
config = ''
|
|
||||||
client
|
|
||||||
remote 79.133.193.211
|
|
||||||
proto tcp
|
|
||||||
port 1194
|
|
||||||
dev tun
|
|
||||||
topology subnet
|
|
||||||
ca /home/lusia/vpn/ca.crt
|
|
||||||
cert /home/lusia/vpn/client18.crt
|
|
||||||
key /home/lusia/vpn/client18.key
|
|
||||||
|
|
||||||
auth sha256
|
|
||||||
data-ciphers AES-256-CBC
|
|
||||||
key-direction 1
|
|
||||||
'';
|
|
||||||
updateResolvConf = true;
|
|
||||||
};
|
|
||||||
|
|
||||||
# Enable upower service
|
|
||||||
services.upower.enable = true;
|
|
||||||
|
|
||||||
# Set your time zone.
|
|
||||||
time.timeZone = "Europe/Warsaw";
|
time.timeZone = "Europe/Warsaw";
|
||||||
|
|
||||||
# Select internationalisation properties.
|
|
||||||
i18n.defaultLocale = "en_US.UTF-8";
|
i18n.defaultLocale = "en_US.UTF-8";
|
||||||
console = {
|
console.keyMap = "pl";
|
||||||
keyMap = "pl";
|
|
||||||
};
|
|
||||||
|
|
||||||
# Enable fish
|
|
||||||
programs.fish.enable = true;
|
|
||||||
|
|
||||||
# Enable greetd with tuigreet
|
|
||||||
services.greetd = {
|
|
||||||
enable = true;
|
|
||||||
settings = {
|
|
||||||
default_session = {
|
|
||||||
command = "${pkgs.tuigreet}/bin/tuigreet --time --cmd niri-session";
|
|
||||||
user = "greeter";
|
|
||||||
};
|
|
||||||
};
|
|
||||||
};
|
|
||||||
|
|
||||||
# Essential for niri
|
|
||||||
security.polkit.enable = true;
|
|
||||||
services.gnome.gnome-keyring.enable = true;
|
|
||||||
|
|
||||||
# XDG Portal for file pickers or screen sharing
|
|
||||||
xdg.portal = {
|
|
||||||
enable = true;
|
|
||||||
extraPortals = [ pkgs.xdg-desktop-portal-gtk
|
|
||||||
pkgs.xdg-desktop-portal-gnome ];
|
|
||||||
config = {
|
|
||||||
common = {
|
|
||||||
default = [ "gtk" ];
|
|
||||||
"org.freedesktop.impl.portal.ScreenCast" = [ "gnome" ];
|
|
||||||
"org.freedesktop.impl.portal.Screenshot" = [ "gnome" ];
|
|
||||||
};
|
|
||||||
};
|
|
||||||
};
|
|
||||||
|
|
||||||
# Enable dconf
|
|
||||||
programs.dconf.enable = true;
|
|
||||||
|
|
||||||
users.groups.plugdev = {};
|
|
||||||
|
|
||||||
users.users.lusia = {
|
|
||||||
isNormalUser = true;
|
|
||||||
description = "Lukrecja";
|
|
||||||
extraGroups = [ "wheel" "networkmanager" "docker" "plugdev" "scanner" "lp" "wireshark" "libvirtd" "kvm" ];
|
|
||||||
initialPassword = "pass";
|
|
||||||
shell = pkgs.fish;
|
|
||||||
};
|
|
||||||
|
|
||||||
# Import udev rules for probe-rs
|
|
||||||
services.udev.packages = [
|
|
||||||
(pkgs.writeTextFile {
|
|
||||||
name = "probe-rs-udev-rules";
|
|
||||||
destination = "/etc/udev/rules.d/69-probe-rs.rules";
|
|
||||||
text = builtins.readFile ./udev-rules/69-probe-rs.rules;
|
|
||||||
})
|
|
||||||
];
|
|
||||||
|
|
||||||
hardware.enableAllFirmware = true;
|
hardware.enableAllFirmware = true;
|
||||||
services.openssh.enable = true;
|
|
||||||
security.sudo.enable = true;
|
|
||||||
|
|
||||||
# Enable virtualisation
|
|
||||||
virtualisation.libvirtd.enable = true;
|
|
||||||
|
|
||||||
# Enable xwayland
|
|
||||||
programs.xwayland.enable = true;
|
|
||||||
|
|
||||||
# Set a session variable for icon theme
|
|
||||||
environment.sessionVariables = rec {
|
|
||||||
QT_QPA_PLATFORMTHEME = "qt5ct";
|
|
||||||
};
|
|
||||||
|
|
||||||
environment.systemPackages = with pkgs; [
|
|
||||||
git
|
|
||||||
curl
|
|
||||||
wget
|
|
||||||
vim
|
|
||||||
fish
|
|
||||||
kitty
|
|
||||||
#asusctl
|
|
||||||
powertop # For monitoring power consumption
|
|
||||||
openvpn
|
|
||||||
nodejs
|
|
||||||
gnumake
|
|
||||||
gcc
|
|
||||||
cmake
|
|
||||||
xwayland-satellite
|
|
||||||
busybox
|
|
||||||
libdecor
|
|
||||||
file
|
|
||||||
cifs-utils
|
|
||||||
samba
|
|
||||||
gvfs
|
|
||||||
];
|
|
||||||
|
|
||||||
# Enable Wireshark with proper groups
|
|
||||||
programs.wireshark.enable = true;
|
|
||||||
programs.wireshark.package = pkgs.wireshark;
|
|
||||||
|
|
||||||
# Fonts
|
|
||||||
fonts.packages = with pkgs; [
|
|
||||||
noto-fonts
|
|
||||||
noto-fonts-cjk-sans
|
|
||||||
noto-fonts-color-emoji
|
|
||||||
pkgs.nerd-fonts.fira-code
|
|
||||||
];
|
|
||||||
|
|
||||||
# For SMB shares
|
|
||||||
services.gvfs.enable = true;
|
|
||||||
|
|
||||||
# Printers
|
|
||||||
services.avahi = {
|
|
||||||
enable = true;
|
|
||||||
nssmdns4 = true;
|
|
||||||
openFirewall = true;
|
|
||||||
};
|
|
||||||
|
|
||||||
services.printing = {
|
|
||||||
enable = true;
|
|
||||||
drivers = with pkgs; [
|
|
||||||
cups-filters
|
|
||||||
cups-browsed
|
|
||||||
];
|
|
||||||
};
|
|
||||||
|
|
||||||
# Enable Flatpaks
|
|
||||||
services.flatpak.enable = true;
|
|
||||||
|
|
||||||
# Enable Docker
|
|
||||||
virtualisation.docker.enable = true;
|
|
||||||
|
|
||||||
nixpkgs.config.allowUnfree = true;
|
nixpkgs.config.allowUnfree = true;
|
||||||
nix.settings.experimental-features = [ "nix-command" "flakes" ];
|
nix.settings.experimental-features = [ "nix-command" "flakes" ];
|
||||||
|
|
||||||
# Enable Bluetooth (but it will be blocked by default to save power)
|
system.stateVersion = "24.11";
|
||||||
hardware.bluetooth.enable = true;
|
|
||||||
hardware.bluetooth.powerOnBoot = false; # Don't power on bluetooth at boot
|
|
||||||
|
|
||||||
hardware.sane.enable = true;
|
|
||||||
|
|
||||||
# Configure epsonds for network scanning
|
|
||||||
environment.etc."sane.d/epsonds.conf".text = ''
|
|
||||||
net EPSOND80395.local
|
|
||||||
'';
|
|
||||||
|
|
||||||
# Enable OpenTabletDriver
|
|
||||||
hardware.opentabletdriver.enable = true;
|
|
||||||
hardware.uinput.enable = true;
|
|
||||||
|
|
||||||
# Enable kernel modules
|
|
||||||
boot.kernelModules = [ "uinput" "usbmon" "kvm-amd" ];
|
|
||||||
|
|
||||||
# Enable PPD for power options
|
|
||||||
services.power-profiles-daemon.enable = true;
|
|
||||||
|
|
||||||
# Enable AMD GPU graphics acceleration
|
|
||||||
hardware.graphics = {
|
|
||||||
enable = true;
|
|
||||||
enable32Bit = true; # For 32-bit applications/games
|
|
||||||
};
|
|
||||||
|
|
||||||
# Enable RTL-SDL module
|
|
||||||
hardware.rtl-sdr.enable = true;
|
|
||||||
|
|
||||||
# Open ports in the firewall.
|
|
||||||
# networking.firewall.allowedTCPPorts = [ ... ];
|
|
||||||
# networking.firewall.allowedUDPPorts = [ ... ];
|
|
||||||
# Or disable the firewall altogether.
|
|
||||||
# networking.firewall.enable = false;
|
|
||||||
|
|
||||||
# Copy the NixOS configuration file and link it from the resulting system
|
|
||||||
# (/run/current-system/configuration.nix). This is useful in case you
|
|
||||||
# accidentally delete configuration.nix.
|
|
||||||
# system.copySystemConfiguration = true;
|
|
||||||
|
|
||||||
# This option defines the first version of NixOS you have installed on this particular machine,
|
|
||||||
# and is used to maintain compatibility with application data (e.g. databases) created on older NixOS versions.
|
|
||||||
#
|
|
||||||
# Most users should NEVER change this value after the initial install, for any reason,
|
|
||||||
# even if you've upgraded your system to a new NixOS release.
|
|
||||||
#
|
|
||||||
# This value does NOT affect the Nixpkgs version your packages and OS are pulled from,
|
|
||||||
# so changing it will NOT upgrade your system - see https://nixos.org/manual/nixos/stable/#sec-upgrading for how
|
|
||||||
# to actually do that.
|
|
||||||
#
|
|
||||||
# This value being lower than the current NixOS release does NOT mean your system is
|
|
||||||
# out of date, out of support, or vulnerable.
|
|
||||||
#
|
|
||||||
# Do NOT change this value unless you have manually inspected all the changes it would make to your configuration,
|
|
||||||
# and migrated your data accordingly.
|
|
||||||
#
|
|
||||||
# For more information, see `man configuration.nix` or https://nixos.org/manual/nixos/stable/options#opt-system.stateVersion .
|
|
||||||
system.stateVersion = "24.11"; # Did you read the comment?
|
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|||||||
42
nixos/flake.lock
generated
42
nixos/flake.lock
generated
@@ -1,45 +1,12 @@
|
|||||||
{
|
{
|
||||||
"nodes": {
|
"nodes": {
|
||||||
"home-manager": {
|
|
||||||
"inputs": {
|
|
||||||
"nixpkgs": "nixpkgs"
|
|
||||||
},
|
|
||||||
"locked": {
|
|
||||||
"lastModified": 1770818644,
|
|
||||||
"narHash": "sha256-DYS4jIRpRoKOzJjnR/QqEd/MlT4OZZpt8CrBLv+cjsE=",
|
|
||||||
"owner": "nix-community",
|
|
||||||
"repo": "home-manager",
|
|
||||||
"rev": "0acbd1180697de56724821184ad2c3e6e7202cd7",
|
|
||||||
"type": "github"
|
|
||||||
},
|
|
||||||
"original": {
|
|
||||||
"id": "home-manager",
|
|
||||||
"type": "indirect"
|
|
||||||
}
|
|
||||||
},
|
|
||||||
"nixpkgs": {
|
"nixpkgs": {
|
||||||
"locked": {
|
"locked": {
|
||||||
"lastModified": 1770562336,
|
"lastModified": 1773389992,
|
||||||
"narHash": "sha256-ub1gpAONMFsT/GU2hV6ZWJjur8rJ6kKxdm9IlCT0j84=",
|
"narHash": "sha256-wvfdLLWJ2I9oEpDd9PfMA8osfIZicoQ5MT1jIwNs9Tk=",
|
||||||
"owner": "NixOS",
|
|
||||||
"repo": "nixpkgs",
|
|
||||||
"rev": "d6c71932130818840fc8fe9509cf50be8c64634f",
|
|
||||||
"type": "github"
|
|
||||||
},
|
|
||||||
"original": {
|
|
||||||
"owner": "NixOS",
|
|
||||||
"ref": "nixos-unstable",
|
|
||||||
"repo": "nixpkgs",
|
|
||||||
"type": "github"
|
|
||||||
}
|
|
||||||
},
|
|
||||||
"nixpkgs_2": {
|
|
||||||
"locked": {
|
|
||||||
"lastModified": 1770562336,
|
|
||||||
"narHash": "sha256-ub1gpAONMFsT/GU2hV6ZWJjur8rJ6kKxdm9IlCT0j84=",
|
|
||||||
"owner": "nixos",
|
"owner": "nixos",
|
||||||
"repo": "nixpkgs",
|
"repo": "nixpkgs",
|
||||||
"rev": "d6c71932130818840fc8fe9509cf50be8c64634f",
|
"rev": "c06b4ae3d6599a672a6210b7021d699c351eebda",
|
||||||
"type": "github"
|
"type": "github"
|
||||||
},
|
},
|
||||||
"original": {
|
"original": {
|
||||||
@@ -51,8 +18,7 @@
|
|||||||
},
|
},
|
||||||
"root": {
|
"root": {
|
||||||
"inputs": {
|
"inputs": {
|
||||||
"home-manager": "home-manager",
|
"nixpkgs": "nixpkgs"
|
||||||
"nixpkgs": "nixpkgs_2"
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
|
|||||||
@@ -5,14 +5,10 @@
|
|||||||
nixpkgs.url = "github:nixos/nixpkgs/nixos-unstable";
|
nixpkgs.url = "github:nixos/nixpkgs/nixos-unstable";
|
||||||
};
|
};
|
||||||
|
|
||||||
outputs = inputs@{ nixpkgs, home-manager, ... }: {
|
outputs = inputs: {
|
||||||
nixosConfigurations = {
|
nixosConfigurations.lusia-laptop = inputs.nixpkgs.lib.nixosSystem {
|
||||||
lusia-laptop = nixpkgs.lib.nixosSystem {
|
|
||||||
system = "x86_64-linux";
|
system = "x86_64-linux";
|
||||||
modules = [
|
modules = [ ./configuration.nix ];
|
||||||
./configuration.nix
|
|
||||||
];
|
|
||||||
};
|
|
||||||
};
|
};
|
||||||
};
|
};
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -1,13 +0,0 @@
|
|||||||
{ config, pkgs, ... }:
|
|
||||||
|
|
||||||
{
|
|
||||||
home.username = "lusia";
|
|
||||||
home.homeDirectory = "/home/lusia";
|
|
||||||
home.stateVersion = "24.11";
|
|
||||||
|
|
||||||
programs.kitty = {
|
|
||||||
enable = true;
|
|
||||||
};
|
|
||||||
|
|
||||||
programs.home-manager.enable = true;
|
|
||||||
}
|
|
||||||
11
nixos/modules/boot/bootloader.nix
Normal file
11
nixos/modules/boot/bootloader.nix
Normal file
@@ -0,0 +1,11 @@
|
|||||||
|
{ ... }:
|
||||||
|
|
||||||
|
{
|
||||||
|
boot.loader.systemd-boot.enable = true;
|
||||||
|
boot.loader.efi.canTouchEfiVariables = true;
|
||||||
|
boot.resumeDevice = "/dev/mapper/luksroot";
|
||||||
|
boot.consoleLogLevel = 3;
|
||||||
|
boot.initrd.systemd.enable = true;
|
||||||
|
boot.initrd.verbose = false;
|
||||||
|
boot.loader.timeout = 0;
|
||||||
|
}
|
||||||
29
nixos/modules/boot/kernel.nix
Normal file
29
nixos/modules/boot/kernel.nix
Normal file
@@ -0,0 +1,29 @@
|
|||||||
|
{ ... }:
|
||||||
|
|
||||||
|
{
|
||||||
|
boot.extraModprobeConfig = ''
|
||||||
|
options mt7921_common disable_clc=1
|
||||||
|
options atkbd reset=1 softrepeat=1
|
||||||
|
options i8042 nomux=1 reset=1 nopnp=1 kbdreset=1 direct=1 dumbkbd=1
|
||||||
|
'';
|
||||||
|
|
||||||
|
boot.kernelParams = [
|
||||||
|
# CRITICAL FIX: Disable ACPI for i8042 (ASUS BIOS bug workaround)
|
||||||
|
"i8042.noacpi"
|
||||||
|
"i8042.reset=1"
|
||||||
|
"i8042.nomux=1"
|
||||||
|
"i8042.nopnp=1"
|
||||||
|
"atkbd.softrepeat=1"
|
||||||
|
# AMD P-State driver for better power management
|
||||||
|
"amd_pstate=active"
|
||||||
|
"amd_pstate.shared_mem=1"
|
||||||
|
# GPU
|
||||||
|
"amdgpu.gpu_recovery=1"
|
||||||
|
"amdgpu.runpm=0"
|
||||||
|
"quiet"
|
||||||
|
"udev.log_level=3"
|
||||||
|
"systemd.show_status=auto"
|
||||||
|
];
|
||||||
|
|
||||||
|
boot.kernelModules = [ "usbmon" ];
|
||||||
|
}
|
||||||
8
nixos/modules/boot/plymouth.nix
Normal file
8
nixos/modules/boot/plymouth.nix
Normal file
@@ -0,0 +1,8 @@
|
|||||||
|
{ ... }:
|
||||||
|
|
||||||
|
{
|
||||||
|
boot.plymouth = {
|
||||||
|
enable = true;
|
||||||
|
theme = "bgrt";
|
||||||
|
};
|
||||||
|
}
|
||||||
6
nixos/modules/boot/tpm.nix
Normal file
6
nixos/modules/boot/tpm.nix
Normal file
@@ -0,0 +1,6 @@
|
|||||||
|
{ ... }:
|
||||||
|
|
||||||
|
{
|
||||||
|
systemd.tpm2.enable = false;
|
||||||
|
boot.initrd.systemd.tpm2.enable = false;
|
||||||
|
}
|
||||||
10
nixos/modules/desktop/fonts.nix
Normal file
10
nixos/modules/desktop/fonts.nix
Normal file
@@ -0,0 +1,10 @@
|
|||||||
|
{ pkgs, ... }:
|
||||||
|
|
||||||
|
{
|
||||||
|
fonts.packages = with pkgs; [
|
||||||
|
noto-fonts
|
||||||
|
noto-fonts-cjk-sans
|
||||||
|
noto-fonts-color-emoji
|
||||||
|
nerd-fonts.fira-code
|
||||||
|
];
|
||||||
|
}
|
||||||
13
nixos/modules/desktop/greetd.nix
Normal file
13
nixos/modules/desktop/greetd.nix
Normal file
@@ -0,0 +1,13 @@
|
|||||||
|
{ pkgs, ... }:
|
||||||
|
|
||||||
|
{
|
||||||
|
services.greetd = {
|
||||||
|
enable = true;
|
||||||
|
settings = {
|
||||||
|
default_session = {
|
||||||
|
command = "${pkgs.tuigreet}/bin/tuigreet --time --cmd niri-session";
|
||||||
|
user = "greeter";
|
||||||
|
};
|
||||||
|
};
|
||||||
|
};
|
||||||
|
}
|
||||||
22
nixos/modules/desktop/xdg.nix
Normal file
22
nixos/modules/desktop/xdg.nix
Normal file
@@ -0,0 +1,22 @@
|
|||||||
|
{ pkgs, ... }:
|
||||||
|
|
||||||
|
{
|
||||||
|
security.polkit.enable = true;
|
||||||
|
services.gnome.gnome-keyring.enable = true;
|
||||||
|
programs.dconf.enable = true;
|
||||||
|
|
||||||
|
xdg.portal = {
|
||||||
|
enable = true;
|
||||||
|
extraPortals = [
|
||||||
|
pkgs.xdg-desktop-portal-gtk
|
||||||
|
pkgs.xdg-desktop-portal-gnome
|
||||||
|
];
|
||||||
|
config = {
|
||||||
|
common = {
|
||||||
|
default = [ "gtk" ];
|
||||||
|
"org.freedesktop.impl.portal.ScreenCast" = [ "gnome" ];
|
||||||
|
"org.freedesktop.impl.portal.Screenshot" = [ "gnome" ];
|
||||||
|
};
|
||||||
|
};
|
||||||
|
};
|
||||||
|
}
|
||||||
9
nixos/modules/desktop/xwayland.nix
Normal file
9
nixos/modules/desktop/xwayland.nix
Normal file
@@ -0,0 +1,9 @@
|
|||||||
|
{ ... }:
|
||||||
|
|
||||||
|
{
|
||||||
|
programs.xwayland.enable = true;
|
||||||
|
|
||||||
|
environment.sessionVariables = {
|
||||||
|
QT_QPA_PLATFORMTHEME = "qt5ct";
|
||||||
|
};
|
||||||
|
}
|
||||||
27
nixos/modules/filesystems.nix
Normal file
27
nixos/modules/filesystems.nix
Normal file
@@ -0,0 +1,27 @@
|
|||||||
|
{ ... }:
|
||||||
|
|
||||||
|
{
|
||||||
|
fileSystems."/" = {
|
||||||
|
options = [ "subvol=@" "compress=zstd" "space_cache=v2" "noatime" "lazytime" "ssd" "discard=async" ];
|
||||||
|
};
|
||||||
|
|
||||||
|
fileSystems."/home" = {
|
||||||
|
options = [ "subvol=@home" "compress=zstd" "space_cache=v2" "noatime" "lazytime" "ssd" "discard=async" ];
|
||||||
|
};
|
||||||
|
|
||||||
|
fileSystems."/var/log" = {
|
||||||
|
options = [ "subvol=@log" "compress=zstd" "space_cache=v2" "noatime" "lazytime" "ssd" "discard=async" ];
|
||||||
|
};
|
||||||
|
|
||||||
|
fileSystems."/swap" = {
|
||||||
|
options = [ "subvol=@swap" "noatime" "ssd" "discard=async" ];
|
||||||
|
};
|
||||||
|
|
||||||
|
swapDevices = [{ device = "/swap/swapfile"; }];
|
||||||
|
|
||||||
|
boot.kernel.sysctl = {
|
||||||
|
"vm.dirty_ratio" = 10;
|
||||||
|
"vm.dirty_background_ratio" = 5;
|
||||||
|
"vm.swappiness" = 10;
|
||||||
|
};
|
||||||
|
}
|
||||||
6
nixos/modules/hardware/bluetooth.nix
Normal file
6
nixos/modules/hardware/bluetooth.nix
Normal file
@@ -0,0 +1,6 @@
|
|||||||
|
{ ... }:
|
||||||
|
|
||||||
|
{
|
||||||
|
hardware.bluetooth.enable = true;
|
||||||
|
hardware.bluetooth.powerOnBoot = false;
|
||||||
|
}
|
||||||
8
nixos/modules/hardware/gpu.nix
Normal file
8
nixos/modules/hardware/gpu.nix
Normal file
@@ -0,0 +1,8 @@
|
|||||||
|
{ ... }:
|
||||||
|
|
||||||
|
{
|
||||||
|
hardware.graphics = {
|
||||||
|
enable = true;
|
||||||
|
enable32Bit = true;
|
||||||
|
};
|
||||||
|
}
|
||||||
6
nixos/modules/hardware/power.nix
Normal file
6
nixos/modules/hardware/power.nix
Normal file
@@ -0,0 +1,6 @@
|
|||||||
|
{ ... }:
|
||||||
|
|
||||||
|
{
|
||||||
|
services.upower.enable = true;
|
||||||
|
services.power-profiles-daemon.enable = true;
|
||||||
|
}
|
||||||
11
nixos/modules/hardware/rtl-sdr.nix
Normal file
11
nixos/modules/hardware/rtl-sdr.nix
Normal file
@@ -0,0 +1,11 @@
|
|||||||
|
{ ... }:
|
||||||
|
|
||||||
|
{
|
||||||
|
hardware.rtl-sdr.enable = true;
|
||||||
|
|
||||||
|
boot.blacklistedKernelModules = [
|
||||||
|
"dvb_usb_rtl28xxu"
|
||||||
|
"rtl2832"
|
||||||
|
"rtl2830"
|
||||||
|
];
|
||||||
|
}
|
||||||
9
nixos/modules/hardware/scanner.nix
Normal file
9
nixos/modules/hardware/scanner.nix
Normal file
@@ -0,0 +1,9 @@
|
|||||||
|
{ ... }:
|
||||||
|
|
||||||
|
{
|
||||||
|
hardware.sane.enable = true;
|
||||||
|
|
||||||
|
environment.etc."sane.d/epsonds.conf".text = ''
|
||||||
|
net EPSOND80395.local
|
||||||
|
'';
|
||||||
|
}
|
||||||
7
nixos/modules/hardware/tablet.nix
Normal file
7
nixos/modules/hardware/tablet.nix
Normal file
@@ -0,0 +1,7 @@
|
|||||||
|
{ ... }:
|
||||||
|
|
||||||
|
{
|
||||||
|
hardware.opentabletdriver.enable = true;
|
||||||
|
hardware.uinput.enable = true;
|
||||||
|
boot.kernelModules = [ "uinput" ];
|
||||||
|
}
|
||||||
11
nixos/modules/hardware/udev.nix
Normal file
11
nixos/modules/hardware/udev.nix
Normal file
@@ -0,0 +1,11 @@
|
|||||||
|
{ pkgs, ... }:
|
||||||
|
|
||||||
|
{
|
||||||
|
services.udev.packages = [
|
||||||
|
(pkgs.writeTextFile {
|
||||||
|
name = "probe-rs-udev-rules";
|
||||||
|
destination = "/etc/udev/rules.d/69-probe-rs.rules";
|
||||||
|
text = builtins.readFile ../../udev-rules/69-probe-rs.rules;
|
||||||
|
})
|
||||||
|
];
|
||||||
|
}
|
||||||
11
nixos/modules/networking/general.nix
Normal file
11
nixos/modules/networking/general.nix
Normal file
@@ -0,0 +1,11 @@
|
|||||||
|
{ ... }:
|
||||||
|
|
||||||
|
{
|
||||||
|
networking.hostName = "lusia-laptop";
|
||||||
|
networking.networkmanager.enable = true;
|
||||||
|
networking.networkmanager.wifi.powersave = true;
|
||||||
|
|
||||||
|
networking.nameservers = [ "9.9.9.9" ];
|
||||||
|
|
||||||
|
services.resolved.enable = true;
|
||||||
|
}
|
||||||
11
nixos/modules/networking/tailscale.nix
Normal file
11
nixos/modules/networking/tailscale.nix
Normal file
@@ -0,0 +1,11 @@
|
|||||||
|
{ ... }:
|
||||||
|
|
||||||
|
{
|
||||||
|
services.tailscale.enable = true;
|
||||||
|
|
||||||
|
networking.firewall.trustedInterfaces = [ "tailscale0" ];
|
||||||
|
|
||||||
|
boot.kernel.sysctl = {
|
||||||
|
"net.ipv4.conf.tailscale0.rp_filter" = 0;
|
||||||
|
};
|
||||||
|
}
|
||||||
55
nixos/modules/networking/vpn.nix
Normal file
55
nixos/modules/networking/vpn.nix
Normal file
@@ -0,0 +1,55 @@
|
|||||||
|
{ pkgs, ... }:
|
||||||
|
|
||||||
|
{
|
||||||
|
# VSTech VPN (with DNS for bgs.local domain)
|
||||||
|
services.openvpn.servers.vstech = {
|
||||||
|
config = ''
|
||||||
|
client
|
||||||
|
remote 51.83.143.81
|
||||||
|
proto udp
|
||||||
|
port 649
|
||||||
|
dev tun
|
||||||
|
topology subnet
|
||||||
|
ca /home/lusia/VSTech-vpn/ca.crt
|
||||||
|
cert /home/lusia/VSTech-vpn/Klient251.crt
|
||||||
|
key /home/lusia/VSTech-vpn/Klient251.inline
|
||||||
|
tls-crypt /home/lusia/VSTech-vpn/ta.key
|
||||||
|
|
||||||
|
auth sha512
|
||||||
|
data-ciphers aes-256-cbc
|
||||||
|
data-ciphers-fallback aes-256-cbc
|
||||||
|
key-direction 1
|
||||||
|
keepalive 10 120
|
||||||
|
'';
|
||||||
|
updateResolvConf = false;
|
||||||
|
|
||||||
|
up = ''
|
||||||
|
${pkgs.systemd}/bin/resolvectl dns $dev 10.10.10.1
|
||||||
|
${pkgs.systemd}/bin/resolvectl domain $dev bgs.local
|
||||||
|
'';
|
||||||
|
|
||||||
|
down = ''
|
||||||
|
${pkgs.systemd}/bin/resolvectl revert $dev
|
||||||
|
'';
|
||||||
|
};
|
||||||
|
|
||||||
|
# CAT VPN
|
||||||
|
services.openvpn.servers.cat = {
|
||||||
|
config = ''
|
||||||
|
client
|
||||||
|
remote 79.133.193.211
|
||||||
|
proto tcp
|
||||||
|
port 1194
|
||||||
|
dev tun
|
||||||
|
topology subnet
|
||||||
|
ca /home/lusia/vpn/ca.crt
|
||||||
|
cert /home/lusia/vpn/client18.crt
|
||||||
|
key /home/lusia/vpn/client18.key
|
||||||
|
|
||||||
|
auth sha256
|
||||||
|
data-ciphers AES-256-CBC
|
||||||
|
key-direction 1
|
||||||
|
'';
|
||||||
|
updateResolvConf = true;
|
||||||
|
};
|
||||||
|
}
|
||||||
25
nixos/modules/packages.nix
Normal file
25
nixos/modules/packages.nix
Normal file
@@ -0,0 +1,25 @@
|
|||||||
|
{ pkgs, ... }:
|
||||||
|
|
||||||
|
{
|
||||||
|
environment.systemPackages = with pkgs; [
|
||||||
|
git
|
||||||
|
curl
|
||||||
|
wget
|
||||||
|
vim
|
||||||
|
fish
|
||||||
|
kitty
|
||||||
|
powertop
|
||||||
|
openvpn
|
||||||
|
nodejs
|
||||||
|
gnumake
|
||||||
|
gcc
|
||||||
|
cmake
|
||||||
|
xwayland-satellite
|
||||||
|
busybox
|
||||||
|
libdecor
|
||||||
|
file
|
||||||
|
cifs-utils
|
||||||
|
samba
|
||||||
|
gvfs
|
||||||
|
];
|
||||||
|
}
|
||||||
5
nixos/modules/services/flatpak.nix
Normal file
5
nixos/modules/services/flatpak.nix
Normal file
@@ -0,0 +1,5 @@
|
|||||||
|
{ ... }:
|
||||||
|
|
||||||
|
{
|
||||||
|
services.flatpak.enable = true;
|
||||||
|
}
|
||||||
17
nixos/modules/services/printing.nix
Normal file
17
nixos/modules/services/printing.nix
Normal file
@@ -0,0 +1,17 @@
|
|||||||
|
{ pkgs, ... }:
|
||||||
|
|
||||||
|
{
|
||||||
|
services.avahi = {
|
||||||
|
enable = true;
|
||||||
|
nssmdns4 = true;
|
||||||
|
openFirewall = true;
|
||||||
|
};
|
||||||
|
|
||||||
|
services.printing = {
|
||||||
|
enable = true;
|
||||||
|
drivers = with pkgs; [
|
||||||
|
cups-filters
|
||||||
|
cups-browsed
|
||||||
|
];
|
||||||
|
};
|
||||||
|
}
|
||||||
5
nixos/modules/services/smb.nix
Normal file
5
nixos/modules/services/smb.nix
Normal file
@@ -0,0 +1,5 @@
|
|||||||
|
{ ... }:
|
||||||
|
|
||||||
|
{
|
||||||
|
services.gvfs.enable = true;
|
||||||
|
}
|
||||||
5
nixos/modules/services/ssh.nix
Normal file
5
nixos/modules/services/ssh.nix
Normal file
@@ -0,0 +1,5 @@
|
|||||||
|
{ ... }:
|
||||||
|
|
||||||
|
{
|
||||||
|
services.openssh.enable = true;
|
||||||
|
}
|
||||||
16
nixos/modules/users.nix
Normal file
16
nixos/modules/users.nix
Normal file
@@ -0,0 +1,16 @@
|
|||||||
|
{ pkgs, ... }:
|
||||||
|
|
||||||
|
{
|
||||||
|
users.groups.plugdev = {};
|
||||||
|
|
||||||
|
users.users.lusia = {
|
||||||
|
isNormalUser = true;
|
||||||
|
description = "Lukrecja";
|
||||||
|
extraGroups = [ "wheel" "networkmanager" "docker" "plugdev" "scanner" "lp" "wireshark" "libvirtd" "kvm" "vboxusers" "dialout" ];
|
||||||
|
initialPassword = "pass";
|
||||||
|
shell = pkgs.fish;
|
||||||
|
};
|
||||||
|
|
||||||
|
programs.fish.enable = true;
|
||||||
|
security.sudo.enable = true;
|
||||||
|
}
|
||||||
12
nixos/modules/virtualization.nix
Normal file
12
nixos/modules/virtualization.nix
Normal file
@@ -0,0 +1,12 @@
|
|||||||
|
{ ... }:
|
||||||
|
|
||||||
|
{
|
||||||
|
virtualisation.libvirtd.enable = true;
|
||||||
|
|
||||||
|
virtualisation.virtualbox.host.enable = true;
|
||||||
|
virtualisation.virtualbox.host.enableExtensionPack = true;
|
||||||
|
|
||||||
|
virtualisation.docker.enable = true;
|
||||||
|
|
||||||
|
boot.kernelModules = [ "kvm-amd" ];
|
||||||
|
}
|
||||||
6
nixos/modules/wireshark.nix
Normal file
6
nixos/modules/wireshark.nix
Normal file
@@ -0,0 +1,6 @@
|
|||||||
|
{ pkgs, ... }:
|
||||||
|
|
||||||
|
{
|
||||||
|
programs.wireshark.enable = true;
|
||||||
|
programs.wireshark.package = pkgs.wireshark;
|
||||||
|
}
|
||||||
@@ -12,5 +12,5 @@
|
|||||||
"sourceUrl": "https://github.com/noctalia-dev/noctalia-plugins"
|
"sourceUrl": "https://github.com/noctalia-dev/noctalia-plugins"
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
"version": 1
|
"version": 2
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -8,7 +8,9 @@
|
|||||||
"customLaunchPrefixEnabled": false,
|
"customLaunchPrefixEnabled": false,
|
||||||
"density": "default",
|
"density": "default",
|
||||||
"enableClipPreview": true,
|
"enableClipPreview": true,
|
||||||
|
"enableClipboardChips": true,
|
||||||
"enableClipboardHistory": false,
|
"enableClipboardHistory": false,
|
||||||
|
"enableClipboardSmartIcons": true,
|
||||||
"enableSessionSearch": true,
|
"enableSessionSearch": true,
|
||||||
"enableSettingsSearch": true,
|
"enableSettingsSearch": true,
|
||||||
"enableWindowsSearch": true,
|
"enableWindowsSearch": true,
|
||||||
@@ -16,7 +18,6 @@
|
|||||||
"ignoreMouseInput": false,
|
"ignoreMouseInput": false,
|
||||||
"overviewLayer": false,
|
"overviewLayer": false,
|
||||||
"pinnedApps": [
|
"pinnedApps": [
|
||||||
"firefox"
|
|
||||||
],
|
],
|
||||||
"position": "center",
|
"position": "center",
|
||||||
"screenshotAnnotationTool": "",
|
"screenshotAnnotationTool": "",
|
||||||
@@ -24,16 +25,16 @@
|
|||||||
"showIconBackground": true,
|
"showIconBackground": true,
|
||||||
"sortByMostUsed": true,
|
"sortByMostUsed": true,
|
||||||
"terminalCommand": "kitty -e",
|
"terminalCommand": "kitty -e",
|
||||||
"useApp2Unit": false,
|
|
||||||
"viewMode": "list"
|
"viewMode": "list"
|
||||||
},
|
},
|
||||||
"audio": {
|
"audio": {
|
||||||
"cavaFrameRate": 60,
|
|
||||||
"mprisBlacklist": [
|
"mprisBlacklist": [
|
||||||
],
|
],
|
||||||
"preferredPlayer": "",
|
"preferredPlayer": "",
|
||||||
|
"spectrumFrameRate": 60,
|
||||||
"visualizerType": "linear",
|
"visualizerType": "linear",
|
||||||
"volumeFeedback": false,
|
"volumeFeedback": false,
|
||||||
|
"volumeFeedbackSoundFile": "",
|
||||||
"volumeOverdrive": false,
|
"volumeOverdrive": false,
|
||||||
"volumeStep": 5
|
"volumeStep": 5
|
||||||
},
|
},
|
||||||
@@ -41,26 +42,40 @@
|
|||||||
"autoHideDelay": 500,
|
"autoHideDelay": 500,
|
||||||
"autoShowDelay": 150,
|
"autoShowDelay": 150,
|
||||||
"backgroundOpacity": 0,
|
"backgroundOpacity": 0,
|
||||||
"barType": "simple",
|
"barType": "floating",
|
||||||
"capsuleColorKey": "none",
|
"capsuleColorKey": "none",
|
||||||
"capsuleOpacity": 1,
|
"capsuleOpacity": 1,
|
||||||
|
"contentPadding": 2,
|
||||||
"density": "default",
|
"density": "default",
|
||||||
"displayMode": "always_visible",
|
"displayMode": "always_visible",
|
||||||
"floating": false,
|
"enableExclusionZoneInset": true,
|
||||||
|
"floating": true,
|
||||||
|
"fontScale": 1,
|
||||||
"frameRadius": 12,
|
"frameRadius": 12,
|
||||||
"frameThickness": 8,
|
"frameThickness": 8,
|
||||||
"hideOnOverview": false,
|
"hideOnOverview": false,
|
||||||
"marginHorizontal": 5,
|
"marginHorizontal": 8,
|
||||||
"marginVertical": 5,
|
"marginVertical": 5,
|
||||||
|
"middleClickAction": "none",
|
||||||
|
"middleClickCommand": "",
|
||||||
|
"middleClickFollowMouse": false,
|
||||||
"monitors": [
|
"monitors": [
|
||||||
],
|
],
|
||||||
"outerCorners": true,
|
"mouseWheelAction": "none",
|
||||||
|
"mouseWheelWrap": true,
|
||||||
|
"outerCorners": false,
|
||||||
"position": "top",
|
"position": "top",
|
||||||
|
"reverseScroll": false,
|
||||||
|
"rightClickAction": "controlCenter",
|
||||||
|
"rightClickCommand": "",
|
||||||
|
"rightClickFollowMouse": true,
|
||||||
"screenOverrides": [
|
"screenOverrides": [
|
||||||
],
|
],
|
||||||
"showCapsule": true,
|
"showCapsule": false,
|
||||||
|
"showOnWorkspaceSwitch": true,
|
||||||
"showOutline": false,
|
"showOutline": false,
|
||||||
"useSeparateOpacity": true,
|
"useSeparateOpacity": false,
|
||||||
|
"widgetSpacing": 6,
|
||||||
"widgets": {
|
"widgets": {
|
||||||
"center": [
|
"center": [
|
||||||
],
|
],
|
||||||
@@ -70,6 +85,7 @@
|
|||||||
"diskPath": "/",
|
"diskPath": "/",
|
||||||
"iconColor": "none",
|
"iconColor": "none",
|
||||||
"id": "SystemMonitor",
|
"id": "SystemMonitor",
|
||||||
|
"showCpuCores": false,
|
||||||
"showCpuFreq": false,
|
"showCpuFreq": false,
|
||||||
"showCpuTemp": true,
|
"showCpuTemp": true,
|
||||||
"showCpuUsage": true,
|
"showCpuUsage": true,
|
||||||
@@ -83,18 +99,16 @@
|
|||||||
"showNetworkStats": true,
|
"showNetworkStats": true,
|
||||||
"showSwapUsage": false,
|
"showSwapUsage": false,
|
||||||
"textColor": "none",
|
"textColor": "none",
|
||||||
"useMonospaceFont": true
|
"useMonospaceFont": true,
|
||||||
|
"usePadding": false
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"compactMode": false,
|
"compactMode": false,
|
||||||
"compactShowAlbumArt": true,
|
|
||||||
"compactShowVisualizer": false,
|
|
||||||
"hideMode": "hidden",
|
"hideMode": "hidden",
|
||||||
"hideWhenIdle": false,
|
"hideWhenIdle": false,
|
||||||
"id": "MediaMini",
|
"id": "MediaMini",
|
||||||
"maxWidth": 145,
|
"maxWidth": 145,
|
||||||
"panelShowAlbumArt": true,
|
"panelShowAlbumArt": true,
|
||||||
"panelShowVisualizer": true,
|
|
||||||
"scrollingMode": "hover",
|
"scrollingMode": "hover",
|
||||||
"showAlbumArt": false,
|
"showAlbumArt": false,
|
||||||
"showArtistFirst": true,
|
"showArtistFirst": true,
|
||||||
@@ -148,6 +162,7 @@
|
|||||||
"textColor": "none"
|
"textColor": "none"
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
|
"applyToAllMonitors": false,
|
||||||
"displayMode": "onhover",
|
"displayMode": "onhover",
|
||||||
"iconColor": "none",
|
"iconColor": "none",
|
||||||
"id": "Brightness",
|
"id": "Brightness",
|
||||||
@@ -175,16 +190,14 @@
|
|||||||
}
|
}
|
||||||
},
|
},
|
||||||
"brightness": {
|
"brightness": {
|
||||||
|
"backlightDeviceMappings": [
|
||||||
|
],
|
||||||
"brightnessStep": 5,
|
"brightnessStep": 5,
|
||||||
"enableDdcSupport": false,
|
"enableDdcSupport": false,
|
||||||
"enforceMinimum": true
|
"enforceMinimum": true
|
||||||
},
|
},
|
||||||
"calendar": {
|
"calendar": {
|
||||||
"cards": [
|
"cards": [
|
||||||
{
|
|
||||||
"enabled": true,
|
|
||||||
"id": "timer-card"
|
|
||||||
},
|
|
||||||
{
|
{
|
||||||
"enabled": true,
|
"enabled": true,
|
||||||
"id": "weather-card"
|
"id": "weather-card"
|
||||||
@@ -265,8 +278,15 @@
|
|||||||
"desktopWidgets": {
|
"desktopWidgets": {
|
||||||
"enabled": false,
|
"enabled": false,
|
||||||
"gridSnap": false,
|
"gridSnap": false,
|
||||||
|
"gridSnapScale": false,
|
||||||
"monitorWidgets": [
|
"monitorWidgets": [
|
||||||
|
{
|
||||||
|
"name": "eDP-1",
|
||||||
|
"widgets": [
|
||||||
]
|
]
|
||||||
|
}
|
||||||
|
],
|
||||||
|
"overviewEnabled": true
|
||||||
},
|
},
|
||||||
"dock": {
|
"dock": {
|
||||||
"animationSpeed": 1,
|
"animationSpeed": 1,
|
||||||
@@ -274,9 +294,19 @@
|
|||||||
"colorizeIcons": false,
|
"colorizeIcons": false,
|
||||||
"deadOpacity": 0.6,
|
"deadOpacity": 0.6,
|
||||||
"displayMode": "always_visible",
|
"displayMode": "always_visible",
|
||||||
|
"dockType": "floating",
|
||||||
"enabled": false,
|
"enabled": false,
|
||||||
"floatingRatio": 1,
|
"floatingRatio": 1,
|
||||||
|
"groupApps": false,
|
||||||
|
"groupClickAction": "cycle",
|
||||||
|
"groupContextMenuMode": "extended",
|
||||||
|
"groupIndicatorStyle": "dots",
|
||||||
"inactiveIndicators": false,
|
"inactiveIndicators": false,
|
||||||
|
"indicatorColor": "primary",
|
||||||
|
"indicatorOpacity": 0.6,
|
||||||
|
"indicatorThickness": 3,
|
||||||
|
"launcherIconColor": "none",
|
||||||
|
"launcherPosition": "end",
|
||||||
"monitors": [
|
"monitors": [
|
||||||
],
|
],
|
||||||
"onlySameOutput": true,
|
"onlySameOutput": true,
|
||||||
@@ -284,6 +314,9 @@
|
|||||||
],
|
],
|
||||||
"pinnedStatic": false,
|
"pinnedStatic": false,
|
||||||
"position": "bottom",
|
"position": "bottom",
|
||||||
|
"showDockIndicator": false,
|
||||||
|
"showLauncherIcon": false,
|
||||||
|
"sitOnFrame": false,
|
||||||
"size": 1
|
"size": 1
|
||||||
},
|
},
|
||||||
"general": {
|
"general": {
|
||||||
@@ -298,7 +331,9 @@
|
|||||||
"clockStyle": "custom",
|
"clockStyle": "custom",
|
||||||
"compactLockScreen": true,
|
"compactLockScreen": true,
|
||||||
"dimmerOpacity": 0.6,
|
"dimmerOpacity": 0.6,
|
||||||
|
"enableBlurBehind": true,
|
||||||
"enableLockScreenCountdown": true,
|
"enableLockScreenCountdown": true,
|
||||||
|
"enableLockScreenMediaControls": false,
|
||||||
"enableShadows": true,
|
"enableShadows": true,
|
||||||
"forceBlackScreenCorners": true,
|
"forceBlackScreenCorners": true,
|
||||||
"iRadiusRatio": 1,
|
"iRadiusRatio": 1,
|
||||||
@@ -307,7 +342,8 @@
|
|||||||
"Down"
|
"Down"
|
||||||
],
|
],
|
||||||
"keyEnter": [
|
"keyEnter": [
|
||||||
"Return"
|
"Return",
|
||||||
|
"Enter"
|
||||||
],
|
],
|
||||||
"keyEscape": [
|
"keyEscape": [
|
||||||
"Esc"
|
"Esc"
|
||||||
@@ -315,6 +351,9 @@
|
|||||||
"keyLeft": [
|
"keyLeft": [
|
||||||
"Left"
|
"Left"
|
||||||
],
|
],
|
||||||
|
"keyRemove": [
|
||||||
|
"Del"
|
||||||
|
],
|
||||||
"keyRight": [
|
"keyRight": [
|
||||||
"Right"
|
"Right"
|
||||||
],
|
],
|
||||||
@@ -330,7 +369,9 @@
|
|||||||
"lockScreenMonitors": [
|
"lockScreenMonitors": [
|
||||||
],
|
],
|
||||||
"lockScreenTint": 0,
|
"lockScreenTint": 0,
|
||||||
|
"passwordChars": false,
|
||||||
"radiusRatio": 1,
|
"radiusRatio": 1,
|
||||||
|
"reverseScroll": false,
|
||||||
"scaleRatio": 1,
|
"scaleRatio": 1,
|
||||||
"screenRadiusRatio": 1,
|
"screenRadiusRatio": 1,
|
||||||
"shadowDirection": "bottom_right",
|
"shadowDirection": "bottom_right",
|
||||||
@@ -353,6 +394,20 @@
|
|||||||
"startup": "",
|
"startup": "",
|
||||||
"wallpaperChange": ""
|
"wallpaperChange": ""
|
||||||
},
|
},
|
||||||
|
"idle": {
|
||||||
|
"customCommands": "[]",
|
||||||
|
"enabled": false,
|
||||||
|
"fadeDuration": 5,
|
||||||
|
"lockCommand": "",
|
||||||
|
"lockTimeout": 660,
|
||||||
|
"resumeLockCommand": "",
|
||||||
|
"resumeScreenOffCommand": "",
|
||||||
|
"resumeSuspendCommand": "",
|
||||||
|
"screenOffCommand": "",
|
||||||
|
"screenOffTimeout": 600,
|
||||||
|
"suspendCommand": "",
|
||||||
|
"suspendTimeout": 1800
|
||||||
|
},
|
||||||
"location": {
|
"location": {
|
||||||
"analogClockInCalendar": false,
|
"analogClockInCalendar": false,
|
||||||
"firstDayOfWeek": 1,
|
"firstDayOfWeek": 1,
|
||||||
@@ -368,10 +423,14 @@
|
|||||||
"weatherShowEffects": true
|
"weatherShowEffects": true
|
||||||
},
|
},
|
||||||
"network": {
|
"network": {
|
||||||
|
"airplaneModeEnabled": false,
|
||||||
|
"bluetoothAutoConnect": true,
|
||||||
"bluetoothDetailsViewMode": "grid",
|
"bluetoothDetailsViewMode": "grid",
|
||||||
"bluetoothHideUnnamedDevices": true,
|
"bluetoothHideUnnamedDevices": true,
|
||||||
"bluetoothRssiPollIntervalMs": 10000,
|
"bluetoothRssiPollIntervalMs": 10000,
|
||||||
"bluetoothRssiPollingEnabled": false,
|
"bluetoothRssiPollingEnabled": false,
|
||||||
|
"disableDiscoverability": false,
|
||||||
|
"networkPanelView": "wifi",
|
||||||
"wifiDetailsViewMode": "grid",
|
"wifiDetailsViewMode": "grid",
|
||||||
"wifiEnabled": true
|
"wifiEnabled": true
|
||||||
},
|
},
|
||||||
@@ -384,11 +443,18 @@
|
|||||||
"manualSunset": "18:30",
|
"manualSunset": "18:30",
|
||||||
"nightTemp": "4000"
|
"nightTemp": "4000"
|
||||||
},
|
},
|
||||||
|
"noctaliaPerformance": {
|
||||||
|
"disableDesktopWidgets": true,
|
||||||
|
"disableWallpaper": true
|
||||||
|
},
|
||||||
"notifications": {
|
"notifications": {
|
||||||
"backgroundOpacity": 1,
|
"backgroundOpacity": 1,
|
||||||
|
"clearDismissed": true,
|
||||||
"criticalUrgencyDuration": 15,
|
"criticalUrgencyDuration": 15,
|
||||||
|
"density": "default",
|
||||||
"enableBatteryToast": true,
|
"enableBatteryToast": true,
|
||||||
"enableKeyboardLayoutToast": true,
|
"enableKeyboardLayoutToast": true,
|
||||||
|
"enableMarkdown": false,
|
||||||
"enableMediaToast": false,
|
"enableMediaToast": false,
|
||||||
"enabled": true,
|
"enabled": true,
|
||||||
"location": "top_right",
|
"location": "top_right",
|
||||||
@@ -456,55 +522,64 @@
|
|||||||
"command": "",
|
"command": "",
|
||||||
"countdownEnabled": true,
|
"countdownEnabled": true,
|
||||||
"enabled": true,
|
"enabled": true,
|
||||||
"keybind": "4"
|
"keybind": "3"
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"action": "logout",
|
"action": "logout",
|
||||||
"command": "",
|
"command": "",
|
||||||
"countdownEnabled": true,
|
"countdownEnabled": true,
|
||||||
"enabled": true,
|
"enabled": true,
|
||||||
"keybind": "5"
|
"keybind": "4"
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"action": "shutdown",
|
"action": "shutdown",
|
||||||
"command": "",
|
"command": "",
|
||||||
"countdownEnabled": true,
|
"countdownEnabled": true,
|
||||||
"enabled": true,
|
"enabled": true,
|
||||||
"keybind": "6"
|
"keybind": "5"
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"action": "hibernate",
|
"action": "hibernate",
|
||||||
"command": "",
|
"command": "",
|
||||||
"countdownEnabled": true,
|
"countdownEnabled": true,
|
||||||
"enabled": true,
|
"enabled": true,
|
||||||
"keybind": "3"
|
"keybind": "6"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"action": "userspaceReboot",
|
||||||
|
"command": "",
|
||||||
|
"countdownEnabled": true,
|
||||||
|
"enabled": false,
|
||||||
|
"keybind": ""
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"action": "rebootToUefi",
|
||||||
|
"command": "",
|
||||||
|
"countdownEnabled": true,
|
||||||
|
"enabled": true,
|
||||||
|
"keybind": "7"
|
||||||
}
|
}
|
||||||
],
|
],
|
||||||
"showHeader": true
|
"showHeader": true,
|
||||||
|
"showKeybinds": true
|
||||||
},
|
},
|
||||||
"settingsVersion": 53,
|
"settingsVersion": 58,
|
||||||
"systemMonitor": {
|
"systemMonitor": {
|
||||||
"batteryCriticalThreshold": 5,
|
"batteryCriticalThreshold": 5,
|
||||||
"batteryWarningThreshold": 20,
|
"batteryWarningThreshold": 20,
|
||||||
"cpuCriticalThreshold": 90,
|
"cpuCriticalThreshold": 90,
|
||||||
"cpuPollingInterval": 1000,
|
|
||||||
"cpuWarningThreshold": 80,
|
"cpuWarningThreshold": 80,
|
||||||
"criticalColor": "",
|
"criticalColor": "",
|
||||||
"diskAvailCriticalThreshold": 10,
|
"diskAvailCriticalThreshold": 10,
|
||||||
"diskAvailWarningThreshold": 20,
|
"diskAvailWarningThreshold": 20,
|
||||||
"diskCriticalThreshold": 90,
|
"diskCriticalThreshold": 90,
|
||||||
"diskPollingInterval": 3000,
|
|
||||||
"diskWarningThreshold": 80,
|
"diskWarningThreshold": 80,
|
||||||
"enableDgpuMonitoring": false,
|
"enableDgpuMonitoring": false,
|
||||||
"externalMonitor": "resources || missioncenter || jdsystemmonitor || corestats || system-monitoring-center || gnome-system-monitor || plasma-systemmonitor || mate-system-monitor || ukui-system-monitor || deepin-system-monitor || pantheon-system-monitor",
|
"externalMonitor": "resources || missioncenter || jdsystemmonitor || corestats || system-monitoring-center || gnome-system-monitor || plasma-systemmonitor || mate-system-monitor || ukui-system-monitor || deepin-system-monitor || pantheon-system-monitor",
|
||||||
"gpuCriticalThreshold": 90,
|
"gpuCriticalThreshold": 90,
|
||||||
"gpuPollingInterval": 3000,
|
|
||||||
"gpuWarningThreshold": 80,
|
"gpuWarningThreshold": 80,
|
||||||
"loadAvgPollingInterval": 3000,
|
|
||||||
"memCriticalThreshold": 90,
|
"memCriticalThreshold": 90,
|
||||||
"memPollingInterval": 1000,
|
|
||||||
"memWarningThreshold": 80,
|
"memWarningThreshold": 80,
|
||||||
"networkPollingInterval": 1000,
|
|
||||||
"swapCriticalThreshold": 90,
|
"swapCriticalThreshold": 90,
|
||||||
"swapWarningThreshold": 80,
|
"swapWarningThreshold": 80,
|
||||||
"tempCriticalThreshold": 90,
|
"tempCriticalThreshold": 90,
|
||||||
@@ -518,19 +593,18 @@
|
|||||||
"enableUserTheming": false
|
"enableUserTheming": false
|
||||||
},
|
},
|
||||||
"ui": {
|
"ui": {
|
||||||
"bluetoothDetailsViewMode": "grid",
|
|
||||||
"bluetoothHideUnnamedDevices": false,
|
|
||||||
"boxBorderEnabled": false,
|
"boxBorderEnabled": false,
|
||||||
"fontDefault": "Roboto",
|
"fontDefault": "Roboto",
|
||||||
"fontDefaultScale": 0.9,
|
"fontDefaultScale": 0.9,
|
||||||
"fontFixed": "DejaVu Sans Mono",
|
"fontFixed": "DejaVu Sans Mono",
|
||||||
"fontFixedScale": 0.8,
|
"fontFixedScale": 0.8,
|
||||||
"networkPanelView": "wifi",
|
|
||||||
"panelBackgroundOpacity": 0.4,
|
"panelBackgroundOpacity": 0.4,
|
||||||
"panelsAttachedToBar": true,
|
"panelsAttachedToBar": true,
|
||||||
|
"scrollbarAlwaysVisible": true,
|
||||||
"settingsPanelMode": "centered",
|
"settingsPanelMode": "centered",
|
||||||
|
"settingsPanelSideBarCardStyle": false,
|
||||||
"tooltipsEnabled": true,
|
"tooltipsEnabled": true,
|
||||||
"wifiDetailsViewMode": "grid"
|
"translucentWidgets": false
|
||||||
},
|
},
|
||||||
"wallpaper": {
|
"wallpaper": {
|
||||||
"automationEnabled": false,
|
"automationEnabled": false,
|
||||||
|
|||||||
@@ -1,25 +1,25 @@
|
|||||||
{
|
{
|
||||||
"LuaSnip": { "branch": "master", "commit": "73813308abc2eaeff2bc0d3f2f79270c491be9d7" },
|
"LuaSnip": { "branch": "master", "commit": "73813308abc2eaeff2bc0d3f2f79270c491be9d7" },
|
||||||
"NvChad": { "branch": "v2.5", "commit": "f107fabe11ac8013dc3435ecd5382bee872b1584" },
|
"NvChad": { "branch": "v2.5", "commit": "f437558f23c8f50c36cd09748121ab2c822e8ec9" },
|
||||||
"base46": { "branch": "v3.0", "commit": "db58475d3fd2a16f9b1467d6895e3c4c195ed7dd" },
|
"base46": { "branch": "v3.0", "commit": "884b990dcdbe07520a0892da6ba3e8d202b46337" },
|
||||||
"blink.cmp": { "branch": "main", "commit": "b19413d214068f316c78978b08264ed1c41830ec" },
|
"blink.cmp": { "branch": "main", "commit": "4b18c32adef2898f95cdef6192cbd5796c1a332d" },
|
||||||
"conform.nvim": { "branch": "master", "commit": "fbcb4fa7f34bfea9be702ffff481a8e336ebf6ed" },
|
"conform.nvim": { "branch": "master", "commit": "40dcec5555f960b0a04340d76eabdf4efe78599d" },
|
||||||
"friendly-snippets": { "branch": "main", "commit": "572f5660cf05f8cd8834e096d7b4c921ba18e175" },
|
"friendly-snippets": { "branch": "main", "commit": "6cd7280adead7f586db6fccbd15d2cac7e2188b9" },
|
||||||
"gitsigns.nvim": { "branch": "main", "commit": "1ee5c1fd068c81f9dd06483e639c2aa4587dc197" },
|
"gitsigns.nvim": { "branch": "main", "commit": "7c4faa3540d0781a28588cafbd4dd187a28ac6e3" },
|
||||||
"indent-blankline.nvim": { "branch": "master", "commit": "005b56001b2cb30bfa61b7986bc50657816ba4ba" },
|
"indent-blankline.nvim": { "branch": "master", "commit": "d28a3f70721c79e3c5f6693057ae929f3d9c0a03" },
|
||||||
"lazy.nvim": { "branch": "main", "commit": "6c3bda4aca61a13a9c63f1c1d1b16b9d3be90d7a" },
|
"lazy.nvim": { "branch": "main", "commit": "306a05526ada86a7b30af95c5cc81ffba93fef97" },
|
||||||
"mason.nvim": { "branch": "main", "commit": "ad7146aa61dcaeb54fa900144d768f040090bff0" },
|
"mason.nvim": { "branch": "main", "commit": "44d1e90e1f66e077268191e3ee9d2ac97cc18e65" },
|
||||||
"menu": { "branch": "main", "commit": "7a0a4a2896b715c066cfbe320bdc048091874cc6" },
|
"menu": { "branch": "main", "commit": "7a0a4a2896b715c066cfbe320bdc048091874cc6" },
|
||||||
"minty": { "branch": "main", "commit": "aafc9e8e0afe6bf57580858a2849578d8d8db9e0" },
|
"minty": { "branch": "main", "commit": "aafc9e8e0afe6bf57580858a2849578d8d8db9e0" },
|
||||||
"nvim-autopairs": { "branch": "master", "commit": "23320e75953ac82e559c610bec5a90d9c6dfa743" },
|
"nvim-autopairs": { "branch": "master", "commit": "59bce2eef357189c3305e25bc6dd2d138c1683f5" },
|
||||||
"nvim-cmp": { "branch": "main", "commit": "b5311ab3ed9c846b585c0c15b7559be131ec4be9" },
|
"nvim-cmp": { "branch": "main", "commit": "b5311ab3ed9c846b585c0c15b7559be131ec4be9" },
|
||||||
"nvim-lspconfig": { "branch": "master", "commit": "ac98db2f9f06a56498ec890a96928774eae412c3" },
|
"nvim-lspconfig": { "branch": "master", "commit": "2163c54bb6cfec53e3e555665ada945b8c8331b9" },
|
||||||
"nvim-tree.lua": { "branch": "master", "commit": "e397756d2a79d74314ea4cd3efc41300e91c0ff0" },
|
"nvim-tree.lua": { "branch": "master", "commit": "4b30847c91d498446cb8440c03031359b045e050" },
|
||||||
"nvim-treesitter": { "branch": "master", "commit": "42fc28ba918343ebfd5565147a42a26580579482" },
|
"nvim-treesitter": { "branch": "master", "commit": "42fc28ba918343ebfd5565147a42a26580579482" },
|
||||||
"nvim-web-devicons": { "branch": "master", "commit": "b8221e42cf7287c4dcde81f232f58d7b947c210d" },
|
"nvim-web-devicons": { "branch": "master", "commit": "737cf6c657898d0c697311d79d361288a1343d50" },
|
||||||
"plenary.nvim": { "branch": "master", "commit": "b9fd5226c2f76c951fc8ed5923d85e4de065e509" },
|
"plenary.nvim": { "branch": "master", "commit": "b9fd5226c2f76c951fc8ed5923d85e4de065e509" },
|
||||||
"telescope.nvim": { "branch": "master", "commit": "b4da76be54691e854d3e0e02c36b0245f945c2c7" },
|
"telescope.nvim": { "branch": "master", "commit": "5255aa27c422de944791318024167ad5d40aad20" },
|
||||||
"ui": { "branch": "v3.0", "commit": "03b9718140375e7f3f5e4f3e04bc2b6c907440ec" },
|
"ui": { "branch": "v3.0", "commit": "03b9718140375e7f3f5e4f3e04bc2b6c907440ec" },
|
||||||
"volt": { "branch": "main", "commit": "620de1321f275ec9d80028c68d1b88b409c0c8b1" },
|
"volt": { "branch": "main", "commit": "620de1321f275ec9d80028c68d1b88b409c0c8b1" },
|
||||||
"which-key.nvim": { "branch": "main", "commit": "b4177e3eaf15fe5eb8357ebac2286d488be1ed00" }
|
"which-key.nvim": { "branch": "main", "commit": "3aab2147e74890957785941f0c1ad87d0a44c15a" }
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -4,31 +4,11 @@ local servers = { "html", "cssls", "rust_analyzer" }
|
|||||||
vim.lsp.enable(servers)
|
vim.lsp.enable(servers)
|
||||||
|
|
||||||
-- Configure rust-analyzer with enhanced settings
|
-- Configure rust-analyzer with enhanced settings
|
||||||
|
-- Project-specific settings (features, target, etc.) go in rust-analyzer.toml
|
||||||
vim.lsp.config.rust_analyzer = {
|
vim.lsp.config.rust_analyzer = {
|
||||||
cmd = { "rust-analyzer" },
|
cmd = { "rust-analyzer" },
|
||||||
filetypes = { "rust" },
|
filetypes = { "rust" },
|
||||||
root_markers = { "Cargo.toml", "rust-project.json" },
|
root_markers = { "Cargo.toml", "rust-project.json" },
|
||||||
settings = {
|
|
||||||
["rust-analyzer"] = {
|
|
||||||
cargo = {
|
|
||||||
allFeatures = true,
|
|
||||||
loadOutDirsFromCheck = true,
|
|
||||||
buildScripts = {
|
|
||||||
enable = true,
|
|
||||||
},
|
|
||||||
},
|
|
||||||
checkOnSave = true,
|
|
||||||
check = {
|
|
||||||
command = "clippy",
|
|
||||||
},
|
|
||||||
procMacro = {
|
|
||||||
enable = true,
|
|
||||||
},
|
|
||||||
diagnostics = {
|
|
||||||
enable = true,
|
|
||||||
},
|
|
||||||
},
|
|
||||||
},
|
|
||||||
}
|
}
|
||||||
|
|
||||||
-- read :h vim.lsp.config for changing options of lsp servers
|
-- read :h vim.lsp.config for changing options of lsp servers
|
||||||
|
|||||||
@@ -27,8 +27,8 @@ return {
|
|||||||
},
|
},
|
||||||
},
|
},
|
||||||
keymap = {
|
keymap = {
|
||||||
["<CR>"] = { "fallback" }, -- Enter only inserts newline, doesn't accept
|
["<CR>"] = { "accept", "fallback" }, -- Enter accepts only when an item is selected; otherwise newline
|
||||||
["<Tab>"] = { "select_and_accept", "snippet_forward", "fallback" }, -- Tab accepts
|
["<Esc>"] = { "cancel", "fallback" }, -- Esc closes completion and stays in insert mode when menu is visible
|
||||||
},
|
},
|
||||||
},
|
},
|
||||||
},
|
},
|
||||||
|
|||||||
Reference in New Issue
Block a user