push up existing set of fixes and wm change

This commit is contained in:
notgne2 2025-11-12 12:11:26 -07:00
parent 9a77331d21
commit 943fceee2d
No known key found for this signature in database
7 changed files with 180 additions and 155 deletions

View file

@ -59,14 +59,14 @@ all: {
services.openssh = { services.openssh = {
enable = lib.mkDefault true; enable = lib.mkDefault true;
# lol no settings = {
settings.PermitRootLogin = lib.mkDefault "no"; StreamLocalBindUnlink = lib.mkDefault "yes";
settings.PasswordAuthentication = lib.mkDefault false; # lol no
# allow reverse ssh port shit to be public sometimes PermitRootLogin = lib.mkDefault "no";
settings.GatewayPorts = lib.mkDefault "clientspecified"; PasswordAuthentication = lib.mkDefault false;
extraConfig = '' # allow reverse ssh port shit to be public sometimes
StreamLocalBindUnlink yes GatewayPorts = lib.mkDefault "clientspecified";
''; };
}; };
# Use a firewall # Use a firewall

View file

@ -26,15 +26,26 @@
noctalia = { noctalia = {
url = "github:noctalia-dev/noctalia-shell"; url = "github:noctalia-dev/noctalia-shell";
inputs.nixpkgs.follows = "nixpkgs"; inputs.nixpkgs.follows = "nixpkgs";
# inputs.quickshell.follows = "quickshell";
}; };
niri = {
url = "github:sodiboo/niri-flake";
inputs.nixpkgs.follows = "nixpkgs";
};
};
nixConfig = {
extra-substituters = [ "https://niri.cachix.org" ];
extra-trusted-public-keys = [ "niri.cachix.org-1:Wv0OmO7PsuocRKzfDoJ3mulSl7Z6oezYhGhR+3W2964=" ];
}; };
outputs = { outputs = {
self, self,
nixpkgs, nixpkgs,
niri,
... ...
} @ inputs: { } @ inputs: {
overlays.niri = niri.overlays.niri;
nixosModules = let nixosModules = let
m = { m = {
ezpassthru = import ./modules/ezpassthru.nix; ezpassthru = import ./modules/ezpassthru.nix;
@ -42,7 +53,7 @@
fuckingprint = import ./modules/fuckingprint.nix; fuckingprint = import ./modules/fuckingprint.nix;
workstation = import ./modules/workstation.nix; workstation = import ./modules/workstation.nix;
ezpw = import ./modules/ezpw.nix; ezpw = import ./modules/ezpw.nix;
ezpc = import ./modules/ezpc.nix; ezpc = import ./modules/ezpc.nix inputs;
}; };
in in
m m

View file

@ -5,7 +5,6 @@ inputs: all: {
... ...
}: { }: {
imports = [ imports = [
inputs.noctalia.homeModules.default
all all
]; ];

View file

@ -7,6 +7,11 @@ inputs: {
with lib; let with lib; let
cfg = config.ezpcusr; cfg = config.ezpcusr;
in { in {
imports = [
inputs.niri.homeModules.niri
inputs.noctalia.homeModules.default
];
options.ezpcusr = { options.ezpcusr = {
enable = mkEnableOption "Enable simple PC user config"; enable = mkEnableOption "Enable simple PC user config";
@ -66,165 +71,165 @@ in {
}; };
}; };
xdg.portal = { services.wpaperd.enable = true;
enable = true;
xdgOpenUsePortal = true;
extraPortals = [pkgs.xdg-desktop-portal-hyprland pkgs.xdg-desktop-portal-gtk];
config = {
common.default = ["gtk"];
hyprland.default = ["gtk" "hyprland"];
};
};
wayland.windowManager.hyprland = { # xdg.portal = {
# config.niri = {
# default = [ "gnome" "gtk" ];
# # "org.freedesktop.impl.portal.Access" = "gtk";
# # "org.freedesktop.impl.portal.Notification" = "gtk";
# # "org.freedesktop.impl.portal.Secret" = "gnome-keyring";
# # "org.freedesktop.impl.portal.FileChooser" = "gtk";
# };
# extraPortals = [ pkgs.xdg-desktop-portal-gtk ];
# };
programs.niri = {
enable = true; enable = true;
systemd = { package = pkgs.niri-unstable;
enable = true;
enableXdgAutostart = true;
};
# package = inputs.hyprland.packages.${pkgs.stdenv.hostPlatform.system}.hyprland;
# portalPackage = inputs.hyprland.packages.${pkgs.stdenv.hostPlatform.system}.xdg-desktop-portal-hyprland;
package = pkgs.hyprland;
portalPackage = pkgs.xdg-desktop-portal-hyprland;
plugins = with pkgs.hyprlandPlugins; [
hy3
hypr-dynamic-cursors
];
settings = { settings = {
exec-once = [ window-rules = [
"noctalia-shell" { draw-border-with-background = false; }
]; ];
"plugin:dynamic-cursors" = { prefer-no-csd = true;
shake.enabled = false; xwayland-satellite = {
enable = true;
path = lib.getExe pkgs.xwayland-satellite-unstable;
}; };
"plugin:hy3" = { # spawn-at-startup = [
no_gaps_when_only = 1; # { argv = ["noctalia-shell"]; }
# ];
clipboard.disable-primary = true;
input = {
focus-follows-mouse.enable = true;
touchpad = {
click-method = "clickfinger";
natural-scroll = false;
};
}; };
ecosystem = { binds = {
no_update_news = true; "Mod+Return".action.spawn = "${config.programs.foot.package}/bin/foot";
no_donation_nag = true; "Mod+q".action = config.lib.niri.actions.close-window;
}; # "$mod, F, fullscreen, 0"
animations = { # "$mod SHIFT, F, fullscreen, 1"
enabled = false; # "$mod, Space, togglefloating"
}; # "$mod SHIFT, SPACE, exec, hyprctl switchxkblayout all next"
decoration = { "Mod+d".action.spawn = ["noctalia-shell" "ipc" "call" "launcher" "toggle"];
shadow.enabled = false;
};
misc = {
disable_hyprland_logo = true;
animate_manual_resizes = true;
animate_mouse_windowdragging = true;
new_window_takes_over_fullscreen = 2;
middle_click_paste = false;
};
general = {
"$mod" = "SUPER";
layout = "hy3";
gaps_in = 6; "Print".action.spawn-sh = "grim - | satty -f -";
gaps_out = 6;
resize_on_border = true;
};
gestures = {
};
bindm = [
"$mod, mouse:272, movewindow"
"$mod, mouse:273, resizewindow"
];
bind =
[
"$mod, Return, exec, ${config.programs.foot.package}/bin/foot"
"$mod, Q, killactive,"
"$mod, F, fullscreen, 0"
"$mod SHIFT, F, fullscreen, 1"
"$mod, Space, togglefloating"
"$mod SHIFT, SPACE, exec, hyprctl switchxkblayout all next"
"$mod, D, exec, noctalia-shell ipc call launcher toggle"
", Print, exec, grim - | satty -f -" "Mod+c".action.spawn = ["noctalia-shell" "ipc" "call" "launcher" "clipboard"];
"$mod, c, exec, noctalia-shell ipc call launcher clipboard" "Mod+Minus".action.spawn = ["noctalia-shell" "ipc" "call" "volume" "decrease"];
"Mod+Equal".action.spawn = ["noctalia-shell" "ipc" "call" "volume" "increase"];
"XF86AudioLowerVolume".action.spawn = ["noctalia-shell" "ipc" "call" "volume" "decrease"];
"XF86AudioRaiseVolume".action.spawn = ["noctalia-shell" "ipc" "call" "volume" "increase"];
"$mod, minus, exec, noctalia-shell ipc call volume decrease" "XF86AudioMute".action.spawn = ["noctalia-shell" "ipc" "call" "volume" "mute"];
"$mod, equal, exec, noctalia-shell ipc call volume increase" "XF86AudioMicMute".action.spawn = ["noctalia-shell" "ipc" "call" "volume" "muteInput"];
", XF86AudioLowerVolume, exec, noctalia-shell ipc call volume decrease"
", XF86AudioRaiseVolume, exec, noctalia-shell ipc call volume increase"
", XF86AudioMute, exec, noctalia-shell ipc call volume mute" "XF86MonBrightnessDown".action.spawn = ["noctalia-shell" "ipc" "call" "brightness" "decrease"];
", XF86AudioMicMute, exec, noctalia-shell ipc call volume muteInput" "XF86MonBrightnessUp".action.spawn = ["noctalia-shell" "ipc" "call" "brightness" "increase"];
"Mod+Semicolon".action.spawn = ["noctalia-shell" "ipc" "call" "brightness" "decrease"];
"Mod+Apostrophe".action.spawn = ["noctalia-shell" "ipc" "call" "brightness" "increase"];
", XF86MonBrightnessDown, exec, noctalia-shell ipc call brightness decrease" # Previous/next but change the shuffle/random state before action (and change back afterwards)
", XF86MonBrightnessUp, exec, noctalia-shell ipc call brightness increase" "Mod+Shift+Bracketright".action.spawn-sh = "${pkgs.playerctl}/bin/playerctl shuffle Toggle && ${pkgs.playerctl}/bin/playerctl next && ${pkgs.playerctl}/bin/playerctl shuffle Toggle";
"$mod, semicolon, exec, noctalia-shell ipc call brightness decrease" "Mod+Shift+bracketleft".action.spawn-sh = "${pkgs.playerctl}/bin/playerctl shuffle Toggle && ${pkgs.playerctl}/bin/playerctl previous && ${pkgs.playerctl}/bin/playerctl shuffle Toggle";
"$mod, apostrophe, exec, noctalia-shell ipc call brightness increase" "Shift+XF86AudioNext".action.spawn-sh = "${pkgs.playerctl}/bin/playerctl shuffle Toggle && ${pkgs.playerctl}/bin/playerctl next && ${pkgs.playerctl}/bin/playerctl shuffle Toggle";
"Shift+XF86AudioPrev".action.spawn-sh = "${pkgs.playerctl}/bin/playerctl shuffle Toggle && ${pkgs.playerctl}/bin/playerctl pref && ${pkgs.playerctl}/bin/playerctl shuffle Toggle";
# Previous/next but change the shuffle/random state before action (and change back afterwards) # Previous/next
"$mod&SHIFT, bracketright, exec, ${pkgs.playerctl}/bin/playerctl shuffle Toggle && ${pkgs.playerctl}/bin/playerctl next && ${pkgs.playerctl}/bin/playerctl shuffle Toggle" "Mod+Bracketright".action.spawn = ["noctalia-shell" "ipc" "call" "media" "next"];
"$mod&SHIFT, bracketleft, exec, ${pkgs.playerctl}/bin/playerctl shuffle Toggle && ${pkgs.playerctl}/bin/playerctl previous && ${pkgs.playerctl}/bin/playerctl shuffle Toggle" "Mod+Bracketleft".action.spawn = ["noctalia-shell" "ipc" "call" "media" "previous"];
"SHIFT, XF86AudioNext, exec, ${pkgs.playerctl}/bin/playerctl shuffle Toggle && ${pkgs.playerctl}/bin/playerctl next && ${pkgs.playerctl}/bin/playerctl shuffle Toggle" "XF86AudioNext".action.spawn = ["noctalia-shell" "ipc" "call" "media" "next"];
"XF86AudioPrev".action.spawn = ["noctalia-shell" "ipc" "call" "media" "previous"];
# Previous/next # Seek forward/back
"$mod, bracketright, exec, noctalia-shell ipc call media next" "Mod+Control+bracketleft".action.spawn = ["noctalia-shell" "ipc" "call" "media" "seekRelative" "-5"];
"$mod, bracketleft, exec, noctalia-shell ipc call media previous" "Mod+Control+bracketright".action.spawn = ["noctalia-shell" "ipc" "call" "media" "seekRelative" "5"];
", XF86AudioNext, exec, noctalia-shell ipc call media next" "Control+XF86AudioPrev".action.spawn = ["noctalia-shell" "ipc" "call" "media" "seekRelative" "-5"];
", XF86AudioPrev, exec, noctalia-shell ipc call media previous" "Control+XF86AudioNext".action.spawn = ["noctalia-shell" "ipc" "call" "media" "seekRelative" "5"];
# Seek forward/back # Toggle play/pause
"$mod&Control_L, bracketleft, exec, noctalia-shell ipc call media seekRelative -5" "XF86AudioPlay".action.spawn = ["noctalia-shell" "ipc" "call" "media" "playPause"];
"$mod&Control_L, bracketright, exec, noctalia-shell ipc call media seekRelative 5" "XF86AudioPause".action.spawn = ["noctalia-shell" "ipc" "call" "media" "playPause"];
"Control_L, XF86AudioPrev, exec, noctalia-shell ipc call media seekRelative -5" "Mod+Backslash".action.spawn = ["noctalia-shell" "ipc" "call" "media" "playPause"];
"Control_L, XF86AudioNext, exec, noctalia-shell ipc call media seekRelative 5"
# Toggle play/pause "Control+Alt+l".action.spawn = ["noctalia-shell" "ipc" "call" "lockScreen" "lock"];
", XF86AudioPlay, exec, noctalia-shell ipc call media playPause"
", XF86AudioPause, exec, noctalia-shell ipc call media playPause"
"$mod, backslash, exec, noctalia-shell ipc call media playPause"
"Control_L&Alt_L, l, exec, noctalia-shell ipc call lockScreen lock" "Mod+Shift+Slash".action = config.lib.niri.actions.show-hotkey-overlay;
"$mod, left, hy3:movefocus, l" "Mod+Left".action = config.lib.niri.actions.focus-column-left;
"$mod, right, hy3:movefocus, r" "Mod+Right".action = config.lib.niri.actions.focus-column-right;
"$mod, up, hy3:movefocus, u"
"$mod, down, hy3:movefocus, d"
"$mod, h, hy3:movefocus, l"
"$mod, j, hy3:movefocus, d"
"$mod, k, hy3:movefocus, u"
"$mod, l, hy3:movefocus, r"
"$mod SHIFT, left, hy3:movewindow, l" # "Mod+Shift+Left".action = config.lib.niri.actions.move-column-left;
"$mod SHIFT, right, hy3:movewindow, r" # "Mod+Shift+Right".action = config.lib.niri.actions.move-column-right;
"$mod SHIFT, up, hy3:movewindow, u" "Mod+Shift+Left".action = config.lib.niri.actions.consume-or-expel-window-left;
"$mod SHIFT, down, hy3:movewindow, d" "Mod+Shift+Right".action = config.lib.niri.actions.consume-or-expel-window-right;
"$mod SHIFT, h, hy3:movewindow, l"
"$mod SHIFT, j, hy3:movewindow, d"
"$mod SHIFT, k, hy3:movewindow, u"
"$mod SHIFT, l, hy3:movewindow, r"
"$mod CTRL, left, resizeactive, -80 0" "Mod+Down".action = config.lib.niri.actions.focus-window-or-workspace-down;
"$mod CTRL, right, resizeactive, 80 0" "Mod+Up".action = config.lib.niri.actions.focus-window-or-workspace-up;
"$mod CTRL, up, resizeactive, 0 -80"
"$mod CTRL, down, resizeactive, 0 80"
"$mod CTRL, h, resizeactive, -80 0"
"$mod CTRL, j, resizeactive, 0 80"
"$mod CTRL, k, resizeactive, 0 -80"
"$mod CTRL, l, resizeactive, 80 0"
"$mod, mouse_down, workspace, e-1" "Mod+Shift+Down".action = config.lib.niri.actions.move-window-down-or-to-workspace-down;
"$mod, mouse_up, workspace, e+1" "Mod+Shift+Up".action = config.lib.niri.actions.move-window-up-or-to-workspace-up;
]
++ ( # "Mod+Control+Left".action = config.lib.niri.actions.consume-or-expel-window-left;
# "Mod+Control+Right".action = config.lib.niri.actions.consume-or-expel-window-right;
"Mod+Space".action = config.lib.niri.actions.toggle-window-floating;
"Mod+F".action = config.lib.niri.actions.fullscreen-window;
"Mod+M".action = config.lib.niri.actions.maximize-column;
"Mod+O".action = config.lib.niri.actions.toggle-overview;
# "$mod, left, hy3:movefocus, l"
# "$mod, right, hy3:movefocus, r"
# "$mod, up, hy3:movefocus, u"
# "$mod, down, hy3:movefocus, d"
# "$mod, h, hy3:movefocus, l"
# "$mod, j, hy3:movefocus, d"
# "$mod, k, hy3:movefocus, u"
# "$mod, l, hy3:movefocus, r"
# "$mod SHIFT, left, hy3:movewindow, l"
# "$mod SHIFT, right, hy3:movewindow, r"
# "$mod SHIFT, up, hy3:movewindow, u"
# "$mod SHIFT, down, hy3:movewindow, d"
# "$mod SHIFT, h, hy3:movewindow, l"
# "$mod SHIFT, j, hy3:movewindow, d"
# "$mod SHIFT, k, hy3:movewindow, u"
# "$mod SHIFT, l, hy3:movewindow, r"
# "$mod CTRL, left, resizeactive, -80 0"
# "$mod CTRL, right, resizeactive, 80 0"
# "$mod CTRL, up, resizeactive, 0 -80"
# "$mod CTRL, down, resizeactive, 0 80"
# "$mod CTRL, h, resizeactive, -80 0"
# "$mod CTRL, j, resizeactive, 0 80"
# "$mod CTRL, k, resizeactive, 0 -80"
# "$mod CTRL, l, resizeactive, 80 0"
# "$mod, mouse_down, workspace, e-1"
# "$mod, mouse_up, workspace, e+1"
}
// (
# workspaces # workspaces
# binds $mod + [shift +] {1..9} to [move to] workspace {1..9} # binds $mod + [shift +] {1..9} to [move to] workspace {1..9}
builtins.concatLists (builtins.genList ( lib.listToAttrs (builtins.concatLists (builtins.genList (
i: let i: let
ws = i + 1; ws = i + 1;
in [ in [
"$mod, code:1${toString i}, workspace, ${toString ws}" { name = "Mod+${toString i}"; value = { action.focus-workspace = i; }; }
"$mod SHIFT, code:1${toString i}, movetoworkspace, ${toString ws}" { name = "Mod+Shift+${toString i}"; value = { action.move-window-to-workspace = i; }; }
# "$mod, code:1${toString i}, workspace, ${toString ws}"
# "$mod SHIFT, code:1${toString i}, movetoworkspace, ${toString ws}"
] ]
) )
9) 9)
); ));
}; };
}; };
@ -365,6 +370,8 @@ in {
fonts.fontconfig.enable = lib.mkDefault true; fonts.fontconfig.enable = lib.mkDefault true;
home.packages = with pkgs; [ home.packages = with pkgs; [
nautilus # gnome portal file chooser
wl-clipboard wl-clipboard
wtype wtype
ydotool ydotool

View file

@ -1,4 +1,4 @@
{ inputs: {
config, config,
lib, lib,
pkgs, pkgs,
@ -7,21 +7,30 @@
with lib; let with lib; let
cfg = config.ezpc; cfg = config.ezpc;
in { in {
imports = [inputs.niri.nixosModules.niri];
options.ezpc.enable = mkEnableOption "Enable ezpc system stuff"; options.ezpc.enable = mkEnableOption "Enable ezpc system stuff";
config = mkIf cfg.enable { config = mkIf cfg.enable {
programs.hyprland.enable = true; programs.niri = {
xdg.portal = {
enable = true; enable = true;
xdgOpenUsePortal = true; package = pkgs.niri-unstable;
extraPortals = [ pkgs.xdg-desktop-portal-hyprland pkgs.xdg-desktop-portal-gtk ];
config = {
common.default = ["gtk"];
hyprland.default = ["gtk" "hyprland"];
};
}; };
niri-flake.cache.enable = false;
services.gnome.gnome-keyring.enable = lib.mkForce false;
# xdg.portal = {
# config.niri = {
# default = [ "gnome" "gtk" ];
# # "org.freedesktop.impl.portal.Access" = "gtk";
# # "org.freedesktop.impl.portal.Notification" = "gtk";
# # "org.freedesktop.impl.portal.Secret" = "gnome-keyring";
# # "org.freedesktop.impl.portal.FileChooser" = "gtk";
# };
# extraPortals = [ pkgs.xdg-desktop-portal-gtk ];
# };
environment.sessionVariables = { environment.sessionVariables = {
QT_QPA_PLATFORM = "wayland;xcb"; QT_QPA_PLATFORM = "wayland;xcb";
MOZ_ENABLE_WAYLAND = "1"; MOZ_ENABLE_WAYLAND = "1";
@ -39,7 +48,7 @@ in {
enable = lib.mkDefault true; enable = lib.mkDefault true;
settings = { settings = {
default_session = { default_session = {
command = lib.mkDefault "${pkgs.tuigreet}/bin/tuigreet --time --user-menu --user-menu-max-uid 30000 --cmd hyprland"; command = lib.mkDefault "${pkgs.tuigreet}/bin/tuigreet --time --user-menu --user-menu-max-uid 30000 --cmd niri-session";
}; };
}; };
}; };

View file

@ -55,7 +55,7 @@ in {
cups-dymo cups-dymo
# cups-kyocera # mirror is down # cups-kyocera # mirror is down
cups-kyocera-ecosys-m552x-p502x # cups-kyocera-ecosys-m552x-p502x # mirror is down
# cups-kyodialog3 # Mirror is down # cups-kyodialog3 # Mirror is down
cups-toshiba-estudio cups-toshiba-estudio
@ -95,7 +95,7 @@ in {
dsseries.enable = true; dsseries.enable = true;
drivers.scanSnap.enable = true; drivers.scanSnap.enable = true;
extraBackends = with pkgs; [ extraBackends = with pkgs; [
epkowa # epkowa # borked
hplipWithPlugin hplipWithPlugin
]; ];
}; };

View file

@ -159,7 +159,6 @@ in {
"libvirtd" # run VMs through libvirt "libvirtd" # run VMs through libvirt
"kvm" # run KVM VMs "kvm" # run KVM VMs
"lxd" # use LXD containers "lxd" # use LXD containers
"sway" # run sway.. I guess?
"wheel" # sudo "wheel" # sudo
"networkmanager" # use networkmanager? "networkmanager" # use networkmanager?
"docker" # docker permission (basically the same as `wheel`) "docker" # docker permission (basically the same as `wheel`)