Compare commits

...

4 commits

Author SHA1 Message Date
fcca655fd5
unpushed portal stuff 2025-07-24 19:11:43 -07:00
8a54335ad1
add nushell and carapace 2025-07-24 19:11:06 -07:00
f556374919
hyprland: enable lock xray 2025-07-24 19:10:28 -07:00
fd41ab7ce5
unpushed udev rules 2025-07-24 19:09:25 -07:00
6 changed files with 61 additions and 13 deletions

View file

@ -40,19 +40,6 @@ in {
trusted-public-keys = [ "hyprland.cachix.org-1:a7pgxzMz7+chwVL3/pzj6jIBMioiJM7ypFP8PwtkuGc=" ]; trusted-public-keys = [ "hyprland.cachix.org-1:a7pgxzMz7+chwVL3/pzj6jIBMioiJM7ypFP8PwtkuGc=" ];
}; };
xdg.portal = {
enable = true;
extraPortals = with pkgs; [
kdePackages.xdg-desktop-portal-kde
];
config.common.default = [
"hyprland"
"kde"
];
};
home-manager.users.${config.main-user} = { home-manager.users.${config.main-user} = {
imports = [ hyprland.homeManagerModules.default ]; imports = [ hyprland.homeManagerModules.default ];
@ -81,6 +68,34 @@ in {
${config.hyprland-session.extraConfig} ${config.hyprland-session.extraConfig}
''; '';
}; };
# MUST be specified under home manager or home manager will silently replace
# configs at the system level.
xdg.portal = {
enable = true;
extraPortals = lib.mkForce (with pkgs; [
xdg-desktop-portal-hyprland
kdePackages.xdg-desktop-portal-kde
]);
configPackages = lib.mkForce [];
config.common = {
default = [ "hyprland" ];
"org.freedesktop.impl.portal.FileChooser" = [ "kde" ];
};
};
# Without this the portal blocks on desktop portals not being ready...
systemd.user.services.plasma-xdg-desktop-portal-kde.Service = {
ExecStart = "${pkgs.kdePackages.xdg-desktop-portal-kde}/libexec/xdg-desktop-portal-kde";
BusName = "org.freedesktop.impl.portal.desktop.kde";
Restart = "no";
Environment = [
"QT_QPA_PLATFORMTHEME="
];
};
}; };
}; };
} }

View file

@ -67,6 +67,7 @@ misc {
disable_hyprland_logo = true disable_hyprland_logo = true
disable_splash_rendering = true disable_splash_rendering = true
key_press_enables_dpms = true key_press_enables_dpms = true
session_lock_xray = true
} }
render { render {

13
modules/shell/default.nix Normal file
View file

@ -0,0 +1,13 @@
{ config, impurity, ... }: {
home-manager.users.${config.main-user} = { config, ... }: {
programs.nushell = {
enable = true;
configFile.text = "source ${impurity.link ./nushell.nu}";
};
programs.carapace = {
enable = true;
enableNushellIntegration = true;
};
};
}

5
modules/shell/nushell.nu Normal file
View file

@ -0,0 +1,5 @@
$env.config.show_banner = false
$env.config.buffer_editor = ["emacsclient", "-c"]
$env.CARAPACE_BRIDGES = ["fish", "zsh", "bash"]
alias e = emacsclient -c

View file

@ -6,6 +6,7 @@
./user ./user
./emacs ./emacs
./zsh ./zsh
./shell
./polkit.nix ./polkit.nix
]; ];

View file

@ -45,4 +45,17 @@
hardware.bluetooth.enable = true; hardware.bluetooth.enable = true;
services.blueman.enable = true; services.blueman.enable = true;
services.udev.extraRules = ''
# usb ethernet dongle
ACTION=="bind", SUBSYSTEM=="usb", ATTR{idVendor}=="0b05", ATTR{idProduct}=="1976", \
RUN+="/bin/sh -c 'echo -n $$KERNEL:2.0 > /sys/bus/usb/drivers/cdc_ncm/unbind'", \
RUN+="${pkgs.kmod}/bin/modprobe r8152", \
RUN+="/bin/sh -c 'echo -n 0b05 1976 > /sys/bus/usb/drivers/r8152/new_id'"
# wch stuff
SUBSYSTEM=="usb", ATTRS{idVendor}=="4348", ATTRS{idProduct}=="55e0", GROUP="wheel"
SUBSYSTEM=="usb", ATTRS{idVendor}=="1a86", ATTRS{idProduct}=="8012", GROUP="wheel"
SUBSYSTEM=="usb", ATTRS{idVendor}=="1a86", ATTRS{idProduct}=="8010", GROUP="wheel"
'';
} }