Compare commits

...

52 Commits

Author SHA1 Message Date
tux
0934d3235d fix(input): adjust mouse sensitivity 2025-10-08 15:01:13 +05:30
tux
e55e55ddbf feat(input): configure mouse acceleration profile 2025-10-08 04:03:22 +05:30
tux
7006670315 chore: update tpanel flake input 2025-10-07 03:26:22 +05:30
tux
f180bf98fb feat(hyprland): update bindings for tpanel 2025-10-07 01:52:38 +05:30
tux
26c20eb13f feat(hyprland): add mouse bindings 2025-10-07 01:51:44 +05:30
tux
6f53a88817 fix: mouse sensitivity 2025-10-06 22:49:24 +05:30
tux
b7c1c5880d doc: update README 2025-10-06 19:04:17 +05:30
tux
4db41c2842 chore(assets): remove unused 2025-10-06 18:59:39 +05:30
tux
b330c11e90 chore(readme): update UI element references 2025-10-06 18:41:33 +05:30
tux
a43bea05f2 doc(assets): Organize assets by window manager 2025-10-06 18:38:53 +05:30
tux
5d9c95e7ca chore: update sha256 hash 2025-10-04 16:38:09 +05:30
tux
8d89b88b08 chore: update tnvim flake input 2025-10-04 16:31:13 +05:30
tux
e3e742b0ee fix(superfile): set default directory to home 2025-10-04 04:33:24 +05:30
tux
69d22c9be3 feat(hyprland): replace thunar with superfile 2025-10-03 21:53:39 +05:30
tux
4dbd7264a2 feat: update asusd config 2025-10-02 13:54:25 +05:30
tux
4a88e9bd60 style(editor): increase font size 2025-09-30 11:15:12 +05:30
tux
db81a357c9 feat(hyprland): add window centering shortcut 2025-09-30 11:14:48 +05:30
tux
410a202b3d feat(canopus): reduce battery charge threshold 2025-09-30 11:14:34 +05:30
tux
6e069ea386 chore: update tpanel flake input 2025-09-30 11:14:10 +05:30
tux
776b469267 chore: add iwd to persist dir 2025-09-28 05:12:02 +05:30
tux
6c5627e919 feat: add impala 2025-09-28 05:11:58 +05:30
tux
e869984a81 chore(hyprland): refine window floating toggle 2025-09-28 03:01:40 +05:30
tux
8d6e94b059 fix(mopidy): remove unused visualizer sync interval 2025-09-28 01:43:29 +05:30
tux
03fb51dd03 chore: update tpanel flake input 2025-09-28 01:30:02 +05:30
tux
5b76e660dd feat: add bluetui 2025-09-27 21:03:31 +05:30
tux
01c7859436 chore: update tpanel flake input 2025-09-26 13:29:25 +05:30
tux
3efd26e126 feat(hyprland): add tpanel control-center binding 2025-09-25 20:11:27 +05:30
tux
dce1b54011 chore: update tpanel flake input 2025-09-25 20:11:27 +05:30
tux
ba3adc4989 chore: add bigblue-terminal nerd font 2025-09-25 19:32:15 +05:30
tux
6b592db797 chore: update tpanel flake input 2025-09-24 17:52:19 +05:30
tux
7ce463a1b9 feat: migrate tpanel to ags v3 2025-09-24 16:42:10 +05:30
tux
333e87796e chore: correct typo 2025-09-23 15:57:23 +05:30
tux
386ecf0b24 refactor(qt): consolidate qt configuration options 2025-09-23 15:51:20 +05:30
tux
f74b3c6d3c refactor(hyprland): improve floating window rules 2025-09-23 15:50:40 +05:30
tux
bc8618512d feat(hyprland): setup window rules for kde connect 2025-09-23 15:48:19 +05:30
tux
ccbbcbde46 feat(hyprland): launch kde connect on startup 2025-09-23 14:33:03 +05:30
tux
f899f921e0 feat: add kdeconnect to persist dir 2025-09-23 14:32:46 +05:30
tux
1a8e7a2b27 feat: enable firmware update and filesystem trim 2025-09-23 13:56:25 +05:30
tux
91b2810464 feat: add optimisations 2025-09-23 13:55:24 +05:30
tux
f89d27db2e chore: update sha256 hash 2025-09-23 13:36:48 +05:30
tux
6b44e284b0 feat(hyprland): replace swaybg with hyprpaper 2025-09-23 13:36:38 +05:30
tux
da69c4b543 doc: update components 2025-09-22 19:00:32 +05:30
tux
88e4d73968 feat(hyprland): add hyprlock configuration 2025-09-22 18:38:07 +05:30
tux
3c330385d7 feat: add zed editor 2025-09-22 14:21:24 +05:30
tux
04663412b0 feat(boot): increase boot entry limit 2025-09-22 13:08:14 +05:30
tux
b06c8e48bc chore: change wallpaper 2025-09-21 23:37:29 +05:30
tux
3b64438b58 chore: update tnvim flake input 2025-09-18 16:12:01 +05:30
tux
64b8c3a296 feat: setup opencode 2025-09-18 15:55:30 +05:30
tux
4c98e05ec8 feat(hyprland): add display docking script 2025-09-18 15:29:25 +05:30
tux
f11851c6bc feat: add to persist dir 2025-09-17 21:39:28 +05:30
tux
3d5d81f551 feat: update flake inputs 2025-09-17 18:34:39 +05:30
tux
af60797e75 feat: replace spotify with spotify_player 2025-09-17 18:08:03 +05:30
30 changed files with 334 additions and 128 deletions

