mirror of
https://github.com/kittywitch/nixfiles.git
synced 2026-02-09 20:39:18 -08:00
feat: niri, and so much more o.o
This commit is contained in:
parent
f61eca52be
commit
79bf49841b
61 changed files with 1412 additions and 1683 deletions
|
|
@ -54,9 +54,6 @@ ${pkgs.glib}/bin/gsettings set "$gnome_schema" font-name "$font_name"
|
|||
};
|
||||
xwayland.enable = true;
|
||||
package = inputs.hyprland.packages.${pkgs.system}.hyprland;
|
||||
plugins = [
|
||||
inputs.split-monitor-workspaces.packages.${pkgs.system}.split-monitor-workspaces
|
||||
];
|
||||
settings = {
|
||||
# TODO: break it up
|
||||
windowrule = let
|
||||
|
|
@ -128,12 +125,6 @@ ${pkgs.glib}/bin/gsettings set "$gnome_schema" font-name "$font_name"
|
|||
"legcord --enable-features=WaylandLinuxDrmSyncobj,UseOzonePlatform --ozone-platform=wayland"
|
||||
"spotify --enable-features=WaylandLinuxDrmSyncobj,UseOzonePlatform --ozone-platform=wayland"
|
||||
];
|
||||
plugin.split-monitor-workspaces = {
|
||||
count = 10;
|
||||
keep_focused = 0;
|
||||
enable_notifications = 0;
|
||||
enable_persistent_workspaces = 1;
|
||||
};
|
||||
group.groupbar = {
|
||||
font_family = "Monaspace Krypton";
|
||||
font_size = 12;
|
||||
|
|
@ -239,9 +230,6 @@ ${pkgs.glib}/bin/gsettings set "$gnome_schema" font-name "$font_name"
|
|||
"$mod SHIFT, F${if ws == "0" then "10" else ws}, movetoworkspacesilent, ${toString (x + 11)}"
|
||||
|
||||
"$mod ALT, ${ws}, split-workspace, ${toString (x + 1)}"
|
||||
"$mod SHIFT ALT, ${ws}, split-movetoworkspacesilent, ${toString (x + 1)}"
|
||||
"$mod ALT, F${if ws == "0" then "10" else ws}, split-workspace, ${toString (x + 11)}"
|
||||
"$mod SHIFT ALT, F${if ws == "0" then "10" else ws}, split-movetoworkspacesilent, ${toString (x + 11)}"
|
||||
]
|
||||
)
|
||||
10)
|
||||
|
|
|
|||
65
home/environments/niri/autostart.nix
Normal file
65
home/environments/niri/autostart.nix
Normal file
|
|
@ -0,0 +1,65 @@
|
|||
{ pkgs, config, ... }: {
|
||||
programs.niri.settings.spawn-at-startup = let
|
||||
import-gsettings = pkgs.writeShellScriptBin "import-gsettings" ''
|
||||
# usage: import-gsettings
|
||||
config="''${XDG_CONFIG_HOME:-$HOME/.config}/gtk-3.0/settings.ini"
|
||||
if [ ! -f "$config" ]; then exit 1; fi
|
||||
|
||||
gnome_schema="org.gnome.desktop.interface"
|
||||
gtk_theme="$(grep 'gtk-theme-name' "$config" | sed 's/.*\s*=\s*//')"
|
||||
icon_theme="$(grep 'gtk-icon-theme-name' "$config" | sed 's/.*\s*=\s*//')"
|
||||
cursor_theme="$(grep 'gtk-cursor-theme-name' "$config" | sed 's/.*\s*=\s*//')"
|
||||
font_name="$(grep 'gtk-font-name' "$config" | sed 's/.*\s*=\s*//')"
|
||||
${pkgs.glib}/bin/gsettings set "$gnome_schema" gtk-theme "$gtk_theme"
|
||||
${pkgs.glib}/bin/gsettings set "$gnome_schema" icon-theme "$icon_theme"
|
||||
${pkgs.glib}/bin/gsettings set "$gnome_schema" cursor-theme "$cursor_theme"
|
||||
${pkgs.glib}/bin/gsettings set "$gnome_schema" font-name "$font_name"
|
||||
'';
|
||||
in [
|
||||
{
|
||||
command = [
|
||||
"${import-gsettings}/bin/import-gsettings"
|
||||
];
|
||||
}
|
||||
{
|
||||
command = [
|
||||
"${pkgs.systemd}/bin/systemctl"
|
||||
"--user"
|
||||
"start"
|
||||
"waybar.service"
|
||||
];
|
||||
}
|
||||
{
|
||||
command = [
|
||||
"${pkgs.systemd}/bin/systemctl"
|
||||
"--user"
|
||||
"restart"
|
||||
"konawall-py.service"
|
||||
];
|
||||
}
|
||||
{
|
||||
command = [
|
||||
"${pkgs.systemd}/bin/systemctl"
|
||||
"--user"
|
||||
"start"
|
||||
"mako.service"
|
||||
];
|
||||
}
|
||||
#{
|
||||
# command = [
|
||||
# "${pkgs.xwayland-satellite}/bin/xwayland-satellite"
|
||||
# ];
|
||||
#}
|
||||
# program autostart
|
||||
{
|
||||
command = [
|
||||
"firefox"
|
||||
];
|
||||
}
|
||||
{
|
||||
command = [
|
||||
"discord"
|
||||
];
|
||||
}
|
||||
];
|
||||
}
|
||||
21
home/environments/niri/avizo.nix
Normal file
21
home/environments/niri/avizo.nix
Normal file
|
|
@ -0,0 +1,21 @@
|
|||
{ config, ... }: {
|
||||
services.avizo = {
|
||||
enable = true;
|
||||
settings = {
|
||||
default = {
|
||||
block-count = 100;
|
||||
block-spacing = 0;
|
||||
border-radius = 8;
|
||||
border-width = 2;
|
||||
background = "rgba(${builtins.toString config.palette.mantle.rgb.r}, ${builtins.toString config.palette.mantle.rgb.g}, ${builtins.toString config.palette.mantle.rgb.b}, 1)";
|
||||
border-color = "rgba(${builtins.toString config.palette.${config.catppuccin.accent}.rgb.r}, ${
|
||||
builtins.toString config.palette.${config.catppuccin.accent}.rgb.g
|
||||
}, ${builtins.toString config.palette.${config.catppuccin.accent}.rgb.b}, 1)";
|
||||
bar-fg-color = "rgba(${builtins.toString config.palette.${config.catppuccin.accent}.rgb.r}, ${
|
||||
builtins.toString config.palette.${config.catppuccin.accent}.rgb.g
|
||||
}, ${builtins.toString config.palette.${config.catppuccin.accent}.rgb.b}, 1)";
|
||||
bar-bg-color = "rgba(${builtins.toString config.palette.mantle.rgb.r}, ${builtins.toString config.palette.mantle.rgb.g}, ${builtins.toString config.palette.mantle.rgb.b}, 1)";
|
||||
};
|
||||
};
|
||||
};
|
||||
}
|
||||
145
home/environments/niri/binds.nix
Normal file
145
home/environments/niri/binds.nix
Normal file
|
|
@ -0,0 +1,145 @@
|
|||
{ config, pkgs, lib, std, ... }: let
|
||||
inherit (std) list;
|
||||
inherit (lib.modules) mkMerge;
|
||||
in {
|
||||
programs.niri.settings.binds = let
|
||||
bindWorkspace = key: workspace: {
|
||||
"Mod+${key}".action.focus-workspace = workspace;
|
||||
"Mod+Ctrl+${key}".action.move-column-to-workspace = workspace;
|
||||
};
|
||||
workspaceBindings =
|
||||
list.map (v: bindWorkspace (builtins.toString v) v) (list.range 1 9)
|
||||
++ [
|
||||
(
|
||||
bindWorkspace "0" 10
|
||||
)
|
||||
];
|
||||
in mkMerge (workspaceBindings ++ [{
|
||||
# Transcribed: https://github.com/sodiboo/niri-flake/issues/483
|
||||
# thank you Pacman99 you chad :3
|
||||
"Mod+Q".action.close-window = {};
|
||||
"Mod+O".action.toggle-overview = {};
|
||||
|
||||
"Mod+Left".action.focus-column-left = {};
|
||||
"Mod+Down".action.focus-window-down = {};
|
||||
"Mod+Up".action.focus-window-up = {};
|
||||
"Mod+Right".action.focus-column-right = {};
|
||||
"Mod+H".action.focus-column-left = {};
|
||||
"Mod+J".action.focus-window-down = {};
|
||||
"Mod+K".action.focus-window-up = {};
|
||||
"Mod+L".action.focus-column-right = {};
|
||||
|
||||
"Mod+Ctrl+Left".action.move-column-left = {};
|
||||
"Mod+Ctrl+Down".action.move-window-down = {};
|
||||
"Mod+Ctrl+Up".action.move-window-up = {};
|
||||
"Mod+Ctrl+Right".action.move-column-right = {};
|
||||
"Mod+Ctrl+H".action.move-column-left = {};
|
||||
"Mod+Ctrl+J".action.move-window-down = {};
|
||||
"Mod+Ctrl+K".action.move-window-up = {};
|
||||
"Mod+Ctrl+L".action.move-column-right = {};
|
||||
|
||||
"Mod+Home".action.focus-column-first = {};
|
||||
"Mod+End".action.focus-column-last = {};
|
||||
"Mod+Ctrl+Home".action.move-column-to-first = {};
|
||||
"Mod+Ctrl+End".action.move-column-to-last = {};
|
||||
|
||||
"Mod+Shift+Left".action.focus-monitor-left = {};
|
||||
"Mod+Shift+Down".action.focus-monitor-down = {};
|
||||
"Mod+Shift+Up".action.focus-monitor-up = {};
|
||||
"Mod+Shift+Right".action.focus-monitor-right = {};
|
||||
"Mod+Shift+H".action.focus-monitor-left = {};
|
||||
"Mod+Shift+J".action.focus-monitor-down = {};
|
||||
"Mod+Shift+K".action.focus-monitor-up = {};
|
||||
"Mod+Shift+L".action.focus-monitor-right = {};
|
||||
|
||||
"Mod+Shift+Ctrl+Left".action.move-column-to-monitor-left = {};
|
||||
"Mod+Shift+Ctrl+Down".action.move-column-to-monitor-down = {};
|
||||
"Mod+Shift+Ctrl+Up".action.move-column-to-monitor-up = {};
|
||||
"Mod+Shift+Ctrl+Right".action.move-column-to-monitor-right = {};
|
||||
"Mod+Shift+Ctrl+H".action.move-column-to-monitor-left = {};
|
||||
"Mod+Shift+Ctrl+J".action.move-column-to-monitor-down = {};
|
||||
"Mod+Shift+Ctrl+K".action.move-column-to-monitor-up = {};
|
||||
"Mod+Shift+Ctrl+L".action.move-column-to-monitor-right = {};
|
||||
|
||||
"Mod+Page_Down".action.focus-workspace-down = {};
|
||||
"Mod+Page_Up".action.focus-workspace-up = {};
|
||||
"Mod+U".action.focus-workspace-down = {};
|
||||
"Mod+I".action.focus-workspace-up = {};
|
||||
"Mod+Ctrl+Page_Down".action.move-column-to-workspace-down = {};
|
||||
"Mod+Ctrl+Page_Up".action.move-column-to-workspace-up = {};
|
||||
"Mod+Ctrl+U".action.move-column-to-workspace-down = {};
|
||||
"Mod+Ctrl+I".action.move-column-to-workspace-up = {};
|
||||
|
||||
"Mod+Shift+Page_Down".action.move-workspace-down = {};
|
||||
"Mod+Shift+Page_Up".action.move-workspace-up = {};
|
||||
"Mod+Shift+U".action.move-workspace-down = {};
|
||||
"Mod+Shift+I".action.move-workspace-up = {};
|
||||
|
||||
"Mod+WheelScrollDown" = {
|
||||
cooldown-ms = 150;
|
||||
action.focus-workspace-down = {};
|
||||
};
|
||||
"Mod+WheelScrollUp" = {
|
||||
cooldown-ms = 150;
|
||||
action.focus-workspace-up = {};
|
||||
};
|
||||
"Mod+Ctrl+WheelScrollDown" = {
|
||||
cooldown-ms = 150;
|
||||
action.move-column-to-workspace-down = {};
|
||||
};
|
||||
"Mod+Ctrl+WheelScrollUp" = {
|
||||
cooldown-ms = 150;
|
||||
action.move-column-to-workspace-up = {};
|
||||
};
|
||||
|
||||
"Mod+WheelScrollRight".action.focus-column-right = {};
|
||||
"Mod+WheelScrollLeft".action.focus-column-left = {};
|
||||
"Mod+Ctrl+WheelScrollRight".action.move-column-right = {};
|
||||
"Mod+Ctrl+WheelScrollLeft".action.move-column-left = {};
|
||||
|
||||
"Mod+Shift+WheelScrollDown".action.focus-column-right = {};
|
||||
"Mod+Shift+WheelScrollUp".action.focus-column-left = {};
|
||||
"Mod+Ctrl+Shift+WheelScrollDown".action.move-column-right = {};
|
||||
"Mod+Ctrl+Shift+WheelScrollUp".action.move-column-left = {};
|
||||
|
||||
"Mod+Comma".action.consume-window-into-column = {};
|
||||
"Mod+Period".action.expel-window-from-column = {};
|
||||
|
||||
"Mod+R".action.switch-preset-column-width = {};
|
||||
"Mod+Shift+R".action.reset-window-height = {};
|
||||
"Mod+F".action.maximize-column = {};
|
||||
"Mod+Shift+F".action.fullscreen-window = {};
|
||||
"Mod+C".action.center-column = {};
|
||||
|
||||
"Mod+Minus".action.set-column-width = "-10%";
|
||||
"Mod+Equal".action.set-column-width = "+10%";
|
||||
|
||||
"Mod+Shift+Minus".action.set-window-height = "-10%";
|
||||
"Mod+Shift+Equal".action.set-window-height = "+10%";
|
||||
|
||||
"Print".action.screenshot = {};
|
||||
"Ctrl+Print".action.screenshot-screen = {};
|
||||
"Alt+Print".action.screenshot-window = {};
|
||||
|
||||
# The quit action will show a confirmation dialog to avoid accidental exits.
|
||||
"Mod+Shift+E".action.quit = {};
|
||||
|
||||
# Powers off the monitors. To turn them back on, do any input like
|
||||
# moving the mouse or pressing any other key.
|
||||
"Mod+Shift+P".action.power-off-monitors = {};
|
||||
|
||||
# Kat
|
||||
"XF86AudioRaiseVolume".action.spawn = ["wpctl" "set-volume" "@DEFAULT_AUDIO_SINK@" "0.1+"];
|
||||
"XF86AudioLowerVolume".action.spawn = ["wpctl" "set-volume" "@DEFAULT_AUDIO_SINK@" "0.1-"];
|
||||
"XF86AudioMute".action.spawn = ["wpctl" "set-mute" "@DEFAULT_AUDIO_SINK@" "toggle"];
|
||||
"XF86AudioPlay".action.spawn = ["${pkgs.playerctl}/bin/playerctl" "play-pause"];
|
||||
"XF86AudioNext".action.spawn = ["${pkgs.playerctl}/bin/playerctl" "next"];
|
||||
"XF86AudioPrev".action.spawn = ["${pkgs.playerctl}/bin/playerctl" "prev"];
|
||||
"Mod+T".action.spawn = ["${config.programs.wezterm.package}/bin/wezterm"];
|
||||
"Mod+D".action.spawn = ["${config.programs.wofi.package}/bin/wofi" "-t" "wezterm" "-IS" "drun"];
|
||||
"Mod+Shift+D".action.spawn = ["${config.programs.wofi.package}/bin/wofi" "-t" "wezterm" "-IS" "run"];
|
||||
"Mod+Escape".action.spawn = ["${config.programs.wlogout.package}/bin/wlogout" "-p" "layer-shell"];
|
||||
"Mod+Shift+Escape".action.spawn = ["${config.programs.swaylock.package}/bin/swaylock" "-f"];
|
||||
#"Print".action.spawn = ["${pkgs.grimblast}/bin/grimblast" "copy" "area"];
|
||||
}]);
|
||||
}
|
||||
12
home/environments/niri/cursor.nix
Normal file
12
home/environments/niri/cursor.nix
Normal file
|
|
@ -0,0 +1,12 @@
|
|||
{ config, pkgs, ... }: {
|
||||
catppuccin.cursors.enable = true;
|
||||
home.pointerCursor = {
|
||||
dotIcons.enable = true;
|
||||
x11 = {
|
||||
enable = true;
|
||||
defaultCursor = config.home.pointerCursor.name;
|
||||
};
|
||||
gtk.enable = true;
|
||||
size = 32;
|
||||
};
|
||||
}
|
||||
65
home/environments/niri/konawall.nix
Normal file
65
home/environments/niri/konawall.nix
Normal file
|
|
@ -0,0 +1,65 @@
|
|||
{
|
||||
inputs,
|
||||
pkgs,
|
||||
config,
|
||||
...
|
||||
}: let
|
||||
konawallConfig = {
|
||||
interval = 30 * 60;
|
||||
rotate = true;
|
||||
source = "e621";
|
||||
tags = [
|
||||
"-rating:s"
|
||||
"-male/male"
|
||||
"-five_nights_at_freddy's"
|
||||
#"touhou"
|
||||
"-male"
|
||||
"-large_breasts"
|
||||
"-scalie"
|
||||
#"-my_little_pony"
|
||||
"-sonic_the_hedgehog"
|
||||
"-amputee"
|
||||
"-inflation"
|
||||
"-pool_toy"
|
||||
"-cuckold"
|
||||
"-gore"
|
||||
"-human"
|
||||
"-animated"
|
||||
"-hyper"
|
||||
"-death"
|
||||
"ratio:>=1.3"
|
||||
"-muscular_male"
|
||||
"-model_sheet"
|
||||
"score:>=100"
|
||||
"width:>=1500"
|
||||
];
|
||||
logging = {
|
||||
file = "INFO";
|
||||
console = "DEBUG";
|
||||
};
|
||||
};
|
||||
in {
|
||||
sops.secrets.konawall-py-env = {
|
||||
sopsFile = ./konawall.yaml;
|
||||
};
|
||||
home.packages = [
|
||||
inputs.konawall-py.packages.${pkgs.system}.konawall-py
|
||||
];
|
||||
xdg.configFile = {
|
||||
"konawall/config.toml".source = (pkgs.formats.toml {}).generate "konawall-config" konawallConfig;
|
||||
};
|
||||
systemd.user.services.konawall-py = {
|
||||
Unit = {
|
||||
Description = "konawall-py";
|
||||
X-Restart-Triggers = [(toString config.xdg.configFile."konawall/config.toml".source)];
|
||||
After = ["graphical-session.target" "network-online.target"];
|
||||
};
|
||||
Service = {
|
||||
ExecStart = "${inputs.konawall-py.packages.${pkgs.system}.konawall-py}/bin/konawall";
|
||||
Restart = "on-failure";
|
||||
RestartSec = "1s";
|
||||
EnvironmentFile = config.sops.secrets.konawall-py-env.path;
|
||||
};
|
||||
Install = {WantedBy = ["graphical-session.target"];};
|
||||
};
|
||||
}
|
||||
110
home/environments/niri/konawall.yaml
Normal file
110
home/environments/niri/konawall.yaml
Normal file
|
|
@ -0,0 +1,110 @@
|
|||
konawall-py-env: ENC[AES256_GCM,data:8SWQgZkKXffy+GfhbIkZAB3ZJ9a+q5yPmMdt3lgrzezguX23p7vqgRac9AHq1x8=,iv:K5Pj9FuLWbpah8WaD5TZwmomZUgJnuaCdzFlu7K4n/w=,tag:qTlbMlsTeTnXSm+lyDe1iw==,type:str]
|
||||
sops:
|
||||
shamir_threshold: 1
|
||||
age:
|
||||
- recipient: age1n4kdchmkk3rfkaknxhveqr2ftprdpgwckutt23y6u8639lazzuks77tgav
|
||||
enc: |
|
||||
-----BEGIN AGE ENCRYPTED FILE-----
|
||||
YWdlLWVuY3J5cHRpb24ub3JnL3YxCi0+IFgyNTUxOSBSQ2twMTY4UGhEZzNjRG1P
|
||||
UDhPV1RzcnBwdG9aaVdjV1FxU0dsNzRURVJJCmwvbXRUVFExNjBRb09GTXREZmd4
|
||||
WS9CclFlbXdhUkNITFI0bW9EVS9YNTQKLS0tIGxPS3JvNEJZSCswYlRZdHJkN2lH
|
||||
ZHBDblNCN3RmbUtrdTEzVDFQdzI3eDQKY/Q+zAs4cTr2fWDdVqNR+fYRnSIO6s6a
|
||||
1UOqkFAIZOMmrYMiBu132zgBNT0HU0avvEkZ85Wp72HPv1bUz2QJ4g==
|
||||
-----END AGE ENCRYPTED FILE-----
|
||||
- recipient: age1cnu37d5fqyahh9vvc4hj6z6k8ur9ksuefln7sr6g3emmn927eutqxdawuh
|
||||
enc: |
|
||||
-----BEGIN AGE ENCRYPTED FILE-----
|
||||
YWdlLWVuY3J5cHRpb24ub3JnL3YxCi0+IFgyNTUxOSBQNUF0NXRNRTAzRzc1ZnUv
|
||||
cTdmNm8zRTN5WUJ2WUl4aDVmbUNUbzdxd0djCjg3SkF1bmZITW1GNVJ1cHl2QWRP
|
||||
QitpRHAzNUhWLzNQZUxLeitKQmkyNGsKLS0tIDJkTEVrOS9tZlg1bi9EeXFzSkNz
|
||||
M2FzNFg4TDc5d0pWOHhUSjJ3Vko2Q0kKDDOhuMe57zE8GSWja37WJrm+dlSROzde
|
||||
2+RwG6OjDAltWtPpmiLmFCnnGLu3VGYZupbwOtWfBxWiZFQfaYsW9w==
|
||||
-----END AGE ENCRYPTED FILE-----
|
||||
- recipient: age1a0m73qr8hhuz8xemv4vymf4wmpghm2hst8wgrn3pn65ext5mf4ksk0vsdm
|
||||
enc: |
|
||||
-----BEGIN AGE ENCRYPTED FILE-----
|
||||
YWdlLWVuY3J5cHRpb24ub3JnL3YxCi0+IFgyNTUxOSBuWmh0Y3hpcXF1RzYvMEJZ
|
||||
dms2akl4SHBSU1dPaERtM1l5NlJGQjBkc2xnCjM1UEFJZVBSK2ZMaE5GM3lTTlov
|
||||
RlJxK3kyd0FWYlZncVowd2t1amp2UlEKLS0tIEZwRVVoak90bXVvSlhqenRYMldN
|
||||
ZDdPOUh0SkFMdDlRV2pIby9ObFZlNXcKleHAiVFw8B6axyOUBhA3nhh+5Q6q82WI
|
||||
IlOK9nsFJ4yYCU+IZ6TRkAbu7m8xCC24yBOMY3cUZzYc+3HxjIByDw==
|
||||
-----END AGE ENCRYPTED FILE-----
|
||||
- recipient: age18hpxz0ghvswv9k30cle73prvnzrsuczqh87jjdk9fl50j3ddndmq9xae0n
|
||||
enc: |
|
||||
-----BEGIN AGE ENCRYPTED FILE-----
|
||||
YWdlLWVuY3J5cHRpb24ub3JnL3YxCi0+IFgyNTUxOSBWQ01DWDZtVHpKbFlmREJk
|
||||
Q2hUdkRUQ1dOWVRaL1NQU3Y1a2NneXpiaVNnClZrZGo5RnIwSk1UbFJ3K1lIZDl3
|
||||
bmxWUGR2ZTNxaG9aZEhBQlhrQ0g5TUkKLS0tIDM4bHZWTFR2YUZlT3QrSms2SElB
|
||||
R01tUEJxRy9mQkNlQUloOFk4b0JyOEUKihPiTr07wiT32FBA3KQplBq21EgzyjEA
|
||||
iXkJDTX5cBn62P53UO/3Gkgi3CG9BjxposrAq5Jmvylej6EgCF13NQ==
|
||||
-----END AGE ENCRYPTED FILE-----
|
||||
- recipient: age1xgy03g3vjydsxcl0qpdgm8rahjcjq95ucxfwlgr22zwjx3p7jf2s9jk6u5
|
||||
enc: |
|
||||
-----BEGIN AGE ENCRYPTED FILE-----
|
||||
YWdlLWVuY3J5cHRpb24ub3JnL3YxCi0+IFgyNTUxOSAxdktCby9jdG4yR0tIZ2JE
|
||||
N2F2TkRsaXpuOHNXYVBid3NHU21HWFpQOEVFClRIbXVBNm9GMTVyQno5eGNwRkFU
|
||||
NDhZZDBZT0p1SDh5SW1ycjM2SXZ3R3MKLS0tIGJ2R01TaFFHNnU2cG1wcHA3WkI3
|
||||
NWxYRDZzZS9Bc25qbW9BUXZaL09rZXMKdpveRhf73CNVCiU+Xjo9TNxW+NTHLJNq
|
||||
EhYYMnIEtzWDWQOJBzed8+4dpVpjLxJ1Z4EATdRV/vSNLuH+2NENOg==
|
||||
-----END AGE ENCRYPTED FILE-----
|
||||
- recipient: age1fv5dafs4n3r5n83qm2hfz7xmnflsz0xf9r3saralrptpgf8mvuxq4t8k3u
|
||||
enc: |
|
||||
-----BEGIN AGE ENCRYPTED FILE-----
|
||||
YWdlLWVuY3J5cHRpb24ub3JnL3YxCi0+IFgyNTUxOSAwZUlsZmJZU1JXS1ZxdFNq
|
||||
emoxdEY3dzZ4ajdWZ1IwTHJhNjZTdUFwR1EwCmo2M3FNaGw0M3phWGFHbThlRnAw
|
||||
aTFJT3Zkd0RRUTBub3RyTWRhUWl5UTAKLS0tIEpmRlFVeWZILzkzR2hFUG9UbHFS
|
||||
R0dsOGpPWVJQNkFOd0FHbnBWZ1ZvL1EKsTb8ToKytd5VPig7+koYsMYIKyglIuZm
|
||||
KvyEgYScynYRiYCjVH92NUo2VaNV+i2g+syUIrcgDvzGa98fgnFITw==
|
||||
-----END AGE ENCRYPTED FILE-----
|
||||
- recipient: age120530yclr75k6nrzp6k5jjftj8j4q9v3533guupzk4ct86mjxszqg9e5t5
|
||||
enc: |
|
||||
-----BEGIN AGE ENCRYPTED FILE-----
|
||||
YWdlLWVuY3J5cHRpb24ub3JnL3YxCi0+IFgyNTUxOSB1eEN6MS9kVkMySTFpVnNZ
|
||||
YytlVjJhdUxWQ1I0UkgrWnM0REFUakkvYkJrCkUrRkpXa09rUnByemdJdEljcW10
|
||||
R01uRkF1WnQ5OTBFOWRuMmtGSkZmT3MKLS0tIFZhNms3blpHWGtJM203Wk5RT1R6
|
||||
emE2VjJPcnNLTnNNOCtYMFRLd3VuV3cKYdupODU2h9PQN0nXlAkZaaJE+fUNQGmV
|
||||
TKv6OP8MiWdle50eMvEJCy7sEPTcq02Xwm3cKJCo3k+N2rUPfyf2BQ==
|
||||
-----END AGE ENCRYPTED FILE-----
|
||||
- recipient: age1c4atxfp05u7zm875s6q8p82ve96rqqpq9smktxlur8pk2yc3qvgql46dp9
|
||||
enc: |
|
||||
-----BEGIN AGE ENCRYPTED FILE-----
|
||||
YWdlLWVuY3J5cHRpb24ub3JnL3YxCi0+IFgyNTUxOSBTZHZKcHBOWDZROWc5ZEVS
|
||||
dW9oT01zR00rUlZOVGhFQXJSS3A4cGZUR21rCkVmUWRvZ3BpMllSdUY4SkNiSDhs
|
||||
bmt6KzkwWnVObkdJeXV3WWFRdGxlc28KLS0tIDdaNTVSWjNxazhVanA2Mk9QTmlr
|
||||
cEdOZTlKeWdHREpJQ0VDVlN4eG5LWkEKO9sLRqGxtJUKjeQsvZAodBv1Cvs4z1ut
|
||||
LptNfGOJQxxwHazKb5VdoXe6Z6qOxciQ1ngNetLC7yEPzEs51smFOg==
|
||||
-----END AGE ENCRYPTED FILE-----
|
||||
- recipient: age1rjldv3fn3q686647exmcukthr32gmp6s3axs0lhyenvru9ajp9rs24ukvz
|
||||
enc: |
|
||||
-----BEGIN AGE ENCRYPTED FILE-----
|
||||
YWdlLWVuY3J5cHRpb24ub3JnL3YxCi0+IFgyNTUxOSBveEE2Y0d4RFp2Q1NQV2g3
|
||||
K1pSSFRNeXlzWlo2U211SzM5Rjg5MG5EUmpRCkhYMVhuS2tONnpVdHJNZ3NGS3kz
|
||||
Y09KWitzRHIwZnQ4MmR5elZiSGVZdzQKLS0tIFJIcGR1ZTBjSUREeVIvSnlEdzNZ
|
||||
Q2JJNi9EMG5RMi94WFpncThCdExmM3cKUD+TsPY0T5YilXlpRw4W1cQLeDhOyo1K
|
||||
TKvcIWq/+vfVa8Smcg2L/9tX5B2uHXDB0UXDpaMfazgsFu4ja7nvSg==
|
||||
-----END AGE ENCRYPTED FILE-----
|
||||
lastmodified: "2025-02-28T21:15:38Z"
|
||||
mac: ENC[AES256_GCM,data:2QggqmZhRgx+kpvDZOBU/KBLruwxbD4F3NHTiNK2N8Ux133pgLDjP88HDmBy8ZRXmGFdkUK0IqOSx1Axy3qpy14DlSdOw9L/WQhOCybEX21ib+ANb90275FtD+7J8luIvOPbCtus9c9gpqYQIirlQMqwkMZ1QADv62ewmVUJD6w=,iv:4V9KA9oq1TR5+cFtZdEop7haPOavRaRd6wwgJDyJeXQ=,tag:MXwB98KN5kit4Oyl+qQFLw==,type:str]
|
||||
pgp:
|
||||
- created_at: "2025-06-27T20:11:04Z"
|
||||
enc: |-
|
||||
-----BEGIN PGP MESSAGE-----
|
||||
|
||||
hQIMA82M54yws73UARAAiUcVShX8Vuf1EW/5Z0OrkBLoMVRaF8FV/CvHmdNZNnIz
|
||||
K0e0XTyNRSFBwy530VSSgJ5m/db+fQ6SAVEPIJWd22g4yKsHUZOuApQQtdVDQsPB
|
||||
UG7zKJEtDVDmcMzoKuZx5M/TQhWdGCP1Ut3vYJZ1scDhxuum5RKLzO4bZyHx0NPy
|
||||
q3U0TRo4RQHtrOGiiBLJnCJhYWqgfGZe3M/Q6VakX5CF0Yy1CmvyCrmHBgjQJ1Br
|
||||
lMdMpXyTIwkCXOGQYocYOERg1DxcM6eEo4O65tuo0nLG5BExa5Oy5f35O3j73fq9
|
||||
DHpM7UjSOnsDAuQY0oMpjIaXRPvH/7yBk0hKV1XI9PuC8dDAe25jLvL82UAaMvRC
|
||||
FKQkLBezYVZB+g8JH0a+ki9ibMk8hpcSQQPaengbiKHROxIXg6L4wZKXs3jFAjVE
|
||||
xy0NfgLxrBrAXnx0exNl/gokU+LISZ95XgGN6nkjdOllonEOHq78q5kLHwD5KCoy
|
||||
6qm4Mmv4YdiClRy7NA0lpIRjFeHprj7ZF57tt0vS3yNTaBtVKcUWRwphQvSmcnlF
|
||||
g5TPWu7x8qQ0gaB5BY+J6oJguqQI7kqWoq1xG2FUWq6klBGumFBWJ/ajd7z3ZyOM
|
||||
RwUei6PNsXdBcKeQG8dBKK4D0RUakXWjbTyQYHElr0CH06eoNmKcNQlGc4ACrTnS
|
||||
XgHbkY8kbowDgSx0e7YR4wdtqwgYH7xdcuDyc07iYwL4dWseu8UK5NvSHlXHXvFS
|
||||
C/h8Z0qOalE1ogzL/gW9kgkfWm7O+EOIm1VqgO1Edv15iFySLTynA6bV9lmzLDw=
|
||||
=i4jk
|
||||
-----END PGP MESSAGE-----
|
||||
fp: CD8CE78CB0B3BDD4
|
||||
unencrypted_suffix: _unencrypted
|
||||
version: 3.9.4
|
||||
32
home/environments/niri/mako.nix
Normal file
32
home/environments/niri/mako.nix
Normal file
|
|
@ -0,0 +1,32 @@
|
|||
{
|
||||
config,
|
||||
pkgs,
|
||||
lib,
|
||||
...
|
||||
}: let
|
||||
inherit (config.base16) palette;
|
||||
inherit (lib.modules) mkForce;
|
||||
in {
|
||||
systemd.user.services = {
|
||||
mako = {
|
||||
Unit = {
|
||||
Description = "mako";
|
||||
X-Restart-Triggers = [(toString config.xdg.configFile."mako/config".source)];
|
||||
};
|
||||
Service = {
|
||||
ExecStart = "${pkgs.mako}/bin/mako";
|
||||
Restart = "always";
|
||||
};
|
||||
Install = {WantedBy = ["graphical-session.target"];};
|
||||
};
|
||||
};
|
||||
|
||||
services.mako = mkForce {
|
||||
enable = true;
|
||||
font = "Monaspace Krypton 10";
|
||||
defaultTimeout = 3000;
|
||||
borderColor = palette.base08;
|
||||
backgroundColor = "${palette.base00}BF";
|
||||
textColor = palette.base05;
|
||||
};
|
||||
}
|
||||
89
home/environments/niri/niri.nix
Normal file
89
home/environments/niri/niri.nix
Normal file
|
|
@ -0,0 +1,89 @@
|
|||
{ config, pkgs, lib, ... }: let
|
||||
inherit (lib.meta) getExe;
|
||||
in {
|
||||
home.packages = with pkgs; [
|
||||
wl-clipboard
|
||||
wlr-randr
|
||||
wl-screenrec
|
||||
slurp
|
||||
grim
|
||||
pavucontrol
|
||||
brightnessctl
|
||||
playerctl
|
||||
glib
|
||||
pcmanfm
|
||||
];
|
||||
programs.niri = {
|
||||
settings = {
|
||||
cursor = {
|
||||
inherit (config.home.pointerCursor) size;
|
||||
theme = config.home.pointerCursor.name;
|
||||
};
|
||||
gestures.hot-corners.enable = false;
|
||||
input = {
|
||||
keyboard = {
|
||||
xkb = {
|
||||
options = "compose:rctrl,ctrl:nocaps";
|
||||
};
|
||||
};
|
||||
mouse = {
|
||||
accel-profile = "flat";
|
||||
};
|
||||
touchpad = {
|
||||
dwt = true;
|
||||
dwtp = true;
|
||||
};
|
||||
focus-follows-mouse.enable = true;
|
||||
};
|
||||
layout = {
|
||||
background-color = config.palette.base.hex;
|
||||
gaps = 10;
|
||||
always-center-single-column = true;
|
||||
preset-column-widths = [
|
||||
{ proportion = 0.33333; }
|
||||
{ proportion = 0.5; }
|
||||
{ proportion = 0.66667; }
|
||||
{ proportion = 1.0; }
|
||||
];
|
||||
default-column-width = {
|
||||
proportion = 1.0;
|
||||
};
|
||||
border = {
|
||||
enable = true;
|
||||
width = 2;
|
||||
active.color = config.palette.surface0.hex;
|
||||
inactive.color = config.palette.surface0.hex;
|
||||
urgent.color = config.palette.red.hex;
|
||||
};
|
||||
focus-ring = {
|
||||
enable = false;
|
||||
width = 2;
|
||||
active.color = config.palette.${config.catppuccin.accent}.hex;
|
||||
};
|
||||
shadow = {
|
||||
enable = true;
|
||||
color = config.palette.crust.hex;
|
||||
};
|
||||
};
|
||||
workspaces = {
|
||||
browser = {};
|
||||
chat = {};
|
||||
vidya = {};
|
||||
media = {};
|
||||
};
|
||||
environment = {
|
||||
MOZ_ENABLE_WAYLAND = "1";
|
||||
XDG_CURRENT_DESKTOP = "niri";
|
||||
GDK_BACKEND = "wayland,x11";
|
||||
CLUTTER_BACKEND = "wayland";
|
||||
};
|
||||
xwayland-satellite = {
|
||||
enable = true;
|
||||
path = getExe pkgs.xwayland-satellite-unstable;
|
||||
};
|
||||
prefer-no-csd = true;
|
||||
clipboard.disable-primary = true;
|
||||
hotkey-overlay.skip-at-startup = true;
|
||||
};
|
||||
};
|
||||
}
|
||||
25
home/environments/niri/swayidle.nix
Normal file
25
home/environments/niri/swayidle.nix
Normal file
|
|
@ -0,0 +1,25 @@
|
|||
{ pkgs, config, ... }: {
|
||||
services.swayidle = {
|
||||
enable = true;
|
||||
timeouts = [
|
||||
{
|
||||
timeout = 180;
|
||||
command = "${pkgs.libnotify}/bin/notify-send 'Locking in 5 seconds from now.'";
|
||||
}
|
||||
{
|
||||
timeout = 185;
|
||||
command = "${config.programs.swaylock.package}/bin/swaylock* -f";
|
||||
}
|
||||
{
|
||||
timeout = 600;
|
||||
command = "${config.programs.niri.package}/bin/niri msg action power-off-monitors";
|
||||
}
|
||||
];
|
||||
events = [
|
||||
{
|
||||
event = "before-sleep";
|
||||
command = "${config.programs.swaylock.package}/bin/swaylock* -f";
|
||||
}
|
||||
];
|
||||
};
|
||||
}
|
||||
17
home/environments/niri/swaylock.nix
Normal file
17
home/environments/niri/swaylock.nix
Normal file
|
|
@ -0,0 +1,17 @@
|
|||
{ pkgs, ... }: {
|
||||
programs.swaylock = {
|
||||
enable = true;
|
||||
package = pkgs.swaylock-effects;
|
||||
settings = {
|
||||
screenshots = true;
|
||||
indicator = true;
|
||||
clock = true;
|
||||
grace = 2;
|
||||
fade-in = 2;
|
||||
effect-blur = "7x5";
|
||||
effect-vignette = "0.5:0.5";
|
||||
show-failed-attempts = true;
|
||||
font = "Monaspace Krypton";
|
||||
};
|
||||
};
|
||||
}
|
||||
3
home/environments/niri/swww.nix
Normal file
3
home/environments/niri/swww.nix
Normal file
|
|
@ -0,0 +1,3 @@
|
|||
_: {
|
||||
services.swww.enable = true;
|
||||
}
|
||||
211
home/environments/niri/waybar.nix
Normal file
211
home/environments/niri/waybar.nix
Normal file
|
|
@ -0,0 +1,211 @@
|
|||
_: {
|
||||
programs.waybar = {
|
||||
enable = true;
|
||||
systemd.enable = true;
|
||||
style = ''
|
||||
* {
|
||||
border: none;
|
||||
border-radius: 0;
|
||||
font-family: Monaspace Krypton, monospace;
|
||||
font-size: 13px;
|
||||
min-height: 0;
|
||||
}
|
||||
|
||||
window#waybar {
|
||||
all:unset;
|
||||
}
|
||||
|
||||
|
||||
.modules-left, .modules-right, .modules-center {
|
||||
background: alpha(@base, 0.9);
|
||||
box-shadow: 0px 0px 2px rgba(0,0,0,0.6);
|
||||
color: @text;
|
||||
padding: 5px;
|
||||
margin: 2px 4px;
|
||||
border: 1px solid @lavender;
|
||||
}
|
||||
|
||||
tooltip {
|
||||
background: rgba(43, 48, 59, 0.5);
|
||||
border: 1px solid rgba(100, 114, 125, 0.5);
|
||||
}
|
||||
tooltip label {
|
||||
color: white;
|
||||
}
|
||||
|
||||
#workspaces {
|
||||
border-right: 1px solid @surface2;
|
||||
}
|
||||
|
||||
|
||||
#workspaces button.persistent {
|
||||
background: @theme_unfocused_bg_color;
|
||||
color: @subtext1;
|
||||
}
|
||||
|
||||
#workspaces button {
|
||||
padding: 2px 5px;
|
||||
background: @surface0;
|
||||
border-bottom: 3px solid transparent;
|
||||
}
|
||||
|
||||
#workspaces button.empty {
|
||||
background: @crust;
|
||||
color: @subtext1;
|
||||
}
|
||||
|
||||
#workspaces button.visible {
|
||||
background: @pink;
|
||||
color: @theme_selected_fg_color;
|
||||
border-bottom: 3px solid @rosewater;
|
||||
}
|
||||
|
||||
#workspaces button.urgent {
|
||||
background: @red;
|
||||
color: @theme_selected_fg_color;
|
||||
}
|
||||
|
||||
#workspaces button.active, #workspaces button.focused {
|
||||
background: @theme_selected_bg_color;
|
||||
color: @theme_selected_fg_color;
|
||||
border-bottom: 3px solid white;
|
||||
}
|
||||
|
||||
#window {
|
||||
padding: 0 10px;
|
||||
}
|
||||
|
||||
window#waybar.empty #window {
|
||||
padding: 0px;
|
||||
margin: 0px;
|
||||
}
|
||||
|
||||
#mode, #clock, #battery, #idle_inhibitor, #tray, #wireplumber, #bluetooth, #backlight, #mpris {
|
||||
padding: 0 5px;
|
||||
margin: 0 5px;
|
||||
}
|
||||
|
||||
#mpris {
|
||||
color: @mantle;
|
||||
}
|
||||
|
||||
#mpris.playing {
|
||||
background-color: @lavender;
|
||||
}
|
||||
|
||||
#mpris.paused {
|
||||
background-color: @mauve;
|
||||
}
|
||||
|
||||
#mpris.stopped {
|
||||
background-color: @rosewater;
|
||||
}
|
||||
|
||||
#mode {
|
||||
background: #64727D;
|
||||
border-bottom: 3px solid white;
|
||||
}
|
||||
|
||||
#clock {
|
||||
}
|
||||
|
||||
#battery {
|
||||
}
|
||||
|
||||
#battery.charging {
|
||||
color: white;
|
||||
background-color: #26A65B;
|
||||
}
|
||||
|
||||
@keyframes blink {
|
||||
to {
|
||||
background-color: #ffffff;
|
||||
color: black;
|
||||
}
|
||||
}
|
||||
|
||||
#battery.warning:not(.charging) {
|
||||
background: #f53c3c;
|
||||
color: white;
|
||||
animation-name: blink;
|
||||
animation-duration: 0.5s;
|
||||
animation-timing-function: steps(12);
|
||||
animation-iteration-count: infinite;
|
||||
animation-direction: alternate;
|
||||
}
|
||||
'';
|
||||
settings.main = {
|
||||
layer = "top";
|
||||
position = "top";
|
||||
mode = "dock";
|
||||
exclusive = true;
|
||||
modules-left = [
|
||||
"niri/workspaces"
|
||||
"niri/window"
|
||||
];
|
||||
|
||||
modules-center = [
|
||||
"clock"
|
||||
"mpris"
|
||||
];
|
||||
|
||||
|
||||
modules-right = [
|
||||
"privacy"
|
||||
"bluetooth"
|
||||
"wireplumber"
|
||||
"idle_inhibitor"
|
||||
"power-profiles-daemon"
|
||||
"backlight"
|
||||
"battery"
|
||||
"tray"
|
||||
];
|
||||
|
||||
idle_inhibitor = {
|
||||
format = "idin {icon}";
|
||||
format-icons = {
|
||||
activated = "active";
|
||||
deactivated = "inactive";
|
||||
};
|
||||
};
|
||||
|
||||
bluetooth = {
|
||||
on-click = "blueman-manager";
|
||||
format = "bt {status}";
|
||||
format-connected-battery = "bt {device_alias} {device_battery_percentage}%";
|
||||
format-connected = "bt {num_connections} connected";
|
||||
tooltip-format = "{controller_alias}\t{controller_address}\n\n{num_connections} connected";
|
||||
tooltip-format-connected = "{controller_alias}\t{controller_address}\n\n{num_connections} connected\n\n{device_enumerate}";
|
||||
tooltip-format-enumerate-connected = "{device_alias}\t{device_address}";
|
||||
tooltip-format-enumerate-connected-battery = "{device_alias}\t{device_address}\t{device_battery_percentage}%";
|
||||
};
|
||||
|
||||
wireplumber = {
|
||||
format = "vol {volume}%";
|
||||
max-volume = 150;
|
||||
};
|
||||
backlight = {
|
||||
format = "bl {percent}%";
|
||||
};
|
||||
battery = {
|
||||
format = "bat {capacity}%";
|
||||
format-tooltip = "{power}W, {timeTo}, {health}%";
|
||||
interval = 60;
|
||||
|
||||
states = {
|
||||
warning = 30;
|
||||
critical = 15;
|
||||
};
|
||||
};
|
||||
|
||||
tray = {
|
||||
spacing = 4;
|
||||
};
|
||||
|
||||
clock = {
|
||||
format = "{:%F %H:%M %Z}";
|
||||
interval = 60;
|
||||
};
|
||||
};
|
||||
};
|
||||
}
|
||||
39
home/environments/niri/window-rules.nix
Normal file
39
home/environments/niri/window-rules.nix
Normal file
|
|
@ -0,0 +1,39 @@
|
|||
_: {
|
||||
programs.niri.settings.window-rules = [
|
||||
{
|
||||
draw-border-with-background = false;
|
||||
clip-to-geometry = true;
|
||||
geometry-corner-radius =
|
||||
let
|
||||
r = 5.0;
|
||||
in
|
||||
{
|
||||
bottom-left = r;
|
||||
bottom-right = r;
|
||||
top-left = r;
|
||||
top-right = r;
|
||||
};
|
||||
}
|
||||
|
||||
{
|
||||
matches = [ { app-id = "^firefox$"; } ];
|
||||
open-on-workspace = "browser";
|
||||
}
|
||||
{
|
||||
matches = [
|
||||
{ app-id = "^vesktop$"; }
|
||||
{ app-id = "^discord$"; }
|
||||
{ app-id = "^org.telegram.desktop$"; }
|
||||
];
|
||||
open-on-workspace = "chat";
|
||||
}
|
||||
{
|
||||
matches = [ { app-id = "^steam_app_default$"; } ];
|
||||
open-on-workspace = "vidya";
|
||||
}
|
||||
{
|
||||
matches = [ { app-id = "^spotify$"; } ];
|
||||
open-on-workspace = "media";
|
||||
}
|
||||
];
|
||||
}
|
||||
5
home/environments/niri/wlogout.nix
Normal file
5
home/environments/niri/wlogout.nix
Normal file
|
|
@ -0,0 +1,5 @@
|
|||
_: {
|
||||
programs.wlogout = {
|
||||
enable = true;
|
||||
};
|
||||
}
|
||||
12
home/environments/niri/wofi.nix
Normal file
12
home/environments/niri/wofi.nix
Normal file
|
|
@ -0,0 +1,12 @@
|
|||
_: {
|
||||
programs.wofi = {
|
||||
enable = true;
|
||||
settings = {
|
||||
insensitive = true;
|
||||
allow_images = true;
|
||||
hide_scroll = true;
|
||||
mode = "dmenu";
|
||||
prompt = "";
|
||||
};
|
||||
};
|
||||
}
|
||||
14
home/environments/niri/xdg.nix
Normal file
14
home/environments/niri/xdg.nix
Normal file
|
|
@ -0,0 +1,14 @@
|
|||
_: {
|
||||
xdg = {
|
||||
enable = true;
|
||||
autostart.enable = true;
|
||||
mime.enable = true;
|
||||
|
||||
mimeApps = {
|
||||
enable = true;
|
||||
defaultApplications = {
|
||||
"inode/directory" = "pcmanfm.desktop";
|
||||
};
|
||||
};
|
||||
};
|
||||
}
|
||||
|
|
@ -10,7 +10,8 @@ in {
|
|||
enable = true;
|
||||
scripts = with pkgs.mpvScripts; [
|
||||
sponsorblock
|
||||
paused
|
||||
mpris
|
||||
uosc
|
||||
];
|
||||
config = {
|
||||
profile = "gpu-hq";
|
||||
|
|
|
|||
6
home/profiles/graphical/tealdeer.nix
Normal file
6
home/profiles/graphical/tealdeer.nix
Normal file
|
|
@ -0,0 +1,6 @@
|
|||
_: {
|
||||
programs.tealdeer = {
|
||||
enable = true;
|
||||
settings.updates.auto_update = true;
|
||||
};
|
||||
}
|
||||
|
|
@ -1,47 +0,0 @@
|
|||
{pkgs, ...}: {
|
||||
programs.vscode = {
|
||||
enable = false;
|
||||
extensions = with pkgs.vscode-extensions; [
|
||||
vscodevim.vim
|
||||
catppuccin.catppuccin-vsc
|
||||
kamadorueda.alejandra
|
||||
mkhl.direnv
|
||||
hashicorp.terraform
|
||||
jnoortheen.nix-ide
|
||||
pkgs.outrun
|
||||
];
|
||||
userSettings = {
|
||||
"nix.enableLanguageServer" = true;
|
||||
"workbench.colorTheme" = "Outrun Night";
|
||||
"editor.suggest.preview" = true;
|
||||
"[nix]" = {
|
||||
"editor.defaultFormatter" = "kamadorueda.alejandra";
|
||||
"editor.formatOnPaste" = true;
|
||||
"editor.formatOnSave" = true;
|
||||
"editor.formatOnType" = false;
|
||||
};
|
||||
"files.eol" = "\n";
|
||||
"alejandra.program" = "${pkgs.alejandra}/bin/alejandra";
|
||||
"editor.fontFamily" = ''"Monaspace Krypton", "Font Awesome 6 Free", "Font Awesome 6 Brands"'';
|
||||
"editor.fontLigatures" = true;
|
||||
"terraform.experimentalFeatures.prefillRequiredFields" = true;
|
||||
"terraform.experimentalFeatures.validateOnSave" = true;
|
||||
"terraform.codelens.referenceCount" = true;
|
||||
"go.alternateTools" = {
|
||||
gopls = "${pkgs.gopls}/bin/gopls";
|
||||
};
|
||||
"vim.useSystemClipboard" = true;
|
||||
go = {
|
||||
inlayHints = {
|
||||
assignVariableTypes = true;
|
||||
compositeLiteralFields = true;
|
||||
compositeLiteralTypes = true;
|
||||
constantValues = true;
|
||||
functionTypeParameters = true;
|
||||
parameterNames = true;
|
||||
rangeVariableTypes = true;
|
||||
};
|
||||
};
|
||||
};
|
||||
};
|
||||
}
|
||||
|
|
@ -7,29 +7,28 @@
|
|||
enable = true;
|
||||
package = inputs.wezterm.outputs.packages.${pkgs.system}.default;
|
||||
extraConfig = ''
|
||||
local wezterm = require 'wezterm';
|
||||
return {
|
||||
font = wezterm.font_with_fallback({
|
||||
"Monaspace Krypton",
|
||||
-- <built-in>, BuiltIn
|
||||
"JetBrains Mono",
|
||||
|
||||
-- /nix/store/mc76mhlam0rggcgx3z695025phl07pi1-noto-fonts-color-emoji-2.042/share/fonts/noto/NotoColorEmoji.ttf, FontConfig
|
||||
-- Assumed to have Emoji Presentation
|
||||
-- Pixel sizes: [128]
|
||||
"Noto Color Emoji",
|
||||
|
||||
-- <built-in>, BuiltIn
|
||||
"Symbols Nerd Font Mono",
|
||||
|
||||
}),
|
||||
window_decorations = "TITLE | RESIZE",
|
||||
enable_wayland = false,
|
||||
warn_about_missing_glyphs = false,
|
||||
font_size = 12.0,
|
||||
check_for_updates = false,
|
||||
enable_tab_bar = false
|
||||
}
|
||||
local wezterm = require 'wezterm';
|
||||
local config = {}
|
||||
config.font = wezterm.font_with_fallback({
|
||||
"Monaspace Krypton",
|
||||
"JetBrains Mono",
|
||||
"Noto Color Emoji",
|
||||
"Symbols Nerd Font Mono",
|
||||
})
|
||||
config.window_padding = {
|
||||
left = 8,
|
||||
right = 8,
|
||||
top = 8,
|
||||
bottom = 8,
|
||||
}
|
||||
config.use_fancy_tab_bar = true
|
||||
config.tab_bar_at_bottom = true
|
||||
config.hide_mouse_cursor_when_typing = false
|
||||
config.window_decorations = "TITLE | RESIZE"
|
||||
config.warn_about_missing_glyphs = false
|
||||
config.font_size = 12.0
|
||||
config.check_for_updates = false
|
||||
return config
|
||||
'';
|
||||
};
|
||||
}
|
||||
|
|
|
|||
|
|
@ -4,7 +4,7 @@
|
|||
htop
|
||||
btop
|
||||
# disk usage
|
||||
duc-cli
|
||||
duc
|
||||
# nix formatting
|
||||
nixpkgs-fmt
|
||||
# show type of files
|
||||
|
|
|
|||
|
|
@ -3,6 +3,7 @@
|
|||
config,
|
||||
lib,
|
||||
std,
|
||||
inputs,
|
||||
pkgs,
|
||||
...
|
||||
}: let
|
||||
|
|
@ -119,7 +120,7 @@ in {
|
|||
ZSH_AUTOSUGGEST_HIGHLIGHT_STYLE = "fg=3,bold";
|
||||
ZSH_AUTOSUGGEST_USE_ASYNC = 1;
|
||||
};
|
||||
plugins = with pkgs.zsh-plugins; (list.map (plugin: plugin.zshPlugin) [
|
||||
plugins = with inputs.arcexprs.legacyPackages.${pkgs.system}.zsh-plugins; (list.map (plugin: plugin.zshPlugin) [
|
||||
tab-title
|
||||
vim-mode
|
||||
evil-registers
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue