try hyprland instead
This commit is contained in:
@@ -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";
|
||||
};
|
||||
};
|
||||
}
|
57
modules/home-manager/hyprland-customization.nix
Normal file
57
modules/home-manager/hyprland-customization.nix
Normal 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 = ''
|
||||
# ''
|
||||
|
||||
}
|
35
modules/nixos/hyprland.nix
Normal file
35
modules/nixos/hyprland.nix
Normal 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
|
||||
];
|
||||
|
||||
|
||||
}
|
@@ -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 = "";
|
||||
|
Reference in New Issue
Block a user