Initial hyprland setup
This commit is contained in:
10
home.nix
10
home.nix
@@ -37,12 +37,15 @@ with import <nixpkgs> {};
|
||||
# '')
|
||||
|
||||
pkgs.bitwarden
|
||||
pkgs.dunst
|
||||
pkgs.element-desktop
|
||||
pkgs.fd
|
||||
pkgs.fluffychat
|
||||
pkgs.gzip
|
||||
pkgs.htop
|
||||
pkgs.jellyfin-media-player
|
||||
pkgs.keepassxc
|
||||
pkgs.kitty
|
||||
pkgs.less
|
||||
pkgs.ncdu
|
||||
pkgs.pandoc
|
||||
@@ -50,6 +53,8 @@ with import <nixpkgs> {};
|
||||
#pkgs.pytest
|
||||
pkgs.shellcheck
|
||||
pkgs.tmux
|
||||
pkgs.waybar
|
||||
pkgs.wofi
|
||||
pkgs.vlc
|
||||
];
|
||||
|
||||
@@ -93,6 +98,7 @@ with import <nixpkgs> {};
|
||||
|
||||
imports = [
|
||||
./modules/applications/emacs/default.nix
|
||||
./modules/window_managers/hyprland/default.nix
|
||||
];
|
||||
|
||||
programs.bash.enable = true;
|
||||
@@ -187,7 +193,5 @@ with import <nixpkgs> {};
|
||||
};
|
||||
};
|
||||
|
||||
xdg = {
|
||||
enable = true;
|
||||
};
|
||||
xdg.enable = true;
|
||||
}
|
||||
|
||||
@@ -1,8 +1,8 @@
|
||||
{ config, lib, pkgs, ... }:
|
||||
|
||||
let
|
||||
emacs = pkgs.emacs29-pgtk;
|
||||
doomSync = (let
|
||||
emacs = pkgs.emacs;
|
||||
git = pkgs.git;
|
||||
in ''
|
||||
export PATH=${emacs}/bin:${git}/bin:$PATH
|
||||
|
||||
75
modules/window_managers/hyprland/default.nix
Normal file
75
modules/window_managers/hyprland/default.nix
Normal file
@@ -0,0 +1,75 @@
|
||||
{ config, lib, pkgs, ... }:
|
||||
|
||||
{
|
||||
imports = [
|
||||
./hyprpaper.nix
|
||||
];
|
||||
|
||||
|
||||
wayland.windowManager.hyprland = {
|
||||
enable = true;
|
||||
settings = {
|
||||
monitor = ",preferred,auto,1.5";
|
||||
|
||||
"$mod" = "SUPER";
|
||||
"$terminal" = "kitty";
|
||||
"$fileManager" = "dolphin";
|
||||
"$menu" = "wofi --show drun";
|
||||
|
||||
exec-once = [
|
||||
"waybar"
|
||||
"dunst"
|
||||
];
|
||||
|
||||
env = [
|
||||
"XCURSOR_SIZE,24"
|
||||
"HYPRCURSOR_SIZE,24"
|
||||
];
|
||||
|
||||
input = {
|
||||
kb_layout = "us";
|
||||
kb_options = "caps:escape";
|
||||
follow_mouse = 1;
|
||||
touchpad.natural_scroll = false;
|
||||
};
|
||||
|
||||
windowrulev2 = [
|
||||
# I can guess, but I should figure out what this actually does
|
||||
"suppressevent maximize, class:.*"
|
||||
];
|
||||
|
||||
bind =
|
||||
[
|
||||
"SHIFT_$mod, Q, killactive"
|
||||
"SHIFT_$mod, E, exit"
|
||||
"$mod, D, exec, $menu"
|
||||
"$mod, Return, exec, $terminal"
|
||||
"$mod, H, movefocus, l"
|
||||
"$mod, L, movefocus, r"
|
||||
"$mod, K, movefocus, u"
|
||||
"$mod, J, movefocus, d"
|
||||
"SHIFT_$mod, H, swapwindow, l"
|
||||
"SHIFT_$mod, L, swapwindow, r"
|
||||
"SHIFT_$mod, K, swapwindow, u"
|
||||
"SHIFT_$mod, J, swapwindow, d"
|
||||
"$mod, M, fullscreen, 0"
|
||||
]
|
||||
++ (
|
||||
# workspaces
|
||||
# binds $mod + [shift +] {1..10} to [move to] workspace {1..10}
|
||||
builtins.concatLists (builtins.genList (
|
||||
x: let
|
||||
ws = let
|
||||
c = (x + 1) / 10;
|
||||
in
|
||||
builtins.toString (x + 1 - (c * 10));
|
||||
in [
|
||||
"$mod, ${ws}, workspace, ${toString (x + 1)}"
|
||||
"$mod SHIFT, ${ws}, movetoworkspace, ${toString (x + 1)}"
|
||||
]
|
||||
)
|
||||
10)
|
||||
);
|
||||
};
|
||||
};
|
||||
}
|
||||
21
modules/window_managers/hyprland/hyprpaper.nix
Normal file
21
modules/window_managers/hyprland/hyprpaper.nix
Normal file
@@ -0,0 +1,21 @@
|
||||
{ config, lib, pkgs, ... }:
|
||||
|
||||
{
|
||||
services.hyprpaper = {
|
||||
enable = true;
|
||||
settings = {
|
||||
ipc = "on";
|
||||
splash = false;
|
||||
preload = [
|
||||
"${config.xdg.dataHome}/wallpaper.jpg"
|
||||
];
|
||||
wallpaper = [
|
||||
",${config.xdg.dataHome}/wallpaper.jpg"
|
||||
];
|
||||
};
|
||||
};
|
||||
|
||||
xdg.dataFile."wallpaper.jpg" = {
|
||||
source = ./wallpaper.jpg;
|
||||
};
|
||||
}
|
||||
BIN
modules/window_managers/hyprland/wallpaper.jpg
Normal file
BIN
modules/window_managers/hyprland/wallpaper.jpg
Normal file
Binary file not shown.
|
After Width: | Height: | Size: 842 KiB |
Reference in New Issue
Block a user