View File

@@ -71,16 +71,30 @@ reboot
| DM | ly | ly |
| WM/DE | Hyprland | AwesomeWM |
| Compositor | Hyprland | Picom (Jonaburg) |
| Bar | Astal | Wibar |
| Bar | tPanel | Wibar |
| Hotkeys | Hyprland | Awful |
| Launcher | Astal | Rofi |
| Notifications | Astal | Naughty |
| Terminal | Ghostty | Wezterm |
| Launcher | tPanel | Rofi |
| Notifications | tPanel | Naughty |
| Terminal | Wezterm | Wezterm |
| Editor | Neovim | Neovim |
## Showcase
### Desktop
### Desktop Hyprland
![Desktop](https://raw.githubusercontent.com/tuxdotrs/nix-config/refs/heads/main/assets/hyprland/desktop.png)
### tPanel
![tPanel](https://raw.githubusercontent.com/tuxdotrs/nix-config/refs/heads/main/assets/hyprland/tPanel.png)
### Workflow
![Workflow](https://raw.githubusercontent.com/tuxdotrs/nix-config/refs/heads/main/assets/hyprland/workflow.png)
## Showcase
### Desktop AwesomeWM
![2024-08-08_18-33](https://github.com/user-attachments/assets/1cdcc387-0f68-486c-a76c-a36ad2acb78d)

View File

Before

Width:  |  Height:  |  Size: 3.2 MiB

After

Width:  |  Height:  |  Size: 3.2 MiB

View File

Before

Width:  |  Height:  |  Size: 2.6 MiB

After

Width:  |  Height:  |  Size: 2.6 MiB

View File

Before

Width:  |  Height:  |  Size: 439 KiB

After

Width:  |  Height:  |  Size: 439 KiB

View File

Before

Width:  |  Height:  |  Size: 487 KiB

After

Width:  |  Height:  |  Size: 487 KiB

View File

Before

Width:  |  Height:  |  Size: 559 KiB

After

Width:  |  Height:  |  Size: 559 KiB

View File

Before

Width:  |  Height:  |  Size: 574 KiB

After

Width:  |  Height:  |  Size: 574 KiB

View File

Before

Width:  |  Height:  |  Size: 645 KiB

After

Width:  |  Height:  |  Size: 645 KiB

BIN
assets/hyprland/desktop.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.6 MiB

BIN
assets/hyprland/tPanel.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.9 MiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 642 KiB

118
flake.lock generated
View File

@@ -9,11 +9,11 @@
]
},
"locked": {
"lastModified": 1744557573,
"narHash": "sha256-XAyj0iDuI51BytJ1PwN53uLpzTDdznPDQFG4RwihlTQ=",
"lastModified": 1758577685,
"narHash": "sha256-iHT0kvsQJG+Z89quGi7rNCXEg2e3DBGfuuCMu/UwiIo=",
"owner": "aylur",
"repo": "ags",
"rev": "3ed9737bdbc8fc7a7c7ceef2165c9109f336bff6",
"rev": "aa7a8a2dd6e54aaeb4e13a73ed3bc2283995090b",
"type": "github"
},
"original": {
@@ -64,32 +64,11 @@
]
},
"locked": {
"lastModified": 1742571008,
"narHash": "sha256-5WgfJAeBpxiKbTR/gJvxrGYfqQRge5aUDcGKmU1YZ1Q=",
"lastModified": 1756474652,
"narHash": "sha256-iiBU6itpEqE0spXeNJ3uJTfioSyKYjt5bNepykpDXTE=",
"owner": "aylur",
"repo": "astal",
"rev": "dc0e5d37abe9424c53dcbd2506a4886ffee6296e",
"type": "github"
},
"original": {
"owner": "aylur",
"repo": "astal",
"type": "github"
}
},
"astal_2": {
"inputs": {
"nixpkgs": [
"tpanel",
"nixpkgs"
]
},
"locked": {
"lastModified": 1748416910,
"narHash": "sha256-FEQcs58HL8Fe4i7XlqVEUwthjxwvRvgX15gTTfW17sU=",
"owner": "aylur",
"repo": "astal",
"rev": "c1bd89a47c81c66ab5fc6872db5a916c0433fb89",
"rev": "20bd8318e4136fbd3d4eb2d64dbabc3acbc915dd",
"type": "github"
},
"original": {
@@ -164,11 +143,11 @@
"nixpkgs-stable": "nixpkgs-stable"
},
"locked": {
"lastModified": 1757902281,
"narHash": "sha256-sSgxXWFOx9Rgv6OnDDBbSvHNl2QPEkjjKqJcScgPXws=",
"lastModified": 1758074676,
"narHash": "sha256-9eBaBvXPcuEHgt0Hb2emoG4yqZqQ05yohsHBUazX8K0=",
"owner": "nix-community",
"repo": "emacs-overlay",
"rev": "2eadd129c00b17c1dffa6c05a6372be4d6698be5",
"rev": "057134e47725e8f7b7fee1609ea8b4b434fd7007",
"type": "github"
},
"original": {
@@ -412,11 +391,11 @@
"zon2nix": "zon2nix"
},
"locked": {
"lastModified": 1757881374,
"narHash": "sha256-GU9eTlaXg7UdJNb5p0LSp07xUYX0tfGrihdXcbU2GEc=",
"lastModified": 1758065851,
"narHash": "sha256-4yQjtJnX3tyDASjZTVRZWOBADrjJCaXMESFzM2uMvXQ=",
"owner": "ghostty-org",
"repo": "ghostty",
"rev": "b58a761aba75fadf1e3dd2ea23df9e38c4284c92",
"rev": "0f0a61c38dbebbd70979afbd3df81bf143efca9d",
"type": "github"
},
"original": {
@@ -471,11 +450,11 @@
]
},
"locked": {
"lastModified": 1757920978,
"narHash": "sha256-Mv16aegXLulgyDunijP6SPFJNm8lSXb2w3Q0X+vZ9TY=",
"lastModified": 1758111822,
"narHash": "sha256-Cpfyjkaft6yI5Ktvy2WTKDZehdU4sqKWs9EGaB2JFjs=",
"owner": "nix-community",
"repo": "home-manager",
"rev": "11cc5449c50e0e5b785be3dfcb88245232633eb8",
"rev": "b035546241d842053c7f19c517e330d79d1dc801",
"type": "github"
},
"original": {
@@ -558,11 +537,11 @@
"xdph": "xdph"
},
"locked": {
"lastModified": 1757811161,
"narHash": "sha256-laCB71qgn9Eht7bH1nobIzEiR5r7WRHAB7XHHxLTiLQ=",
"lastModified": 1758110629,
"narHash": "sha256-uHE+FdhKBohAUeO29034b68RN0ITf/KRy2tkaXQdLCY=",
"owner": "hyprwm",
"repo": "Hyprland",
"rev": "559024c3314e4b1180b10b80fce4e9f20bad14c8",
"rev": "1cb8cd3930e2c8410bbc99baa0a5bea91994bd71",
"type": "github"
},
"original": {
@@ -921,11 +900,11 @@
]
},
"locked": {
"lastModified": 1757901553,
"narHash": "sha256-gW45THWkxnzWpPtjuaDeTnpKFB6i5cZmxk4WuGKhCNc=",
"lastModified": 1758073856,
"narHash": "sha256-o13f4LtQnjSrViwSY5Nk5kwLL7ZSzqCdJNBFlisLW68=",
"owner": "nix-community",
"repo": "nix-vscode-extensions",
"rev": "846f1334090a2c44d77850c00d0c17a27ad66618",
"rev": "4f7718392a369fad610c36d792d26386166f67e3",
"type": "github"
},
"original": {
@@ -941,11 +920,11 @@
"nixpkgs": "nixpkgs_5"
},
"locked": {
"lastModified": 1757726013,
"narHash": "sha256-7RPKqqlc5xawEbASZh18b6HX9FogiVTPIw0KdMEjpn8=",
"lastModified": 1758071854,
"narHash": "sha256-j+WhSfu+/gehgfV3zCVV7Nt8DERdXm8e3TAJ9r9wUtA=",
"owner": "kaylorben",
"repo": "nixcord",
"rev": "2133f2ab5af34dab65f5aa17f1f343777bc71070",
"rev": "cebd8615c6e896b34083986eeee1a9b5c662689a",
"type": "github"
},
"original": {
@@ -956,11 +935,11 @@
},
"nixos-hardware": {
"locked": {
"lastModified": 1757891025,
"narHash": "sha256-NfiTk59huy/YK9H4W4wVwRYyiP2u86QqROM5KK4f5F4=",
"lastModified": 1757943327,
"narHash": "sha256-w6cDExPBqbq7fTLo4dZ1ozDGeq3yV6dSN4n/sAaS6OM=",
"owner": "nixos",
"repo": "nixos-hardware",
"rev": "4c38a024fa32e61db2be8573e5282b15d9733a79",
"rev": "67a709cfe5d0643dafd798b0b613ed579de8be05",
"type": "github"
},
"original": {
@@ -977,11 +956,11 @@
]
},
"locked": {
"lastModified": 1757671225,
"narHash": "sha256-ZzoQXe7GV7QX3B3Iw59BogmrtHSP5Ig7MAPPD0cOFW4=",
"lastModified": 1757937573,
"narHash": "sha256-B+MT526k5th4x22h213/CgzdkKWIaeaa0+Y0uuCkH/I=",
"owner": "nix-community",
"repo": "nixos-wsl",
"rev": "42666441c3ddf34a8583a77f07a2c7cae32513c3",
"rev": "134e117c969f42277f1c5e60c8fbcac103c2c454",
"type": "github"
},
"original": {
@@ -1031,11 +1010,11 @@
"parts": "parts"
},
"locked": {
"lastModified": 1757905823,
"narHash": "sha256-McMYRNhldBWIXBqUzCaxr16/xJhoSnO1+WaFx2HIMW8=",
"lastModified": 1758077890,
"narHash": "sha256-0vZDdgdF/CyjfpmXxLzJmj9p7uBnMCd4Ypaq0UeiN9c=",
"owner": "moni-dz",
"repo": "nixpkgs-f2k",
"rev": "455e15e58816718cc1f36515e7d7c0c371eb7873",
"rev": "53a0c297bd908bd7997b2d669182aedb9b9c4004",
"type": "github"
},
"original": {
@@ -1253,11 +1232,11 @@
},
"nixpkgs_8": {
"locked": {
"lastModified": 1757902619,
"narHash": "sha256-+8QsxgOyi7cThjGpTN6nWWE1Q7Diznjy0jdyyZ+Jf7Q=",
"lastModified": 1758077456,
"narHash": "sha256-BdoMXWGHPmciPf4pt0mVoHYV5s2DaHl+o/qW4g8SMHY=",
"owner": "NixOS",
"repo": "nixpkgs",
"rev": "11fde5c87d49793b7c4cc4087e7cef36b4950241",
"rev": "789dbebe144b5f7d29197d27de9a01125ffb2e4b",
"type": "github"
},
"original": {
@@ -1343,11 +1322,11 @@
"nixpkgs": "nixpkgs_9"
},
"locked": {
"lastModified": 1757926294,
"narHash": "sha256-WwxEPPSjT+NuHQ9KKnHjXB3kCA+8GJUKLAZtKpM5hMo=",
"lastModified": 1758109308,
"narHash": "sha256-4AdIQNIxQkOjeOZ0ALsM6f2PA/vDG2rUVqhEGWpZFEE=",
"owner": "nix-community",
"repo": "nur",
"rev": "faa6db03cf4dde29cb562afc0dcd8dd2a018506b",
"rev": "1db115a421a7cf95bd700b49482b63dcf9d9e80e",
"type": "github"
},
"original": {
@@ -1486,11 +1465,11 @@
"nixpkgs": "nixpkgs_10"
},
"locked": {
"lastModified": 1757847158,
"narHash": "sha256-TumOaykhZO8SOs/faz6GQhqkOcFLoQvESLSF1cJ4mZc=",
"lastModified": 1758007585,
"narHash": "sha256-HYnwlbY6RE5xVd5rh0bYw77pnD8lOgbT4mlrfjgNZ0c=",
"owner": "Mic92",
"repo": "sops-nix",
"rev": "ee6f91c1c11acf7957d94a130de77561ec24b8ab",
"rev": "f77d4cfa075c3de66fc9976b80e0c4fc69e2c139",
"type": "github"
},
"original": {
@@ -1621,11 +1600,11 @@
]
},
"locked": {
"lastModified": 1757113640,
"narHash": "sha256-fjLg4TiRe1y32uQCTi0X4BFhhZmn2wOCh/lY1DfgFGM=",
"lastModified": 1759575396,
"narHash": "sha256-wFybL+I7KyCsb8g9PvJVmLAiIgFocCbYcH0z4B4V/JM=",
"owner": "tuxdotrs",
"repo": "tnvim",
"rev": "9e95df8ded770a83af51e2475ca5f2432f50e068",
"rev": "13801bd8608abc9903fadcc240b143007d51dc32",
"type": "github"
},
"original": {
@@ -1637,17 +1616,16 @@
"tpanel": {
"inputs": {
"ags": "ags",
"astal": "astal_2",
"nixpkgs": [
"nixpkgs"
]
},
"locked": {
"lastModified": 1754642875,
"narHash": "sha256-BdLzQs/SAgHOjTWYkT7slWJA/cHyRkkbJMsao8MjKGY=",
"lastModified": 1759787748,
"narHash": "sha256-88M9+hiXY+C+C9xVLOWcRw1lbuv9bogltFQpYDnHDGo=",
"owner": "tuxdotrs",
"repo": "tpanel",
"rev": "6437cad6202b9398babc1dab8b74bc6217d35b7f",
"rev": "98203af3e4a034501f0f8dfa7218cfe8a0371e4f",
"type": "github"
},
"original": {

View File

@@ -35,6 +35,11 @@
sopsFile = ./secrets.yaml;
owner = "${username}";
};
open_router_api_key = {
sopsFile = ./secrets.yaml;
owner = "${username}";
};
};
networking = {
@@ -137,7 +142,7 @@
loader = {
systemd-boot = {
enable = true;
configurationLimit = 5;
configurationLimit = 10;
};
efi.canTouchEfiVariables = true;
timeout = 1;
@@ -195,6 +200,8 @@
};
services = {
fwupd.enable = true;
fstrim.enable = true;
resolved.enable = true;
flatpak.enable = true;
@@ -237,6 +244,7 @@
};
libinput.touchpad.naturalScrolling = true;
libinput.mouse.accelProfile = "flat";
# To use Auto-cpufreq we need to
# disable TLP because it's enabled by nixos-hardware
@@ -283,26 +291,31 @@
enableUserService = true;
asusdConfig.text = ''
(
charge_control_end_threshold: 100,
panel_od: false,
mini_led_mode: false,
charge_control_end_threshold: 80,
disable_nvidia_powerd_on_battery: true,
ac_command: "",
bat_command: "",
platform_policy_on_battery: Quiet,
platform_policy_on_ac: Quiet,
ppt_pl1_spl: None,
ppt_pl2_sppt: None,
ppt_fppt: None,
ppt_apu_sppt: None,
ppt_platform_sppt: None,
nv_dynamic_boost: None,
nv_temp_target: None,
platform_profile_linked_epp: true,
platform_profile_on_battery: Quiet,
platform_profile_on_ac: Performance,
change_platform_profile_on_battery: true,
change_platform_profile_on_ac: true,
profile_quiet_epp: Power,
profile_balanced_epp: BalancePower,
profile_custom_epp: Performance,
profile_performance_epp: Performance,
ac_profile_tunings: {},
dc_profile_tunings: {},
armoury_settings: {},
)
'';
profileConfig.text = ''
(
active_profile: Balanced,
active_profile: Quiet,
)
'';
fanCurvesConfig.text = ''
@@ -313,13 +326,13 @@
fan: CPU,
pwm: (2, 22, 45, 68, 91, 153, 153, 153),
temp: (55, 62, 66, 70, 74, 78, 78, 78),
enabled: true,
enabled: false,
),
(
fan: GPU,
pwm: (2, 25, 48, 71, 94, 165, 165, 165)
pwm: (2, 25, 48, 71, 94, 165, 165, 165),
temp: (55, 62, 66, 70, 74, 78, 78, 78),
enabled: true,
enabled: false,
),
],
performance: [
@@ -327,19 +340,19 @@
fan: CPU,
pwm: (35, 68, 79, 91, 114, 175, 175, 175),
temp: (58, 62, 66, 70, 74, 78, 78, 78),
enabled: true,
enabled: false,
),
(
fan: GPU,
pwm: (35, 71, 84, 94, 119, 188, 188, 188),
temp: (58, 62, 66, 70, 74, 78, 78, 78),
enabled: true,
enabled: false,
),
],
quiet: [
(
fan: CPU,
pwm: (2, 12, 25, 35, 48, 61, 84, 90),
pwm: (2, 12, 22, 35, 45, 58, 79, 79),
temp: (55, 62, 66, 70, 74, 78, 82, 82),
enabled: true,
),
@@ -373,6 +386,7 @@
fonts.packages = with pkgs.nerd-fonts; [
fira-code
jetbrains-mono
bigblue-terminal
];
programs.fuse.userAllowOther = true;
@@ -386,6 +400,7 @@
"/var/lib/nixos"
"/var/lib/docker"
"/var/lib/waydroid"
"/var/lib/iwd"
"/etc/NetworkManager/system-connections"
];
files = [

View File

@@ -15,12 +15,14 @@
../../modules/home/firefox
../../modules/home/brave
../../modules/home/vs-code
../../modules/home/zed
../../modules/home/mopidy
../../modules/home/thunderbird
../../modules/home/easyeffects
../../modules/home/discord
../../modules/home/kdeconnect
../../modules/home/obs-studio
../../modules/home/spotify
];
home.pointerCursor = {
@@ -28,10 +30,14 @@
name = "Bibata-Modern-Ice";
};
qt.enable = true;
qt.platformTheme.name = "gtk";
qt.style.name = "adwaita-dark";
qt.style.package = pkgs.adwaita-qt;
qt = {
enable = true;
platformTheme.name = "gtk";
style = {
name = "adwaita-dark";
package = pkgs.adwaita-qt;
};
};
gtk = {
enable = true;
@@ -71,6 +77,8 @@
vlc
tor-browser
distrobox
bluetui
impala
];
home.persistence."/persist/home/${username}" = {
@@ -88,6 +96,7 @@
".wakatime"
".rustup"
".cargo"
".cache/spotify-player"
".config/BraveSoftware"
".config/copyq"
".config/discord"
@@ -96,15 +105,15 @@
".config/sops"
".config/obs-studio"
".config/rustdesk"
".config/spotify"
".config/kdeconnect"
".local/share/nvim"
".local/share/opencode"
".local/share/zsh"
".local/share/zoxide"
".local/share/Smart\ Code\ ltd"
".local/share/GalaxyBudsClient"
".local/share/TelegramDesktop"
".local/state/lazygit"
".cache/spotify"
];
files = [
".wakatime.cfg"

View File

@@ -1,5 +1,6 @@
hyperbolic_api_key: ENC[AES256_GCM,data:FjDSbdutLa9hnVGRR+k2MznVfDGAx1/rNfjY/vaBuvKoBRj7aHqGpQ1cvhfxjyLMqPLqLnmimEtZeykvgkIIjKGzw5PewE23+lrN3oQyoYJvK+b8PRStjSaxOfzOnuLXi+YVnsU939nStLwnmSYKDabNWgFcWYsHwtHDafuWyovM9sVwasTn,iv:bxseG6GLKBL/CJOS8SrhgiLEyvMGSNQIMJSYLk2MqEo=,tag:4wxmkUwlcu23d7pMHbvIoQ==,type:str]
gemini_api_key: ENC[AES256_GCM,data:HiseQDB9nJBynCvdqLx0NcJZHB71uEvBlA3l/Lw2EMHFUXSHqPoS,iv:4C5EGUdfwxhT6ExDYNcbc+MFE+rGvLRsZjbo9L/o/Eo=,tag:hvaODOzhFoywgsXZSQKeKA==,type:str]
open_router_api_key: ENC[AES256_GCM,data:DMQojeQymXckIHj7O+CIucvMzhyLXEYt4VJNkpbJj8OnBlXlm46m75i2IL+SduzzOfH3GdGI8/5JcnXbt76M/2DFemYi6CcgrQ==,iv:OBTREDwI+aOXg5TNdU6rVilQnAngn0vuW2nIrGGozm4=,tag:P+2C+0IfjZqKBD/B+FR09Q==,type:str]
sops:
age:
- recipient: age14vktfes95f33vuefwnmuvryas7az04u76dsgyhfvsx73czkvmp2q7njkl4
@@ -20,7 +21,7 @@ sops:
K0tiZ0swMmpuVW02OHMrRThlOXBWUjQKYHyJZuvQABh+gJ+THQ5SakVEqsKkyBMb
k6KnjRATpdZlmm0GjbD4aasF/j/V2fuH327Z72jPWQuI1y5ZfbDhSg==
-----END AGE ENCRYPTED FILE-----
lastmodified: "2025-08-08T13:20:36Z"
mac: ENC[AES256_GCM,data:WvY1VWONZarkRNjArqa2ASPLLRsUgOxA+QX2YPcUPvoAdpwuFS9Fs2kIaU61lOKQLKDwcR3XvtB2BhnwhUltF0OPSNY3651fc/HFQx3eIJaSAL8Qqa8OywCe897fcrNyvHROhi/h4HX6RI+NakTR1UVS8fR769IIkafE/Zbbn+8=,iv:wAg/ea6ScBK7kPYKjgfMMtACCxIh5agNIqv42iCwycg=,tag:tsWH1E+ulsLquT1TqtmN0A==,type:str]
lastmodified: "2025-09-18T10:09:49Z"
mac: ENC[AES256_GCM,data:EWSA3CNDLUiY9ClcvadRNREanBnZ7DMDcPG0cXFaoHQ+YwK0o0lTX6g03CqEoanApWMWHljV7Yc44n1+KIMCHok+3KmjesmpmhvVVJqEO5fiqqtKR2OAaqIWZ2u7yvHdIvajoI5xaE7CTOHStf5dZHuIoWQYGx9Qxu0PycL7E/0=,iv:c8wQtWbUM7mLmh8OwZYsm8ZnubSEYMrXhf9IQDhgIkk=,tag:nOY16LFcbVB1CpTyMpU8AQ==,type:str]
unencrypted_suffix: _unencrypted
version: 3.10.2

View File

@@ -91,7 +91,7 @@
loader = {
systemd-boot = {
enable = true;
configurationLimit = 5;
configurationLimit = 10;
};
efi.canTouchEfiVariables = true;
timeout = 1;
@@ -114,6 +114,9 @@
};
services = {
fwupd.enable = true;
fstrim.enable = true;
tailscale = {
enable = true;
extraUpFlags = ["--login-server https://hs.tux.rs"];

View File

@@ -65,6 +65,7 @@
};
libinput.touchpad.naturalScrolling = true;
libinput.mouse.accelProfile = "flat";
blueman.enable = true;

View File

@@ -9,13 +9,22 @@
gc = {
automatic = true;
options = "--delete-older-than 3d";
dates = "weekly";
options = "--delete-older-than 7d";
};
optimise = {
automatic = true;
dates = ["weekly"];
};
channel.enable = false;
settings = {
extra-platforms = ["aarch64-linux" "arm-linux"];
extra-platforms = [
"aarch64-linux"
"arm-linux"
];
auto-optimise-store = true;
allowed-users = ["${username}"];
trusted-users = ["${username}"];

View File

@@ -1,5 +1,10 @@
{pkgs, ...}: {
home.packages = with pkgs; [astal];
imports = [
./hyprlock.nix
./hyprpaper.nix
];
home.packages = with pkgs; [ags];
wayland.windowManager.hyprland = {
enable = true;
@@ -27,7 +32,8 @@
floating_terminal = "wezterm start --class wezterm-floating";
editor = "wezterm -e nvim";
browser = "brave";
filemanager = "thunar";
spotify = "wezterm start --class wezterm-floating -e spotify_player";
filemanager = "wezterm start --class wezterm-floating -e superfile";
in {
#-- Output
# See https://wiki.hyprland.org/Configuring/Monitors
@@ -35,15 +41,19 @@
#-- Input: Keyboard, Mouse, Touchpad
input = {
sensitivity = 0;
sensitivity = -0.7;
scroll_method = "2 fg";
natural_scroll = true;
touchpad = {
natural_scroll = true;
clickfinger_behavior = false;
};
};
device = {
name = "asue1209:00-04f3:319f-touchpad";
sensitivity = 0;
};
#-- General
# See https://wiki.hyprland.org/Configuring/Variables
general = {
@@ -58,6 +68,11 @@
"col.inactive_border" = inactive_border_col;
};
misc = {
disable_hyprland_logo = true;
force_default_wallpaper = 1;
};
ecosystem = {
no_update_news = true;
no_donation_nag = true;
@@ -149,14 +164,19 @@
"float, class:org.pulseaudio.pavucontrol"
"size 800 600, class:org.pulseaudio.pavucontrol"
"float, class:com.ghostty.floating"
"size 900 700, class:com.ghostty.floating"
# Wezterm and Ghostty floating terminal
"float, class:(com.ghostty.floating|wezterm-floating)"
"size 1400 1000, class:(com.ghostty.floating|wezterm-floating)"
"float, class:GalaxyBudsClient"
"size 900 700, class:GalaxyBudsClient"
# KDE Connect
"float, class:(org.kde.kdeconnect.sms|org.kde.kdeconnect.app)"
"size 900 700, class:(org.kde.kdeconnect.sms|org.kde.kdeconnect.app)"
"workspace 3 silent, class:(firefox|Brave-browser)"
"workspace 5 silent, class:(discord|Spotify|org.telegram.desktop)"
"workspace 5 silent, class:(discord|org.telegram.desktop)"
];
plugin = {
@@ -173,35 +193,45 @@
};
};
bindm = [
"SUPER,mouse:273,resizewindow"
"SUPER,mouse:272,movewindow"
];
bind = [
# apps
"SUPER, Return, exec, ${terminal}"
"SUPER, A, exec, astal -t app-launcher"
"SUPER, F, exec, ${filemanager}"
"SUPER, E, exec, ${editor}"
"SUPER, B, exec, ${browser}"
"SUPER, G, exec, GalaxyBudsClient"
"SUPER, D, exec, discord"
"SUPER, S, exec, spotify"
"SUPER, S, exec, ${spotify}"
"SUPER, V, exec, copyq show"
"SUPER_SHIFT, Return, exec, ${floating_terminal}"
"SUPER_SHIFT, S, exec, flameshot gui"
# astal
"SUPER_SHIFT, R, exec, astal -q; ${pkgs.tpanel}/bin/tpanel"
"SUPER_SHIFT, B, exec, astal toggle-bar"
# tpanel
"SUPER, A, exec, ags toggle launcher"
"SUPER_SHIFT, B, exec, ags toggle bar"
"SUPER_SHIFT, C, exec, ags toggle control-center"
"SUPER_SHIFT, W, exec, ags toggle wallpaper-manager"
"SUPER_SHIFT, R, exec, ags quit; ${pkgs.tpanel}/bin/tpanel"
# hyprland
"SUPER, Q, killactive"
"SUPER, grave, hyprexpo:expo, toggle"
"SUPER_SHIFT, Q, forcekillactive"
"SUPER_SHIFT, F, fullscreen, 0"
"SUPER_SHIFT, Space, togglefloating"
"SUPER_SHIFT, Space, exec, hyprctl dispatch togglefloating; hyprctl dispatch resizeactive exact 1600 1200; hyprctl dispatch centerwindow;"
# shutdown
"SUPER_SHIFT, P, exec, poweroff"
# lock
"SUPER_SHIFT, L, exec, hyprlock"
# change focus
"SUPER, left, movefocus, l"
"SUPER, right, movefocus, r"
@@ -241,6 +271,7 @@
"SUPER_ALT, right, moveactive, 20 0"
"SUPER_ALT, up, moveactive, 0 -20"
"SUPER_ALT, down, moveactive, 0 20"
"SUPER_ALT, equal, exec, hyprctl dispatch centerwindow;"
# speaker and mic volume control
" , XF86AudioRaiseVolume, exec, wpctl set-volume -l 1 @DEFAULT_AUDIO_SINK@ 10%+"
@@ -262,9 +293,11 @@
# load hyprland plugins
"hyprctl plugin load '$HYPR_PLUGIN_DIR/lib/libhyprexpo.so'"
"${pkgs.swaybg}/bin/swaybg -i ~/Wallpapers/city.png"
"hyprpaper"
"${pkgs.tpanel}/bin/tpanel"
"copyq"
"kdeconnectd"
"kdeconnect-indicator"
];
};
};

View File

@@ -0,0 +1,47 @@
{
programs.hyprlock = {
enable = true;
settings = {
general = {
hide_cursor = true;
ignore_empty_input = true;
};
animations = {
enabled = true;
fade_in = {
duration = 300;
bezier = "easeOutQuint";
};
fade_out = {
duration = 300;
bezier = "easeOutQuint";
};
};
background = [
{
path = "screenshot";
blur_passes = 3;
blur_size = 8;
}
];
input-field = [
{
size = "200, 50";
position = "0, -80";
monitor = "";
dots_center = true;
fade_on_empty = false;
font_color = "rgb(202, 211, 245)";
inner_color = "rgb(91, 96, 120)";
outer_color = "rgb(24, 25, 38)";
outline_thickness = 5;
placeholder_text = "Password";
shadow_passes = 2;
}
];
};
};
}

View File

@@ -0,0 +1,21 @@
{pkgs, ...}: {
services.hyprpaper = {
enable = true;
settings = {
ipc = "on";
splash = false;
splash_offset = 2.0;
preload = [
"~/Wallpapers/mountain.jpg"
];
wallpaper = [
", ~/Wallpapers/mountain.jpg"
];
};
};
home.packages = with pkgs; [hyprpaper];
}

View File

@@ -18,7 +18,6 @@
visualizer_type = "spectrum";
visualizer_look = "";
visualizer_spectrum_smooth_look = "yes";
visualizer_sync_interval = 0;
song_status_format = "$b$7 $2%a $4$3 $8%t $4$3 $5%b ";
header_visibility = "no";
color1 = "white";

View File

@@ -3,6 +3,7 @@
./lazygit.nix
./aichat.nix
./superfile.nix
./open-code.nix
];
programs = {

View File

@@ -0,0 +1,20 @@
{
programs.opencode = {
enable = true;
settings = {
theme = "system";
provider = {
google = {
options = {
apiKey = "{file:/run/secrets/gemini_api_key}";
};
};
openrouter = {
options = {
apiKey = "{file:/run/secrets/open_router_api_key}";
};
};
};
};
};
}

View File

@@ -10,7 +10,7 @@
default_open_file_preview = true;
show_image_preview = true;
show_panel_footer_info = true;
default_directory = ".";
default_directory = "~";
file_size_use_si = false;
default_sort_type = 0;
sort_order_reversed = false;

View File

@@ -0,0 +1,19 @@
{
programs.spotify-player = {
enable = true;
settings = {
theme = "default";
client_id = "c54c06bacd3642c68d981474dadd3a53";
login_redirect_uri = "http://127.0.0.1:8989/login";
device = {
name = "spotify-player";
device_type = "speaker";
volume = 100;
bitrate = 320;
audio_cache = false;
normalization = false;
autoplay = false;
};
};
};
}

View File

@@ -0,0 +1,28 @@
{
programs.zed-editor = {
enable = true;
extensions = ["lua" "nix" "C#" "solidity"];
userKeymaps = [
{
context = "Workspace";
bindings = {
F7 = "workspace::NewTerminal";
};
}
];
userSettings = {
ui_font_size = 18;
buffer_font_size = 18;
theme = {
mode = "dark";
light = "Ayu Light";
dark = "Ayu Dark";
};
vim_mode = true;
telemetry = {
diagnostics = false;
metrics = false;
};
};
};
}

View File

@@ -7,13 +7,21 @@
environment.systemPackages = [
(pkgs.writeShellScriptBin "mirror-display" ''
hyprctl keyword monitor "HDMI-A-1,preferred,0x0,1,mirror,eDP-1" \
&& astal -q \
hyprctl keyword monitor "eDP-1,2560x1440@90,0x0,1" \
&& hyprctl keyword monitor "HDMI-A-1,preferred,0x0,1,mirror,eDP-1" \
&& ags quit \
&& ${pkgs.tpanel}/bin/tpanel &
'')
(pkgs.writeShellScriptBin "extend-display" ''
hyprctl keyword monitor "HDMI-A-1,preferred,0x-1440,1" \
&& astal -q \
hyprctl keyword monitor "eDP-1,2560x1440@90,0x0,1" \
&& hyprctl keyword monitor "HDMI-A-1,preferred,0x-1440,1" \
&& ags quit \
&& ${pkgs.tpanel}/bin/tpanel &
'')
(pkgs.writeShellScriptBin "dock-display" ''
hyprctl keyword monitor "eDP-1,disable" \
&& hyprctl keyword monitor "HDMI-A-1,preferred,0x0,1" \
&& ags quit \
&& ${pkgs.tpanel}/bin/tpanel &
'')
];

View File

@@ -7,7 +7,7 @@
tawm = inputs.tawm.packages.${prev.system}.default;
tnvim = inputs.tnvim.packages.${prev.system}.default;
tpanel = inputs.tpanel.packages.${prev.system}.default;
astal = inputs.tpanel.packages.${prev.system}.astal.default;
ags = inputs.tpanel.packages.${prev.system}.ags.default;
tfolio = inputs.tfolio.packages.${prev.system}.default;
trok = inputs.trok.packages.${prev.system}.default;
cyber-tux = inputs.cyber-tux.packages.${prev.system}.default;

View File

@@ -11,7 +11,7 @@ stdenv.mkDerivation {
owner = "datguypiko";
repo = "Firefox-Mod-Blur";
rev = "refs/heads/master";
sha256 = "sha256-YcADnfZSs4Tv99NHyvwip8sE6tXh5sQHj/SXgC/Nxc4=";
sha256 = "sha256-uaVko2aOPEixzNrmXNB3tA9MCHdU+/HVOSuJhaMNWcQ=";
};
installPhase = ''