try hyprland instead
This commit is contained in:
parent
03784c606c
commit
22e7081e1b
@ -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
|
||||||
|
@ -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";
|
||||||
|
};
|
||||||
|
};
|
||||||
}
|
}
|
65
modules/home-manager/hyprland-customization.nix
Normal file
65
modules/home-manager/hyprland-customization.nix
Normal 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
|
||||||
|
)
|
||||||
|
'';
|
||||||
|
};
|
||||||
|
}
|
15
modules/nixos/hyprland.nix
Normal file
15
modules/nixos/hyprland.nix
Normal file
@ -0,0 +1,15 @@
|
|||||||
|
{
|
||||||
|
config,
|
||||||
|
lib,
|
||||||
|
pkgs,
|
||||||
|
...
|
||||||
|
}:
|
||||||
|
{
|
||||||
|
programs.uwsm.enable = true;
|
||||||
|
|
||||||
|
programs.hyprland = {
|
||||||
|
enable = true;
|
||||||
|
withUWSM = true;
|
||||||
|
};
|
||||||
|
|
||||||
|
}
|
@ -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 = "";
|
||||||
|
@ -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;
|
||||||
};
|
# };
|
||||||
};
|
# };
|
||||||
}
|
}
|
||||||
|
Loading…
x
Reference in New Issue
Block a user