+6
-6
flake.lock
+6
-6
flake.lock
···
2
2
"nodes": {
3
3
"hardware": {
4
4
"locked": {
5
-
"lastModified": 1754564048,
6
-
"narHash": "sha256-dz303vGuzWjzOPOaYkS9xSW+B93PSAJxvBd6CambXVA=",
5
+
"lastModified": 1757943327,
6
+
"narHash": "sha256-w6cDExPBqbq7fTLo4dZ1ozDGeq3yV6dSN4n/sAaS6OM=",
7
7
"owner": "nixos",
8
8
"repo": "nixos-hardware",
9
-
"rev": "26ed7a0d4b8741fe1ef1ee6fa64453ca056ce113",
9
+
"rev": "67a709cfe5d0643dafd798b0b613ed579de8be05",
10
10
"type": "github"
11
11
},
12
12
"original": {
···
18
18
},
19
19
"nixpkgs": {
20
20
"locked": {
21
-
"lastModified": 1754725699,
22
-
"narHash": "sha256-iAcj9T/Y+3DBy2J0N+yF9XQQQ8IEb5swLFzs23CdP88=",
21
+
"lastModified": 1758277210,
22
+
"narHash": "sha256-iCGWf/LTy+aY0zFu8q12lK8KuZp7yvdhStehhyX1v8w=",
23
23
"owner": "nixos",
24
24
"repo": "nixpkgs",
25
-
"rev": "85dbfc7aaf52ecb755f87e577ddbe6dbbdbc1054",
25
+
"rev": "8eaee110344796db060382e15d3af0a9fc396e0e",
26
26
"type": "github"
27
27
},
28
28
"original": {
+4
-4
flake.nix
+4
-4
flake.nix
···
24
24
] (system: function nixpkgs.legacyPackages.${system});
25
25
in
26
26
rec {
27
-
nixosConfigurations.asa-fw = nixpkgs.lib.nixosSystem {
27
+
nixosConfigurations.asa-fw = nixpkgs.lib.nixosSystem rec {
28
28
system = "x86_64-linux";
29
29
specialArgs = {
30
30
inherit inputs;
31
-
packages = packages."x86_64-linux";
31
+
packages = packages."${system}";
32
32
};
33
33
modules = [
34
34
modules/system.nix
35
-
modules/desktop.nix
35
+
modules/niri.nix
36
36
modules/apps.nix
37
37
modules/fonts.nix
38
38
modules/networking.nix
···
45
45
46
46
packages = forAllSystems (pkgs: import ./programs { inherit pkgs; });
47
47
48
-
devShells = forAllSystems (pkgs: pkgs.nil);
48
+
devShell = forAllSystems (pkgs: pkgs.nil);
49
49
50
50
formatter = forAllSystems (pkgs: pkgs.nixfmt-tree);
51
51
};
+15
-54
modules/apps.nix
+15
-54
modules/apps.nix
···
5
5
}:
6
6
{
7
7
services.flatpak.enable = true;
8
-
9
-
xdg.portal = {
10
-
enable = true;
11
-
xdgOpenUsePortal = true;
12
-
extraPortals = with pkgs; [
13
-
xdg-desktop-portal-gtk
14
-
xdg-desktop-portal-gnome
15
-
];
16
-
};
17
-
18
-
# default handlers
19
-
xdg.terminal-exec = {
20
-
enable = true;
21
-
settings = {
22
-
default = [ "com.mitchellh.ghostty.desktop" ];
23
-
};
24
-
};
25
-
26
-
xdg.mime.defaultApplications = {
27
-
"x-scheme-handler/http" = "org.mozilla.firefox.desktop";
28
-
"x-scheme-handler/https" = "org.mozilla.firefox.desktop";
29
-
"x-scheme-handler/ftp" = "org.mozilla.firefox.desktop";
30
-
"x-scheme-handler/mailto" = "org.mozilla.thunderbird.desktop";
31
-
"text/plain" = "Helix.desktop";
32
-
"application/pdf" = "org.mozilla.firefox.desktop";
33
-
# "image/png" = [
34
-
# "sxiv.desktop"
35
-
# "gimp.desktop"
36
-
# ];
37
-
};
38
-
8
+
39
9
# set up chromium config for pwas
40
10
programs.chromium = {
41
11
enable = true;
42
12
extensions = [
43
-
"cjpalhdlnbpafiamejdnhcphjbkeiagm" # ublock origin
13
+
# "ddkjiahejlhfcafbddmgiahcphecmpfh" # ublock origin lite
14
+
"https://clients2.google.com/service/update2/crx?response=redirect&acceptformat=crx2,crx3&prodversion=${pkgs.ungoogled-chromium.version}&x=id%3Dddkjiahejlhfcafbddmgiahcphecmpfh%26installsource%3Dondemand%26uc"
44
15
];
45
16
extraOpts = {
46
17
"BrowserSignin" = 0;
···
54
25
# Tell electron apps / chromium to use wayland
55
26
environment.sessionVariables.NIXOS_OZONE_WL = "1";
56
27
57
-
# List packages installed in system profile. To search, run:
58
-
# $ nix search wget
59
28
users.users.asa.packages = with pkgs; [
60
-
packages.ghostty-wrapped
29
+
packages.alacritty-wrapped
61
30
packages.helix-wrapped
62
-
packages.mako-wrapped
63
-
packages.fuzzel-wrapped
64
-
wl-clipboard
65
-
# delete later
66
-
xwayland-satellite
67
31
32
+
aerc
68
33
yazi
69
34
wget
70
-
docker-compose
71
35
ungoogled-chromium
72
36
73
-
alacritty
37
+
fzf
38
+
ripgrep
74
39
75
40
# utilities
76
41
zip
···
79
44
btop
80
45
81
46
# vpn stuff
82
-
networkmanager-openconnect
83
-
globalprotect-openconnect
84
-
85
-
# stuff that should be wrapped with helix
86
-
nixd
87
-
pyright
88
-
rust-analyzer
89
-
llvmPackages_19.clang-tools
90
-
nixfmt-rfc-style
47
+
# (globalprotect-openconnect.overrideAttrs rec {
48
+
# version = "2.4.5";
49
+
# src = fetchurl {
50
+
# url = "https://github.com/yuezk/GlobalProtect-openconnect/releases/download/v${version}/globalprotect-openconnect-${version}.tar.gz";
51
+
# hash = "sha256-ACeNZpHxSK+LkhxuSMOHjuLj5SK82WCOh53+Ai/NQFA=";
52
+
# };
53
+
# patchPhase = "";
91
54
92
-
# gnome core apps
93
-
adwaita-icon-theme
94
-
nautilus
55
+
# })
95
56
];
96
57
97
58
}
-45
modules/desktop.nix
-45
modules/desktop.nix
···
1
-
{
2
-
lib,
3
-
pkgs,
4
-
packages,
5
-
...
6
-
}:
7
-
{
8
-
systemd.user.services = {
9
-
swayidle = {
10
-
enable = true;
11
-
unitConfig = {
12
-
PartOf = "graphical-session.target";
13
-
After = "graphical-session.target";
14
-
Requisite = "graphical-session.target";
15
-
};
16
-
wantedBy = [ "graphical-session.target" ];
17
-
serviceConfig = {
18
-
ExecStart = "${lib.getExe pkgs.swayidle} -w timeout 300 '${lib.getExe pkgs.niri} msg action power-off-monitors' timeout 300 '${lib.getExe packages.swaylock-wrapped} -f' before-sleep '${lib.getExe packages.swaylock-wrapped} -f'";
19
-
Restart = "on-failure";
20
-
};
21
-
};
22
-
};
23
-
24
-
programs.niri = {
25
-
enable = true;
26
-
package = packages.niri-wrapped;
27
-
};
28
-
29
-
programs.waybar = {
30
-
enable = true;
31
-
package = packages.waybar-wrapped;
32
-
};
33
-
34
-
services.greetd = {
35
-
enable = true;
36
-
settings = {
37
-
default_session = {
38
-
command = "${lib.getExe pkgs.tuigreet} --time --cmd 'bash -l -c ${lib.getExe' packages.niri-wrapped "niri-session"}'";
39
-
user = "greeter";
40
-
};
41
-
};
42
-
};
43
-
44
-
services.libinput.enable = true;
45
-
}
+24
-5
modules/dev.nix
+24
-5
modules/dev.nix
···
1
-
{ ... }:
1
+
{ lib, pkgs, packages, ... }:
2
+
# let container-env = pkgs.buildFHSEnv {
3
+
# name = "container-env";
4
+
# targetPkgs = pkgs: [
5
+
# pkgs.helix
6
+
# ];
7
+
# # paths = [ packages.helix-wrapped ];
8
+
# # includeClosures = true;
9
+
# # ignoreCollisions = true;
10
+
# # pathsToLink = " /bin "
11
+
# };
12
+
# in
2
13
{
3
14
programs.git = {
4
15
enable = true;
···
12
23
# programs.ssh.startAgent = true;
13
24
programs.ssh.extraConfig = "SetEnv TERM=xterm-256color";
14
25
15
-
virtualisation.containers.enable = true;
16
-
# virtualisation.docker.enable = true;
26
+
virtualisation.containers = {
27
+
enable = true;
28
+
29
+
# containersConf.settings = {
30
+
# containers = {
31
+
# volumes = [ "/nix/store:/nix/store:ro" ];
32
+
# env = [ "PATH=${lib.getBin container-env}:$\PATH" ];
33
+
# };
34
+
# };
35
+
};
17
36
18
37
virtualisation.podman = {
19
38
enable = true;
···
26
45
27
46
# Configure helix for editor and viewing functionality
28
47
environment.variables = {
29
-
EDITOR = "hx";
30
-
VISUAL = "hx";
48
+
EDITOR = "${lib.getExe packages.helix-wrapped}";
49
+
VISUAL = "${lib.getExe packages.helix-wrapped}";
31
50
};
32
51
33
52
# Set up local llms
+125
modules/gnome.nix
+125
modules/gnome.nix
···
1
+
2
+
{
3
+
lib,
4
+
pkgs,
5
+
packages,
6
+
...
7
+
}:
8
+
{
9
+
services.displayManager.gdm.enable = true;
10
+
services.desktopManager.gnome.enable = true;
11
+
services.gnome.core-apps.enable = true;
12
+
services.gnome.core-os-services.enable = true;
13
+
14
+
# gnome settings
15
+
#
16
+
# WIP
17
+
programs.dconf.profiles.user.databases = [
18
+
{
19
+
lockAll = true;
20
+
settings = {
21
+
"org/gnome/desktop/interface" = {
22
+
accent-color = "blue";
23
+
color-scheme = "prefer-dark";
24
+
};
25
+
26
+
"org/gnome/mutter" = {
27
+
experimental-features = [
28
+
"scale-monitor-framebuffer"
29
+
"xwayland-native-scaling"
30
+
];
31
+
};
32
+
33
+
# "org/gnome/desktop/default-applications" = {
34
+
35
+
# };
36
+
37
+
# org.gnome.desktop.default-applications.office.calendar exec 'evolution -c calendar'
38
+
# org.gnome.desktop.default-applications.office.calendar needs-term false
39
+
# org.gnome.desktop.default-applications.office.tasks exec 'evolution -c tasks'
40
+
# org.gnome.desktop.default-applications.office.tasks needs-term false
41
+
# org.gnome.desktop.default-applications.terminal exec 'gnome-terminal'
42
+
# org.gnome.desktop.default-applications.terminal exec-arg '-x'
43
+
44
+
45
+
"org/gnome/desktop/input-sources" = {
46
+
xkb-options = [
47
+
"caps:escape"
48
+
];
49
+
};
50
+
51
+
"org/gnome/desktop/wm/keybindings" = with lib.gvariant; {
52
+
close = [ "<Super>Q" ];
53
+
54
+
cycle-windows = ["<Super>Tab"];
55
+
cycle-windows-backward = ["<Super><Shift>Tab"];
56
+
switch-applications = mkEmptyArray type.string;
57
+
switch-applications-backward = mkEmptyArray type.string;
58
+
toggle-overview = ["<Super>D"];
59
+
60
+
# move-to-monitor-down = ["<Super><Shift>Down"];
61
+
# move-to-monitor-left = ["<Super><Shift>Left"];
62
+
# move-to-monitor-right = ["<Super><Shift>Right"];
63
+
# move-to-monitor-up = ["<Super><Shift>Up"];
64
+
65
+
move-to-workspace-1 = ["<Super><Shift>1"];
66
+
move-to-workspace-2 = ["<Super><Shift>2"];
67
+
move-to-workspace-3 = ["<Super><Shift>3"];
68
+
move-to-workspace-4 = ["<Super><Shift>4"];
69
+
move-to-workspace-5 = ["<Super><Shift>5"];
70
+
move-to-workspace-6 = ["<Super><Shift>6"];
71
+
move-to-workspace-7 = ["<Super><Shift>7"];
72
+
move-to-workspace-8 = ["<Super><Shift>8"];
73
+
move-to-workspace-9 = ["<Super><Shift>9"];
74
+
move-to-workspace-10 = ["<Super><Shift>0"];
75
+
# move-to-workspace-11 = [];
76
+
# move-to-workspace-12 = [];
77
+
78
+
move-to-workspace-left = [ "<Super><Shift>U" "<Super><Shift>Page_Up" "<Super><Shift><Alt>Left" "<Control><Shift><Alt>Left"];
79
+
move-to-workspace-right = [ "Super><Shift>I" "<Super><Shift>Page_Down" "<Super><Shift><Alt>Right" "<Control><Shift><Alt>Right"];
80
+
81
+
82
+
switch-to-workspace-1 = ["<Super>1"];
83
+
switch-to-workspace-2 = ["<Super>2"];
84
+
switch-to-workspace-3 = ["<Super>3"];
85
+
switch-to-workspace-4 = ["<Super>4"];
86
+
switch-to-workspace-5 = ["<Super>5"];
87
+
switch-to-workspace-6 = ["<Super>6"];
88
+
switch-to-workspace-7 = ["<Super>7"];
89
+
switch-to-workspace-8 = ["<Super>8"];
90
+
switch-to-workspace-9 = ["<Super>9"];
91
+
switch-to-workspace-10 = ["<Super>0"];
92
+
# switch-to-workspace-11 = [];
93
+
# switch-to-workspace-12 = [];
94
+
95
+
switch-to-application-1 = mkEmptyArray type.string;
96
+
switch-to-application-2 = mkEmptyArray type.string;
97
+
switch-to-application-3 = mkEmptyArray type.string;
98
+
switch-to-application-4 = mkEmptyArray type.string;
99
+
switch-to-application-5 = mkEmptyArray type.string;
100
+
switch-to-application-6 = mkEmptyArray type.string;
101
+
switch-to-application-7 = mkEmptyArray type.string;
102
+
switch-to-application-8 = mkEmptyArray type.string;
103
+
switch-to-application-9 = mkEmptyArray type.string;
104
+
105
+
106
+
switch-to-workspace-left = ["<Super>U" "<Super>Page_Up" "<Super><Alt>Left" "<Control><Alt>Left"];
107
+
switch-to-workspace-right = ["<Super>I" "<Super>Page_Down" "<Super><Alt>Right" "<Control><Alt>Right"];
108
+
109
+
maximize = [ "<Super>K" ];
110
+
unmaximize = [ "<Super>J" ];
111
+
toggle-tiled-left = [ "<Super>H" ];
112
+
toggle-tiled-right = [ "<Super>L" ];
113
+
114
+
};
115
+
116
+
"org/gnome/settings-daemon/plugins/custom-keybindings/custom0" = {
117
+
binding = "<Super>Enter";
118
+
command = "${lib.getExe packages.ghostty-wrapped}";
119
+
name = "Terminal";
120
+
};
121
+
122
+
};
123
+
}
124
+
];
125
+
}
+115
modules/niri.nix
+115
modules/niri.nix
···
1
+
2
+
{
3
+
lib,
4
+
pkgs,
5
+
packages,
6
+
...
7
+
}:
8
+
{
9
+
systemd.user.services = {
10
+
swayidle = {
11
+
enable = true;
12
+
unitConfig = {
13
+
PartOf = "graphical-session.target";
14
+
After = "graphical-session.target";
15
+
Requisite = "graphical-session.target";
16
+
};
17
+
wantedBy = [ "graphical-session.target" ];
18
+
serviceConfig = {
19
+
ExecStart = "${lib.getExe pkgs.swayidle} -w timeout 300 '${lib.getExe pkgs.niri} msg action power-off-monitors' timeout 300 '${lib.getExe packages.swaylock-wrapped} -f' before-sleep '${lib.getExe packages.swaylock-wrapped} -f'";
20
+
Restart = "on-failure";
21
+
};
22
+
};
23
+
};
24
+
25
+
programs.niri = {
26
+
enable = true;
27
+
package = packages.niri-wrapped;
28
+
};
29
+
30
+
programs.waybar = {
31
+
enable = true;
32
+
package = packages.waybar-wrapped;
33
+
};
34
+
35
+
services.greetd = {
36
+
enable = true;
37
+
settings = {
38
+
default_session = {
39
+
command = "${lib.getExe pkgs.tuigreet} --time --cmd 'bash -l -c ${lib.getExe' packages.niri-wrapped "niri-session"}'";
40
+
user = "greeter";
41
+
};
42
+
};
43
+
};
44
+
45
+
# https://github.com/YaLTeR/niri/wiki/Important-Software
46
+
47
+
environment.systemPackages = with pkgs; [
48
+
adwaita-icon-theme
49
+
gnome-themes-extra
50
+
nautilus
51
+
packages.mako-wrapped
52
+
packages.fuzzel-wrapped
53
+
wl-clipboard
54
+
xwayland-satellite
55
+
networkmanagerapplet
56
+
];
57
+
58
+
systemd.user.services.polkit-gnome-authentication-agent-1 = {
59
+
description = "polkit-gnome-authentication-agent-1";
60
+
wantedBy = [ "graphical-session.target" ];
61
+
wants = [ "graphical-session.target" ];
62
+
after = [ "graphical-session.target" ];
63
+
serviceConfig = {
64
+
Type = "simple";
65
+
ExecStart = "${pkgs.polkit_gnome}/libexec/polkit-gnome-authentication-agent-1";
66
+
Restart = "on-failure";
67
+
RestartSec = 1;
68
+
TimeoutStopSec = 10;
69
+
};
70
+
};
71
+
72
+
# some gnome settings (dark mode)
73
+
programs.dconf.profiles.user.databases = [
74
+
{
75
+
lockAll = true;
76
+
settings = {
77
+
"org/gnome/desktop/interface" = {
78
+
accent-color = "teal";
79
+
color-scheme = "prefer-dark";
80
+
};
81
+
};
82
+
}
83
+
];
84
+
85
+
# configure xdg portals and default apps
86
+
xdg.portal = {
87
+
enable = true;
88
+
xdgOpenUsePortal = true;
89
+
extraPortals = with pkgs; [
90
+
xdg-desktop-portal-gtk
91
+
xdg-desktop-portal-gnome
92
+
];
93
+
};
94
+
95
+
# default handlers
96
+
xdg.terminal-exec = {
97
+
enable = true;
98
+
settings = {
99
+
default = [ "Alacritty.desktop" ];
100
+
};
101
+
};
102
+
103
+
xdg.mime.defaultApplications = {
104
+
"x-scheme-handler/http" = "org.mozilla.firefox.desktop";
105
+
"x-scheme-handler/https" = "org.mozilla.firefox.desktop";
106
+
"x-scheme-handler/ftp" = "org.mozilla.firefox.desktop";
107
+
"x-scheme-handler/mailto" = "org.mozilla.thunderbird.desktop";
108
+
"text/plain" = "Helix.desktop";
109
+
"application/pdf" = "org.mozilla.firefox.desktop";
110
+
# "image/png" = [
111
+
# "sxiv.desktop"
112
+
# "gimp.desktop"
113
+
# ];
114
+
};
115
+
}
+2
-1
modules/system.nix
+2
-1
modules/system.nix
+51
programs/alacritty-wrapped.nix
+51
programs/alacritty-wrapped.nix
···
1
+
{
2
+
writers,
3
+
mkWrapper,
4
+
theme,
5
+
alacritty,
6
+
}:
7
+
let
8
+
cfg = writers.writeTOML "alacritty.toml" {
9
+
font = {
10
+
normal = { family = "JetBrains Mono"; style = "regular"; };
11
+
size = 10;
12
+
};
13
+
14
+
colors = with theme.colors; {
15
+
primary = {
16
+
foreground = "#${fg-regular}";
17
+
background = "#${bg-regular}";
18
+
dim_foreground = "#${fg-dim}";
19
+
bright_foreground = "#${fg-regular}";
20
+
};
21
+
22
+
normal = {
23
+
black = "#${black}";
24
+
red = "#${red}";
25
+
green = "#${green}";
26
+
yellow = "#${yellow}";
27
+
blue = "#${blue}";
28
+
magenta = "#${purple}";
29
+
cyan = "#${cyan}";
30
+
white = "#${white}";
31
+
};
32
+
33
+
bright = {
34
+
black = "#5c6370";
35
+
red = "#e06c75";
36
+
green = "#98c379";
37
+
yellow = "#d19a66";
38
+
blue = "#61afef";
39
+
magenta = "#c678dd";
40
+
cyan = "#56b6c2";
41
+
white = "#ffffff";
42
+
};
43
+
};
44
+
};
45
+
in
46
+
mkWrapper {
47
+
pkg = alacritty;
48
+
alacritty.prependFlags = [
49
+
"--config-file=${cfg}"
50
+
];
51
+
}
+2
-2
programs/fuzzel-wrapped.nix
+2
-2
programs/fuzzel-wrapped.nix
···
4
4
mkWrapper,
5
5
theme,
6
6
fuzzel,
7
-
ghostty-wrapped,
7
+
alacritty-wrapped,
8
8
}:
9
9
let
10
10
cfg = pkgs.writeText "config.ini" ''
···
13
13
dpi-aware=auto
14
14
placeholder="system search..."
15
15
prompt=""
16
-
terminal="${lib.getExe ghostty-wrapped} -e"
16
+
terminal="${lib.getExe alacritty-wrapped} -e"
17
17
18
18
lines=12
19
19
width=24
+3
-3
programs/ghostty-wrapped.nix
+3
-3
programs/ghostty-wrapped.nix
···
9
9
# font-family = "Hack"
10
10
font-size = ${theme.lengths.font-sm}
11
11
12
-
theme = "OneHalfDark"
12
+
theme = "Atom One Dark"
13
13
14
-
window-padding-x = 8
15
-
window-padding-y = 8
14
+
# window-padding-x = ${theme.lengths.padding}
15
+
# window-padding-y = ${theme.lengths.padding}
16
16
window-padding-balance = false
17
17
window-padding-color = extend
18
18
+27
-23
programs/helix-wrapped.nix
+27
-23
programs/helix-wrapped.nix
···
1
1
{
2
-
pkgs,
2
+
writers,
3
3
mkWrapper,
4
4
helix,
5
5
}:
6
6
let
7
-
cfg = pkgs.writeText "config.toml" ''
8
-
theme = "zed_onedark"
7
+
cfg = writers.writeTOML "config.toml" {
8
+
theme = "zed_onedark";
9
9
10
-
[keys.normal]
11
-
tab = "goto_next_buffer"
12
-
S-tab = "goto_previous_buffer"
10
+
keys.normal = {
11
+
tab = "goto_next_buffer";
12
+
S-tab = "goto_previous_buffer";
13
+
};
13
14
14
-
[editor]
15
-
bufferline = "multiple"
16
-
idle-timeout = 5
17
-
completion-timeout = 5
18
-
end-of-line-diagnostics = "hint"
19
-
inline-diagnostics.cursor-line = "error"
15
+
editor = {
16
+
bufferline = "multiple";
17
+
idle-timeout = 5;
18
+
completion-timeout = 5;
19
+
end-of-line-diagnostics = "hint";
20
+
inline-diagnostics.cursor-line = "error";
20
21
21
-
[editor.cursor-shape]
22
-
insert = "bar"
23
-
normal = "block"
24
-
select = "underline"
22
+
lsp.display-inline-hints = true;
23
+
24
+
cursor-shape = {
25
+
insert = "bar";
26
+
normal = "block";
27
+
select = "underline";
28
+
};
25
29
26
-
[editor.file-picker]
27
-
hidden = true
28
-
ignore = true
29
-
# git-ignore = true
30
+
file-picker = {
31
+
hidden = true;
32
+
ignore = true;
33
+
};
30
34
31
-
[editor.soft-wrap]
32
-
enable = true
33
-
'';
35
+
soft-wrap.enable = true;
36
+
};
37
+
};
34
38
in
35
39
mkWrapper {
36
40
pkg = helix;
+8
-4
programs/niri-wrapped.nix
+8
-4
programs/niri-wrapped.nix
···
5
5
theme,
6
6
niri,
7
7
swaylock-wrapped,
8
-
ghostty-wrapped,
8
+
alacritty-wrapped,
9
9
fuzzel-wrapped,
10
10
wireplumber,
11
11
brightnessctl,
···
87
87
}
88
88
89
89
output "DP-3" {
90
-
mode "3840x2160@30.000"
90
+
mode "2560x1440@60"
91
+
92
+
scale 1.25
93
+
94
+
background-color "#${theme.colors.bg-darker}"
91
95
}
92
96
93
97
// You can configure outputs by their name, which you can find
···
299
303
// off
300
304
301
305
// Slow down all animations by this factor. Values below 1 speed them up instead.
302
-
slowdown 0.8
306
+
slowdown 0.5
303
307
}
304
308
305
309
// Window rules let you adjust behavior for individual windows.
···
365
369
Mod+Shift+Slash { show-hotkey-overlay; }
366
370
367
371
// Suggested binds for running programs: terminal, app launcher, screen locker.
368
-
Mod+Return { spawn "${lib.getExe ghostty-wrapped}"; }
372
+
Mod+Return { spawn "${lib.getExe alacritty-wrapped}"; }
369
373
Mod+D { spawn "${lib.getExe fuzzel-wrapped}"; }
370
374
Mod+Shift+Return { spawn "${lib.getExe flatpak}" "run" "org.mozilla.firefox"; }
371
375
Super+Alt+L { spawn "${lib.getExe swaylock-wrapped}"; }