try hyprland instead

This commit is contained in:
2025-01-16 21:26:48 +01:00
parent 03784c606c
commit b22e6ccc91
10 changed files with 1147 additions and 53 deletions

View File

@@ -1,17 +1,25 @@
{pkgs, ...}:
{
# Add a udev rule that launches a backup using restic when a specific USB device (the backup drive) is plugged in
# Add a udev rule that launches a backup using restic when a specific USB device (the backup drive) is plugged in
environment.systemPackages = with pkgs; [
restic
];
services.udev.packages = [
(pkgs.writeTextFile {
name = "bakc";
text = ''
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";
})
];
environment.systemPackages = with pkgs; [
restic
];
# the udev rule:
services.udev.extraRules = ''
ACTION=="add", SUBSYSTEM=="block", ENV{ID_FS_LABEL}=="backup-restic", TAG+="systemd", ENV{SYSTEMD_WANTS}="backup-restic.service"
'';
# 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,57 @@
{inputs, pkgs, ...}:
{
programs.kitty.enable = true;
wayland.windowManager.hyprland = {
enable = true;
settings = {
"$mod" = "SUPER";
bind =
[
"$mod, F, exec, firefox"
"$mod, return, exec, walker"
"$mod_SHIFT, return, exec, kitty"
"$mod_SHIFT, q, kill"
"$mod, s, exec, code"
];
# plugin.virtual-desktops = {
# }
};
plugins = [
# Touch gestures: https://github.com/horriblename/hyprgrass
inputs.hyprgrass.packages.${pkgs.system}.default
# Virtual desktops: https://github.com/levnikmyskin/hyprland-virtual-desktops
# inputs.hyprland-virtual-desktops.packages.${pkgs.system}.virtual-desktops
];
};
programs.walker = {
enable = true;
runAsService = true;
# All options from the config.json can be used here.
config = {
search.placeholder = "Example";
ui.fullscreen = true;
list = {
height = 200;
};
websearch.prefix = "?";
switcher.prefix = "/";
};
# If this is not set the default styling is used.
# style = ''
# * {
# color: #dcd7ba;
# }
# '';
};
# # Set waybar config
# ".config/waybar/config".text = ''
# ''
}

View File

@@ -0,0 +1,35 @@
{
config,
lib,
pkgs,
...
}:
{
programs.uwsm.enable = true;
programs.hyprland = {
enable = true;
xwayland.enable = false;
withUWSM = true;
};
# launch hyprland on login
# systemd.services.hyprland = {
# description = "Hyprland";
# wantedBy = [ "graphical.target" ];
# after = [ "display-manager.service" ];
# serviceConfig = {
# Type = "simple";
# ExecStart = "${pkgs.hyprland}/bin/hyprland";
# Restart = "always";
# RestartSec = "5";
# User = config.var.username;
# };
# };
environment.systemPackages = with pkgs; [
waybar
];
}

View File

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