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 = {
enable = lib.mkDefault true;
settings = {
StreamLocalBindUnlink = lib.mkDefault "yes";
# lol no
settings.PermitRootLogin = lib.mkDefault "no";
settings.PasswordAuthentication = lib.mkDefault false;
PermitRootLogin = lib.mkDefault "no";
PasswordAuthentication = lib.mkDefault false;
# allow reverse ssh port shit to be public sometimes
settings.GatewayPorts = lib.mkDefault "clientspecified";
extraConfig = ''
StreamLocalBindUnlink yes
'';
GatewayPorts = lib.mkDefault "clientspecified";
};
};
# Use a firewall

View file

@ -26,15 +26,26 @@
noctalia = {
url = "github:noctalia-dev/noctalia-shell";
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 = {
self,
nixpkgs,
niri,
...
} @ inputs: {
overlays.niri = niri.overlays.niri;
nixosModules = let
m = {
ezpassthru = import ./modules/ezpassthru.nix;
@ -42,7 +53,7 @@
fuckingprint = import ./modules/fuckingprint.nix;
workstation = import ./modules/workstation.nix;
ezpw = import ./modules/ezpw.nix;
ezpc = import ./modules/ezpc.nix;
ezpc = import ./modules/ezpc.nix inputs;
};
in
m

View file

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

View file

@ -7,6 +7,11 @@ inputs: {
with lib; let
cfg = config.ezpcusr;
in {
imports = [
inputs.niri.homeModules.niri
inputs.noctalia.homeModules.default
];
options.ezpcusr = {
enable = mkEnableOption "Enable simple PC user config";
@ -66,165 +71,165 @@ in {
};
};
xdg.portal = {
enable = true;
xdgOpenUsePortal = true;
extraPortals = [pkgs.xdg-desktop-portal-hyprland pkgs.xdg-desktop-portal-gtk];
config = {
common.default = ["gtk"];
hyprland.default = ["gtk" "hyprland"];
};
};
services.wpaperd.enable = true;
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;
systemd = {
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
];
package = pkgs.niri-unstable;
settings = {
exec-once = [
"noctalia-shell"
window-rules = [
{ draw-border-with-background = false; }
];
"plugin:dynamic-cursors" = {
shake.enabled = false;
prefer-no-csd = true;
xwayland-satellite = {
enable = true;
path = lib.getExe pkgs.xwayland-satellite-unstable;
};
"plugin:hy3" = {
no_gaps_when_only = 1;
# spawn-at-startup = [
# { argv = ["noctalia-shell"]; }
# ];
clipboard.disable-primary = true;
input = {
focus-follows-mouse.enable = true;
touchpad = {
click-method = "clickfinger";
natural-scroll = false;
};
ecosystem = {
no_update_news = true;
no_donation_nag = true;
};
animations = {
enabled = false;
};
decoration = {
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";
binds = {
"Mod+Return".action.spawn = "${config.programs.foot.package}/bin/foot";
"Mod+q".action = config.lib.niri.actions.close-window;
# "$mod, F, fullscreen, 0"
# "$mod SHIFT, F, fullscreen, 1"
# "$mod, Space, togglefloating"
# "$mod SHIFT, SPACE, exec, hyprctl switchxkblayout all next"
"Mod+d".action.spawn = ["noctalia-shell" "ipc" "call" "launcher" "toggle"];
gaps_in = 6;
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".action.spawn-sh = "grim - | satty -f -";
", 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"
"$mod, equal, exec, noctalia-shell ipc call volume increase"
", XF86AudioLowerVolume, exec, noctalia-shell ipc call volume decrease"
", XF86AudioRaiseVolume, exec, noctalia-shell ipc call volume increase"
"XF86AudioMute".action.spawn = ["noctalia-shell" "ipc" "call" "volume" "mute"];
"XF86AudioMicMute".action.spawn = ["noctalia-shell" "ipc" "call" "volume" "muteInput"];
", XF86AudioMute, exec, noctalia-shell ipc call volume mute"
", XF86AudioMicMute, exec, noctalia-shell ipc call volume muteInput"
", XF86MonBrightnessDown, exec, noctalia-shell ipc call brightness decrease"
", XF86MonBrightnessUp, exec, noctalia-shell ipc call brightness increase"
"$mod, semicolon, exec, noctalia-shell ipc call brightness decrease"
"$mod, apostrophe, exec, noctalia-shell ipc call brightness increase"
"XF86MonBrightnessDown".action.spawn = ["noctalia-shell" "ipc" "call" "brightness" "decrease"];
"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"];
# Previous/next but change the shuffle/random state before action (and change back afterwards)
"$mod&SHIFT, bracketright, exec, ${pkgs.playerctl}/bin/playerctl shuffle Toggle && ${pkgs.playerctl}/bin/playerctl next && ${pkgs.playerctl}/bin/playerctl shuffle Toggle"
"$mod&SHIFT, bracketleft, exec, ${pkgs.playerctl}/bin/playerctl shuffle Toggle && ${pkgs.playerctl}/bin/playerctl previous && ${pkgs.playerctl}/bin/playerctl shuffle Toggle"
"SHIFT, XF86AudioNext, exec, ${pkgs.playerctl}/bin/playerctl shuffle Toggle && ${pkgs.playerctl}/bin/playerctl next && ${pkgs.playerctl}/bin/playerctl shuffle Toggle"
"Mod+Shift+Bracketright".action.spawn-sh = "${pkgs.playerctl}/bin/playerctl shuffle Toggle && ${pkgs.playerctl}/bin/playerctl next && ${pkgs.playerctl}/bin/playerctl shuffle Toggle";
"Mod+Shift+bracketleft".action.spawn-sh = "${pkgs.playerctl}/bin/playerctl shuffle Toggle && ${pkgs.playerctl}/bin/playerctl previous && ${pkgs.playerctl}/bin/playerctl shuffle Toggle";
"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
"$mod, bracketright, exec, noctalia-shell ipc call media next"
"$mod, bracketleft, exec, noctalia-shell ipc call media previous"
", XF86AudioNext, exec, noctalia-shell ipc call media next"
", XF86AudioPrev, exec, noctalia-shell ipc call media previous"
"Mod+Bracketright".action.spawn = ["noctalia-shell" "ipc" "call" "media" "next"];
"Mod+Bracketleft".action.spawn = ["noctalia-shell" "ipc" "call" "media" "previous"];
"XF86AudioNext".action.spawn = ["noctalia-shell" "ipc" "call" "media" "next"];
"XF86AudioPrev".action.spawn = ["noctalia-shell" "ipc" "call" "media" "previous"];
# Seek forward/back
"$mod&Control_L, bracketleft, exec, noctalia-shell ipc call media seekRelative -5"
"$mod&Control_L, bracketright, exec, noctalia-shell ipc call media seekRelative 5"
"Control_L, XF86AudioPrev, exec, noctalia-shell ipc call media seekRelative -5"
"Control_L, XF86AudioNext, exec, noctalia-shell ipc call media seekRelative 5"
"Mod+Control+bracketleft".action.spawn = ["noctalia-shell" "ipc" "call" "media" "seekRelative" "-5"];
"Mod+Control+bracketright".action.spawn = ["noctalia-shell" "ipc" "call" "media" "seekRelative" "5"];
"Control+XF86AudioPrev".action.spawn = ["noctalia-shell" "ipc" "call" "media" "seekRelative" "-5"];
"Control+XF86AudioNext".action.spawn = ["noctalia-shell" "ipc" "call" "media" "seekRelative" "5"];
# Toggle play/pause
", 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"
"XF86AudioPlay".action.spawn = ["noctalia-shell" "ipc" "call" "media" "playPause"];
"XF86AudioPause".action.spawn = ["noctalia-shell" "ipc" "call" "media" "playPause"];
"Mod+Backslash".action.spawn = ["noctalia-shell" "ipc" "call" "media" "playPause"];
"Control_L&Alt_L, l, exec, noctalia-shell ipc call lockScreen lock"
"Control+Alt+l".action.spawn = ["noctalia-shell" "ipc" "call" "lockScreen" "lock"];
"$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+Slash".action = config.lib.niri.actions.show-hotkey-overlay;
"$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+Left".action = config.lib.niri.actions.focus-column-left;
"Mod+Right".action = config.lib.niri.actions.focus-column-right;
"$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+Shift+Left".action = config.lib.niri.actions.move-column-left;
# "Mod+Shift+Right".action = config.lib.niri.actions.move-column-right;
"Mod+Shift+Left".action = config.lib.niri.actions.consume-or-expel-window-left;
"Mod+Shift+Right".action = config.lib.niri.actions.consume-or-expel-window-right;
"$mod, mouse_down, workspace, e-1"
"$mod, mouse_up, workspace, e+1"
]
++ (
"Mod+Down".action = config.lib.niri.actions.focus-window-or-workspace-down;
"Mod+Up".action = config.lib.niri.actions.focus-window-or-workspace-up;
"Mod+Shift+Down".action = config.lib.niri.actions.move-window-down-or-to-workspace-down;
"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
# binds $mod + [shift +] {1..9} to [move to] workspace {1..9}
builtins.concatLists (builtins.genList (
lib.listToAttrs (builtins.concatLists (builtins.genList (
i: let
ws = i + 1;
in [
"$mod, code:1${toString i}, workspace, ${toString ws}"
"$mod SHIFT, code:1${toString i}, movetoworkspace, ${toString ws}"
{ name = "Mod+${toString i}"; value = { action.focus-workspace = i; }; }
{ 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)
);
));
};
};
@ -365,6 +370,8 @@ in {
fonts.fontconfig.enable = lib.mkDefault true;
home.packages = with pkgs; [
nautilus # gnome portal file chooser
wl-clipboard
wtype
ydotool

View file

@ -1,4 +1,4 @@
{
inputs: {
config,
lib,
pkgs,
@ -7,21 +7,30 @@
with lib; let
cfg = config.ezpc;
in {
imports = [inputs.niri.nixosModules.niri];
options.ezpc.enable = mkEnableOption "Enable ezpc system stuff";
config = mkIf cfg.enable {
programs.hyprland.enable = true;
xdg.portal = {
programs.niri = {
enable = true;
xdgOpenUsePortal = true;
extraPortals = [ pkgs.xdg-desktop-portal-hyprland pkgs.xdg-desktop-portal-gtk ];
config = {
common.default = ["gtk"];
hyprland.default = ["gtk" "hyprland"];
};
package = pkgs.niri-unstable;
};
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 = {
QT_QPA_PLATFORM = "wayland;xcb";
MOZ_ENABLE_WAYLAND = "1";
@ -39,7 +48,7 @@ in {
enable = lib.mkDefault true;
settings = {
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-kyocera # mirror is down
cups-kyocera-ecosys-m552x-p502x
# cups-kyocera-ecosys-m552x-p502x # mirror is down
# cups-kyodialog3 # Mirror is down
cups-toshiba-estudio
@ -95,7 +95,7 @@ in {
dsseries.enable = true;
drivers.scanSnap.enable = true;
extraBackends = with pkgs; [
epkowa
# epkowa # borked
hplipWithPlugin
];
};

View file

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