try hyprland instead

This commit is contained in:
Remy Moll 2025-01-16 21:26:48 +01:00
parent 03784c606c
commit 22e7081e1b
6 changed files with 132 additions and 44 deletions

View File

@ -5,7 +5,7 @@
./configuration.nix ./configuration.nix
./hardware-configuration.nix ./hardware-configuration.nix
../../modules/nixos/flatpak.nix ../../modules/nixos/flatpak.nix
../../modules/nixos/gdm.nix ../../modules/nixos/hyprland.nix
../../modules/nixos/monitoring.nix ../../modules/nixos/monitoring.nix
../../modules/nixos/nvidia.nix ../../modules/nixos/nvidia.nix
../../modules/nixos/pipewire.nix ../../modules/nixos/pipewire.nix

View File

@ -5,13 +5,21 @@
environment.systemPackages = with pkgs; [ environment.systemPackages = with pkgs; [
restic restic
]; ];
services.udev.packages = [
(pkgs.writeTextFile { # the udev rule:
name = "bakc"; services.udev.extraRules = ''
text = '' ACTION=="add", SUBSYSTEM=="block", ENV{ID_FS_LABEL}=="backup-restic", TAG+="systemd", ENV{SYSTEMD_WANTS}="backup-restic.service"
SUBSYSTEMS=="usb", ATTRS{idVendor}=="3297", ATTRS{idProduct}=="1969", MODE="0666", TAG+="uaccess", SYMLINK+="stm32_dfu", GROUP="plugdev"
''; '';
destination = "/etc/udev/rules.d/50-zsa.rules";
}) # the systemd service:
]; systemd.services.backup-restic = {
description = "Backup using restic (triggered when USB drive is plugged in)";
after = [ "local-fs.target" ];
wantedBy = [ "multi-user.target" ];
serviceConfig = {
Type = "oneshot";
# TODO: adapt command
ExecStart = "${pkgs.restic}/bin/restic backup /home/username";
};
};
} }

View File

@ -0,0 +1,65 @@
{pkgs, ...}:
{
wayland.windowManager.hyprland.enable = true;
programs.kitty.enable = true;
wayland.windowManager.hyprland.settings = {
"$mod" = "SUPER";
bind =
[
"$mod, F, exec, firefox"
"$mod, enter, exec, anyrun"
"$mod, shift, enter, exec, kitty"
"$mod, shift, q, kill"
"$mod, s, exec, code"
];
};
wayland.windowManager.hyprland.plugins = [
inputs.hyprland-plugins.packages.${pkgs.stdenv.hostPlatform.system}.hyprbars
inputs.hyprland-plugins.packages.${pkgs.stdenv.hostPlatform.system}.hyprmenu
# Touch gestures: https://github.com/horriblename/hyprgrass
inputs.hyprland-plugins.packages.${pkgs.stdenv.hostPlatform.system}.hyprgrass
# Virtual desktops: https://github.com/levnikmyskin/hyprland-virtual-desktops
inputs.hyprland-plugins.packages.${pkgs.stdenv.hostPlatform.system}.hyprland-virtual-desktops
];
# Use anyrun
programs.anyrun = {
enable = true;
config = {
x = { fraction = 0.5; };
y = { fraction = 0.3; };
width = { fraction = 0.3; };
hideIcons = false;
ignoreExclusiveZones = false;
layer = "overlay";
hidePluginInfo = false;
closeOnClick = false;
showResultsImmediately = false;
maxEntries = null;
plugins = [
# An array of all the plugins you want, which either can be paths to the .so files, or their packages
inputs.anyrun.packages.${pkgs.system}.applications
inputs.anyrun.packages.${pkgs.system}.symbols
];
};
# Inline comments are supported for language injection into
# multi-line strings with Treesitter! (Depends on your editor)
# extraCss = /*css */ ''
# .some_class {
# background: red;
# }
# '';
extraConfigFiles."some-plugin.ron".text = ''
Config(
// for any other plugin
// this file will be put in ~/.config/anyrun/some-plugin.ron
// refer to docs of xdg.configFile for available options
)
'';
};
}

View File

@ -0,0 +1,15 @@
{
config,
lib,
pkgs,
...
}:
{
programs.uwsm.enable = true;
programs.hyprland = {
enable = true;
withUWSM = true;
};
}

View File

