tangled
alpha
login
or
join now
bwc9876.dev
/
nixos-config
1
fork
atom
Flake for my NixOS devices
1
fork
atom
overview
issues
pulls
pipelines
Switch to Wezterm
bwc9876.dev
1 year ago
223bb2aa
9463a0ac
verified
This commit was signed with the committer's
known signature
.
bwc9876.dev
SSH Key Fingerprint:
SHA256:DanMEP/RNlSC7pAVbnXO6wzQV00rqyKj053tz4uH5gQ=
+61
-76
12 changed files
expand all
collapse all
unified
split
flake.lock
nixosModules
dev
nvim.nix
graphics
apps.nix
hypr.nix
kitty.nix
shell.nix
waybar.nix
wezterm.nix
xdg.nix
ssh.nix
res
rofi
rofi-zoxide.nu
theming
kdeglobals
+24
-24
flake.lock
···
7
7
]
8
8
},
9
9
"locked": {
10
10
-
"lastModified": 1739283129,
11
11
-
"narHash": "sha256-GXJllf1wY7tOF6uei9S3PnSEghFbnJP1vkxM0kkMOoI=",
10
10
+
"lastModified": 1739934729,
11
11
+
"narHash": "sha256-PcrLk10meIJICzUJqtCMOJxoITzbH52fZg2XAB7SSsM=",
12
12
"owner": "catppuccin",
13
13
"repo": "nix",
14
14
-
"rev": "d4e258e29075a86a82dacaf4f5e0985935ae4658",
14
14
+
"rev": "b1ff2a638afa827f1473498190a2c1cae1cf41cf",
15
15
"type": "github"
16
16
},
17
17
"original": {
···
168
168
]
169
169
},
170
170
"locked": {
171
171
-
"lastModified": 1739191238,
172
172
-
"narHash": "sha256-DRuhQDWscKWXAZcatFDLQ0+pMKmGZ9lEZdxygq8rVSU=",
171
171
+
"lastModified": 1739796086,
172
172
+
"narHash": "sha256-jxpUiVJ6O+V1YsXsvWdMgqnv8zk9TFiqF86CRdGGGH4=",
173
173
"owner": "nix-community",
174
174
"repo": "flakelight",
175
175
-
"rev": "5656e7f5fda93676642d199fd9eb47b970d6139e",
175
175
+
"rev": "540efca2f9015aff7dc574c7a03404e5fa72d42f",
176
176
"type": "github"
177
177
},
178
178
"original": {
···
208
208
]
209
209
},
210
210
"locked": {
211
211
-
"lastModified": 1739191238,
212
212
-
"narHash": "sha256-DRuhQDWscKWXAZcatFDLQ0+pMKmGZ9lEZdxygq8rVSU=",
211
211
+
"lastModified": 1739796086,
212
212
+
"narHash": "sha256-jxpUiVJ6O+V1YsXsvWdMgqnv8zk9TFiqF86CRdGGGH4=",
213
213
"owner": "nix-community",
214
214
"repo": "flakelight",
215
215
-
"rev": "5656e7f5fda93676642d199fd9eb47b970d6139e",
215
215
+
"rev": "540efca2f9015aff7dc574c7a03404e5fa72d42f",
216
216
"type": "github"
217
217
},
218
218
"original": {
···
361
361
]
362
362
},
363
363
"locked": {
364
364
-
"lastModified": 1739735835,
365
365
-
"narHash": "sha256-S4VskZCNjRX6saW7GtVb4MD3kWdfvRvLurLj9QcM4Wg=",
364
364
+
"lastModified": 1740161709,
365
365
+
"narHash": "sha256-QInyU5nXiwGzzCc3qxYHJKFY/YWege8Us7aZZOCFW4Q=",
366
366
"owner": "nix-community",
367
367
"repo": "home-manager",
368
368
-
"rev": "b15e9ec6769d770879759f086dd4e51fae7f2394",
368
368
+
"rev": "148a6b55651ac794f5c20bbd76780b4d8fed4334",
369
369
"type": "github"
370
370
},
371
371
"original": {
···
485
485
},
486
486
"nixos-hardware": {
487
487
"locked": {
488
488
-
"lastModified": 1738816619,
489
489
-
"narHash": "sha256-5yRlg48XmpcX5b5HesdGMOte+YuCy9rzQkJz+imcu6I=",
488
488
+
"lastModified": 1740089251,
489
489
+
"narHash": "sha256-Y78mDBWoO8CLLTjQfPfII+KXFb6lAmF9GrLbyVBsIMM=",
490
490
"owner": "NixOS",
491
491
"repo": "nixos-hardware",
492
492
-
"rev": "2eccff41bab80839b1d25b303b53d339fbb07087",
492
492
+
"rev": "18e9f9753e9ae261bcc7d3abe15745686991fd30",
493
493
"type": "github"
494
494
},
495
495
"original": {
···
500
500
},
501
501
"nixpkgs": {
502
502
"locked": {
503
503
-
"lastModified": 1739580444,
504
504
-
"narHash": "sha256-+/bSz4EAVbqz8/HsIGLroF8aNaO8bLRL7WfACN+24g4=",
503
503
+
"lastModified": 1739866667,
504
504
+
"narHash": "sha256-EO1ygNKZlsAC9avfcwHkKGMsmipUk1Uc0TbrEZpkn64=",
505
505
"owner": "NixOS",
506
506
"repo": "nixpkgs",
507
507
-
"rev": "8bb37161a0488b89830168b81c48aed11569cb93",
507
507
+
"rev": "73cf49b8ad837ade2de76f87eb53fc85ed5d4680",
508
508
"type": "github"
509
509
},
510
510
"original": {
···
547
547
"treefmt-nix": "treefmt-nix"
548
548
},
549
549
"locked": {
550
550
-
"lastModified": 1739708385,
551
551
-
"narHash": "sha256-H6qPfgE8P6rYMpwj9GsmcZEry52O3U82IqJJy6hx/88=",
550
550
+
"lastModified": 1739902813,
551
551
+
"narHash": "sha256-BgOQcKKz7VNvSHIbBllHisv32HvF3W3ALF9sdnC++V8=",
552
552
"owner": "nix-community",
553
553
"repo": "nixvim",
554
554
-
"rev": "d636d254088a2fa49b585b79097a2766d4e3af80",
554
554
+
"rev": "0ab9947137cd034ec64eb5cd9ede94e53af21f50",
555
555
"type": "github"
556
556
},
557
557
"original": {
···
676
676
]
677
677
},
678
678
"locked": {
679
679
-
"lastModified": 1739673031,
680
680
-
"narHash": "sha256-Z/GT8ebbvc4goxN4A0A5ACj26G1HaGJO+VetrPuC5Mo=",
679
679
+
"lastModified": 1740104932,
680
680
+
"narHash": "sha256-FaN+HBAhOW1wAjxPI/Ko1DX0ax4ucHCZoMJ0dGMxm8o=",
681
681
"owner": "oxalica",
682
682
"repo": "rust-overlay",
683
683
-
"rev": "538528d55318e0c8af1c307dcf10b7629b988fc3",
683
683
+
"rev": "c932b3873a5d56126bc1f1416fb8a58315f86c17",
684
684
"type": "github"
685
685
},
686
686
"original": {
+12
-6
nixosModules/dev/nvim.nix
···
442
442
"path"
443
443
"buffer"
444
444
];
445
445
-
mapping = lib.fix (self: {
445
445
+
mapping = {
446
446
"<Esc>" = "cmp.mapping.abort()";
447
447
-
"<CR>" = "cmp.mapping.confirm({ select = true })";
447
447
+
"<Tab>" = "cmp.mapping.confirm({ select = true })";
448
448
"<Up>" = "cmp.mapping(cmp.mapping.select_prev_item(), {'i', 's'})";
449
449
"<Down>" = "cmp.mapping(cmp.mapping.select_next_item(), {'i', 's'})";
450
450
-
"<Tab>" = self."<Up>";
451
451
-
"<S-Tab>" = self."<Down>";
452
452
-
});
450
450
+
};
453
451
};
454
452
};
455
453
···
463
461
lsp-format.enable = true;
464
462
lspkind.enable = true;
465
463
# jupytext.enable = true;
466
466
-
hex.enable = true;
464
464
+
465
465
+
hex = {
466
466
+
enable = true;
467
467
+
settings = {
468
468
+
assemble_cmd = "xxd -r";
469
469
+
dump_cmd = "xxd -g 1 -u";
470
470
+
};
471
471
+
};
467
472
468
473
lspsaga = {
469
474
enable = true;
···
514
519
bashls.enable = true;
515
520
nushell.enable = true;
516
521
taplo.enable = true;
522
522
+
typos_lsp.enable = true;
517
523
rust_analyzer.enable = true;
518
524
rust_analyzer.installCargo = false;
519
525
rust_analyzer.installRustc = false;
+1
-2
nixosModules/graphics/apps.nix
···
4
4
[Desktop Entry]
5
5
Type=Application
6
6
Name=Htop
7
7
-
Exec=kitty --title="Htop" --app-id="htop" htop
7
7
+
Exec=wezterm start --class="htop" htop
8
8
Icon=htop
9
9
'';
10
10
···
156
156
157
157
environment.systemPackages = with pkgs; [
158
158
chromium
159
159
-
kitty
160
159
161
160
# Office
162
161
libreoffice-qt6
+2
-2
nixosModules/graphics/hypr.nix
···
70
70
key_press_enables_dpms = true;
71
71
};
72
72
env = [
73
73
-
"TERMINAL,kitty"
73
73
+
"TERMINAL,wezterm"
74
74
];
75
75
windowrulev2 = [
76
76
"workspace 1 silent,class:(.*)vesktop(.*),title:(.*)[Vv]esktop(.*)"
···
78
78
];
79
79
submap = "reset";
80
80
bind = let
81
81
-
openTerminal = "uwsm app -- kitty.desktop";
81
81
+
openTerminal = "uwsm app -- org.wezfurlong.wezterm.desktop";
82
82
forEachWorkspace = {
83
83
mod,
84
84
dispatch,
-16
nixosModules/graphics/kitty.nix
···
1
1
-
{...}: {
2
2
-
home-manager.users.bean.programs.kitty = {
3
3
-
enable = true;
4
4
-
font = {
5
5
-
name = "monospace";
6
6
-
size = 18;
7
7
-
};
8
8
-
keybindings = {
9
9
-
"ctrl+shift+o" = "open_url_with_hints";
10
10
-
};
11
11
-
settings = {
12
12
-
cursor_shape = "beam";
13
13
-
background_opacity = 0.92;
14
14
-
};
15
15
-
};
16
16
-
}
-1
nixosModules/graphics/shell.nix
···
146
146
"SUPER,B,exec,uwsm app -- ${pkgs.rofi-bluetooth}/bin/rofi-bluetooth"
147
147
"SUPER,Tab,exec,uwsm app -- rofi -show window -show-icons"
148
148
"SUPER,E,exec,uwsm app -- ${pkgs.nushell}/bin/nu ${inputs.self}/res/rofi/rofi-places.nu"
149
149
-
"SUPER SHIFT,T,exec,uwsm app -- ${pkgs.nushell}/bin/nu ${inputs.self}/res/rofi/rofi-zoxide.nu"
150
149
"SUPER,N,exec,uwsm app -- ${pkgs.swaynotificationcenter}/bin/swaync-client -t -sw"
151
150
"SUPER,A,exec,uwsm app -- pavucontrol --tab 5"
152
151
''SUPER,V,exec,cliphist list | sed -r 's/\[\[ binary data (.* .iB) (.*) (.*) \]\]/ \2 Image (\3, \1)/g' | rofi -dmenu -display-columns 2 -p Clipboard | cliphist decode | wl-copy''
-2
nixosModules/graphics/waybar.nix
···
419
419
{
420
420
cpu = {
421
421
format = " {usage}";
422
422
-
on-click = "kitty --title=\"Htop\" --app-id=\"htop\" htop --sort-key=PERCENT_CPU";
423
422
states = {
424
423
critical = 95;
425
424
warning = 80;
···
432
431
layer = "top";
433
432
memory = {
434
433
format = " {} ({used:0.1f}/{total:0.1f} GiB)";
435
435
-
on-click = "kitty --title=\"Htop\" --app-id=\"htop\" htop --sort-key=PERCENT_MEM";
436
434
states = {
437
435
critical = 90;
438
436
warning = 70;
+19
nixosModules/graphics/wezterm.nix
···
1
1
+
{...}: {
2
2
+
home-manager.users.bean.programs.wezterm = {
3
3
+
enable = true;
4
4
+
extraConfig = ''
5
5
+
return {
6
6
+
font = wezterm.font("monospace"),
7
7
+
font_size = 18.0,
8
8
+
color_scheme = "Catppuccin Mocha",
9
9
+
enable_tab_bar = false,
10
10
+
window_background_opacity = 0.92,
11
11
+
default_cursor_style = "SteadyBar",
12
12
+
cursor_thickness = 2,
13
13
+
keys = {
14
14
+
{key="o", mods="CTRL|SHIFT", action="OpenLinkAtMouseCursor"}
15
15
+
}
16
16
+
}
17
17
+
'';
18
18
+
};
19
19
+
}
+1
-1
nixosModules/graphics/xdg.nix
···
39
39
"image/x-portable-graymap" = imageViewers;
40
40
"image/x-portable-anymap" = imageViewers;
41
41
"image/svg+xml" = imageViewers;
42
42
-
"x-terminal-emulator" = ["kitty"];
42
42
+
"x-terminal-emulator" = ["wezterm.desktop"];
43
43
"x-scheme-handler/http" = browsers;
44
44
"x-scheme-handler/https" = browsers;
45
45
"x-scheme-handler/chrome" = browsers;
+1
-7
nixosModules/ssh.nix
···
1
1
{
2
2
lib,
3
3
-
pkgs,
4
3
config,
5
4
...
6
5
}: let
···
10
9
beanPubkey
11
10
];
12
11
13
13
-
environment = {
14
14
-
enableAllTerminfo = true;
15
15
-
systemPackages = with pkgs; [
16
16
-
kitty # Needed for terminfo to work over ssh
17
17
-
];
18
18
-
};
12
12
+
environment.enableAllTerminfo = true;
19
13
20
14
services.openssh = {
21
15
enable = true;
-14
res/rofi/rofi-zoxide.nu
···
1
1
-
#!/usr/bin/env nu
2
2
-
3
3
-
let dirs = zoxide query -l "" | lines
4
4
-
5
5
-
let menu = $dirs | each {|it| $"($it | split row "/" | last) <span color=\"#A2A2A2\"><i><small>\(($it | str replace $"/home/($env.USER)" "~")\)</small></i></span>" } | str join "\n"
6
6
-
7
7
-
let res = ($menu | rofi -dmenu -i -markup-rows -p "Zoxide" | complete)
8
8
-
9
9
-
if $res.exit_code == 1 {
10
10
-
echo "Cancelled"
11
11
-
} else {
12
12
-
let dir = $res.stdout | split row " <span color=\"#A2A2A2\"><i><small>(" | get 1 | split row ")</small>" | get 0
13
13
-
kitty -d ($dir | str replace "~" $"/home/($env.USER)")
14
14
-
}
+1
-1
res/theming/kdeglobals
···
2
2
ShowDeleteCommand=false
3
3
4
4
[General]
5
5
-
TerminalApplication=kitty
5
5
+
TerminalApplication=wezterm
6
6
7
7
[KFileDialog Settings]
8
8
Allow Expansion=false