@ -17,19 +17,18 @@
enable = true; enable = true;
}; };
hardware.nvidia = { hardware.nvidia = {
prime = { # prime = {
nvidiaBusId = "PCI:1:0:0"; # nvidiaBusId = "PCI:1:0:0";
intelBusId = "PCI:0:2:0"; # intelBusId = "PCI:0:2:0";
# };
};
modesetting.enable = true; modesetting.enable = true;
powerManagement.enable = false; powerManagement.enable = true;
powerManagement.finegrained = false; powerManagement.finegrained = false;
open = false; open = false;
nvidiaSettings = false; nvidiaSettings = false;
package = config.boot.kernelPackages.nvidiaPackages.mkDriver { package = config.boot.kernelPackages.nvidiaPackages.mkDriver {
version = "565.77"; # latest version = "565.77";
sha256_64bit = "sha256-CnqnQsRrzzTXZpgkAtF7PbH9s7wbiTRNcM0SPByzFHw="; sha256_64bit = "sha256-CnqnQsRrzzTXZpgkAtF7PbH9s7wbiTRNcM0SPByzFHw=";
sha256_aarch64 = "sha256-LSAYUnhfnK3rcuPe1dixOwAujSof19kNOfdRHE7bToE="; sha256_aarch64 = "sha256-LSAYUnhfnK3rcuPe1dixOwAujSof19kNOfdRHE7bToE=";
openSha256 = "sha256-Fxo0t61KQDs71YA8u7arY+503wkAc1foaa51vi2Pl5I="; openSha256 = "sha256-Fxo0t61KQDs71YA8u7arY+503wkAc1foaa51vi2Pl5I=";
@ -37,7 +36,7 @@
persistencedSha256 = "sha256-wnDjC099D8d9NJSp9D0CbsL+vfHXyJFYYgU3CwcqKww="; persistencedSha256 = "sha256-wnDjC099D8d9NJSp9D0CbsL+vfHXyJFYYgU3CwcqKww=";
}; };
}; };
# overwrite the blacklists set previously
boot.extraModprobeConfig = ""; boot.extraModprobeConfig = "";
boot.blacklistedKernelModules = []; boot.blacklistedKernelModules = [];
services.udev.extraRules = ""; services.udev.extraRules = "";

View File

@ -6,7 +6,8 @@ with lib.hm.gvariant;
../modules/home-manager/code.nix ../modules/home-manager/code.nix
../modules/home-manager/fish.nix ../modules/home-manager/fish.nix
../modules/home-manager/flatpaks.nix ../modules/home-manager/flatpaks.nix
../modules/home-manager/gnome-shell-customization.nix ../modules/home-manager/hyprland-customization.nix
# ../modules/home-manager/gnome-shell-customization.nix
../modules/home-manager/keepassxc.nix ../modules/home-manager/keepassxc.nix
../modules/home-manager/obsidian.nix ../modules/home-manager/obsidian.nix
../modules/home-manager/owncloud-client.nix ../modules/home-manager/owncloud-client.nix
@ -32,28 +33,28 @@ with lib.hm.gvariant;
}; };
## Gnome keyboard and mouse settings # ## Gnome keyboard and mouse settings
dconf.settings = { # dconf.settings = {
# set the keyboard layout to german # # set the keyboard layout to german
"org/gnome/desktop/input-sources" = { # "org/gnome/desktop/input-sources" = {
current = mkUint32 0; # current = mkUint32 0;
sources = [ (mkTuple [ "xkb" "de" ]) (mkTuple [ "xkb" "ch" ]) (mkTuple [ "xkb" "us" ]) ]; # sources = [ (mkTuple [ "xkb" "de" ]) (mkTuple [ "xkb" "ch" ]) (mkTuple [ "xkb" "us" ]) ];
xkb-options = [ "lv3:ralt_switch" ]; # xkb-options = [ "lv3:ralt_switch" ];
}; # };
"org/gnome/desktop/peripherals/keyboard" = { # "org/gnome/desktop/peripherals/keyboard" = {
numlock-state = true; # numlock-state = true;
}; # };
"org/gnome/desktop/peripherals/mouse" = { # "org/gnome/desktop/peripherals/mouse" = {
natural-scroll = false; # natural-scroll = false;
speed = 0.20851063829787231; # speed = 0.20851063829787231;
}; # };
"org/gnome/desktop/peripherals/touchpad" = { # "org/gnome/desktop/peripherals/touchpad" = {
tap-to-click = true; # tap-to-click = true;
two-finger-scrolling-enabled = true; # two-finger-scrolling-enabled = true;
speed = 0.16872427983539096; # speed = 0.16872427983539096;
}; # };
}; # };
} }