Hyprland updates
This commit is contained in:
parent
782bf9b1eb
commit
040e7286c0
112
flake.lock
112
flake.lock
|
@ -115,7 +115,7 @@
|
|||
"inputs": {
|
||||
"flake-parts": "flake-parts_3",
|
||||
"haskell-flake": "haskell-flake",
|
||||
"nixpkgs": "nixpkgs"
|
||||
"nixpkgs": "nixpkgs_2"
|
||||
},
|
||||
"locked": {
|
||||
"lastModified": 1686721748,
|
||||
|
@ -173,6 +173,48 @@
|
|||
"type": "github"
|
||||
}
|
||||
},
|
||||
"hyprland": {
|
||||
"inputs": {
|
||||
"hyprland-protocols": "hyprland-protocols",
|
||||
"nixpkgs": "nixpkgs",
|
||||
"wlroots": "wlroots",
|
||||
"xdph": "xdph"
|
||||
},
|
||||
"locked": {
|
||||
"lastModified": 1688653598,
|
||||
"narHash": "sha256-gLNu5/SEw3gg5SjuAfkwFSR473Wnc6GaFvS7kmySi7A=",
|
||||
"owner": "hyprwm",
|
||||
"repo": "Hyprland",
|
||||
"rev": "e632bf176b04968ca6a22f6e5d5f1a7bf77b6fa6",
|
||||
"type": "github"
|
||||
},
|
||||
"original": {
|
||||
"owner": "hyprwm",
|
||||
"repo": "Hyprland",
|
||||
"type": "github"
|
||||
}
|
||||
},
|
||||
"hyprland-protocols": {
|
||||
"inputs": {
|
||||
"nixpkgs": [
|
||||
"hyprland",
|
||||
"nixpkgs"
|
||||
]
|
||||
},
|
||||
"locked": {
|
||||
"lastModified": 1684265364,
|
||||
"narHash": "sha256-AxNnWbthsuNx73HDQr0eBxrcE3+yfl/WsaXZqUFmkpQ=",
|
||||
"owner": "hyprwm",
|
||||
"repo": "hyprland-protocols",
|
||||
"rev": "8c279b9fb0f2b031427dc5ef4eab53f2ed835530",
|
||||
"type": "github"
|
||||
},
|
||||
"original": {
|
||||
"owner": "hyprwm",
|
||||
"repo": "hyprland-protocols",
|
||||
"type": "github"
|
||||
}
|
||||
},
|
||||
"neovim-flake": {
|
||||
"inputs": {
|
||||
"flake-utils": "flake-utils",
|
||||
|
@ -223,11 +265,11 @@
|
|||
},
|
||||
"nixpkgs": {
|
||||
"locked": {
|
||||
"lastModified": 1686501370,
|
||||
"narHash": "sha256-G0WuM9fqTPRc2URKP9Lgi5nhZMqsfHGrdEbrLvAPJcg=",
|
||||
"lastModified": 1688500189,
|
||||
"narHash": "sha256-djYYiY4lzJOlXOnTHytH6BUugrxHDZjuGxTSrU4gt4M=",
|
||||
"owner": "NixOS",
|
||||
"repo": "nixpkgs",
|
||||
"rev": "75a5ebf473cd60148ba9aec0d219f72e5cf52519",
|
||||
"rev": "78419edadf0fabbe5618643bd850b2f2198ed060",
|
||||
"type": "github"
|
||||
},
|
||||
"original": {
|
||||
|
@ -256,6 +298,22 @@
|
|||
}
|
||||
},
|
||||
"nixpkgs_2": {
|
||||
"locked": {
|
||||
"lastModified": 1686501370,
|
||||
"narHash": "sha256-G0WuM9fqTPRc2URKP9Lgi5nhZMqsfHGrdEbrLvAPJcg=",
|
||||
"owner": "NixOS",
|
||||
"repo": "nixpkgs",
|
||||
"rev": "75a5ebf473cd60148ba9aec0d219f72e5cf52519",
|
||||
"type": "github"
|
||||
},
|
||||
"original": {
|
||||
"owner": "NixOS",
|
||||
"ref": "nixos-unstable",
|
||||
"repo": "nixpkgs",
|
||||
"type": "github"
|
||||
}
|
||||
},
|
||||
"nixpkgs_3": {
|
||||
"locked": {
|
||||
"lastModified": 1688231357,
|
||||
"narHash": "sha256-ZOn16X5jZ6X5ror58gOJAxPfFLAQhZJ6nOUeS4tfFwo=",
|
||||
|
@ -274,8 +332,9 @@
|
|||
"root": {
|
||||
"inputs": {
|
||||
"home-manager": "home-manager",
|
||||
"hyprland": "hyprland",
|
||||
"neovim-nightly-overlay": "neovim-nightly-overlay",
|
||||
"nixpkgs": "nixpkgs_2",
|
||||
"nixpkgs": "nixpkgs_3",
|
||||
"wallpapers": "wallpapers"
|
||||
}
|
||||
},
|
||||
|
@ -308,6 +367,49 @@
|
|||
"type": "git",
|
||||
"url": "https://git.xenia.me.uk/xenia/wallpapers.git"
|
||||
}
|
||||
},
|
||||
"wlroots": {
|
||||
"flake": false,
|
||||
"locked": {
|
||||
"host": "gitlab.freedesktop.org",
|
||||
"lastModified": 1686753331,
|
||||
"narHash": "sha256-KovjVFwcuoUO0eu/UiWrnD3+m/K+SHSAVIz4xF9K1XA=",
|
||||
"owner": "wlroots",
|
||||
"repo": "wlroots",
|
||||
"rev": "7e7633abf09b362d0bad9e3fc650fd692369291d",
|
||||
"type": "gitlab"
|
||||
},
|
||||
"original": {
|
||||
"host": "gitlab.freedesktop.org",
|
||||
"owner": "wlroots",
|
||||
"repo": "wlroots",
|
||||
"type": "gitlab"
|
||||
}
|
||||
},
|
||||
"xdph": {
|
||||
"inputs": {
|
||||
"hyprland-protocols": [
|
||||
"hyprland",
|
||||
"hyprland-protocols"
|
||||
],
|
||||
"nixpkgs": [
|
||||
"hyprland",
|
||||
"nixpkgs"
|
||||
]
|
||||
},
|
||||
"locked": {
|
||||
"lastModified": 1685385764,
|
||||
"narHash": "sha256-r+XMyOoRXq+hlfjayb+fyi9kq2JK48TrwuNIAXqlj7U=",
|
||||
"owner": "hyprwm",
|
||||
"repo": "xdg-desktop-portal-hyprland",
|
||||
"rev": "4d9ff0c17716936e0b5ca577a39e263633901ed1",
|
||||
"type": "github"
|
||||
},
|
||||
"original": {
|
||||
"owner": "hyprwm",
|
||||
"repo": "xdg-desktop-portal-hyprland",
|
||||
"type": "github"
|
||||
}
|
||||
}
|
||||
},
|
||||
"root": "root",
|
||||
|
|
64
flake.nix
64
flake.nix
|
@ -12,6 +12,7 @@
|
|||
url = "github:nix-community/neovim-nightly-overlay";
|
||||
inputs.nixpkgs.follows = "nixpkgs";
|
||||
};
|
||||
hyprland.url = "github:hyprwm/Hyprland";
|
||||
};
|
||||
|
||||
outputs = {
|
||||
|
@ -19,9 +20,10 @@
|
|||
home-manager,
|
||||
wallpapers,
|
||||
neovim-nightly-overlay,
|
||||
hyprland,
|
||||
...
|
||||
}: let
|
||||
home-config = {
|
||||
home-manager-config = {
|
||||
imports = [home-manager.nixosModules.home-manager];
|
||||
home-manager = {
|
||||
useGlobalPkgs = true;
|
||||
|
@ -36,6 +38,34 @@
|
|||
};
|
||||
};
|
||||
};
|
||||
services = {pkgs, ...}: {
|
||||
environment.systemPackages = with pkgs; [
|
||||
gsettings-desktop-schemas
|
||||
pavucontrol
|
||||
pamixer
|
||||
pulseaudio
|
||||
grim
|
||||
slurp
|
||||
];
|
||||
security.pam.services.swaylock = {};
|
||||
programs.thunar = {
|
||||
enable = true;
|
||||
plugins = with pkgs.xfce; [
|
||||
thunar-archive-plugin
|
||||
thunar-volman
|
||||
];
|
||||
};
|
||||
services = {
|
||||
blueman.enable = true;
|
||||
gvfs.enable = true;
|
||||
tumbler.enable = true;
|
||||
};
|
||||
};
|
||||
waybar-experimental-overlay = final: prev: {
|
||||
waybar = prev.waybar.overrideAttrs (oldAttrs: {
|
||||
mesonFlags = oldAttrs.mesonFlags ++ ["-Dexperimental=true"];
|
||||
});
|
||||
};
|
||||
in {
|
||||
nixosConfigurations = {
|
||||
Legion = nixpkgs.lib.nixosSystem {
|
||||
|
@ -44,7 +74,7 @@
|
|||
config.allowUnfree = true;
|
||||
};
|
||||
modules = [
|
||||
home-config
|
||||
home-manager-config
|
||||
./hosts/Legion
|
||||
./services/Legion.nix
|
||||
{
|
||||
|
@ -66,7 +96,7 @@
|
|||
overlays = [neovim-nightly-overlay.overlay];
|
||||
};
|
||||
modules = [
|
||||
home-config
|
||||
home-manager-config
|
||||
./hosts/Vanguard
|
||||
./desktop/bspwm.nix
|
||||
./desktop/awesome.nix
|
||||
|
@ -115,22 +145,24 @@
|
|||
pkgs = import nixpkgs {
|
||||
system = "x86_64-linux";
|
||||
config.allowUnfree = true;
|
||||
overlays = [neovim-nightly-overlay.overlay];
|
||||
overlays = [
|
||||
waybar-experimental-overlay
|
||||
neovim-nightly-overlay.overlay
|
||||
];
|
||||
};
|
||||
modules = [
|
||||
home-config
|
||||
home-manager-config
|
||||
services
|
||||
hyprland.nixosModules.default
|
||||
./hosts/Ronin
|
||||
./desktop/bspwm.nix
|
||||
./services/syncthing/Ronin.nix
|
||||
({pkgs, ...}: {
|
||||
services.xserver.displayManager = {
|
||||
autoLogin.user = "elitherl";
|
||||
defaultSession = "xfce+bspwm";
|
||||
};
|
||||
programs.hyprland.enable = true;
|
||||
home-manager.users.elitherl = {
|
||||
imports = [
|
||||
hyprland.homeManagerModules.default
|
||||
./home/work.nix
|
||||
./home/desktop/bspwm.nix
|
||||
./home/desktop/hyprland.nix
|
||||
./home/gui
|
||||
];
|
||||
home = {
|
||||
|
@ -139,6 +171,16 @@
|
|||
stateVersion = "22.11";
|
||||
};
|
||||
programs.neovim.package = pkgs.neovim-nightly;
|
||||
xdg.configFile."hypr/hyprpaper.conf".text = ''
|
||||
preload = ${wallpapers.outputs.default}
|
||||
wallpaper = ,${wallpapers.outputs.default}
|
||||
'';
|
||||
xdg.configFile."hypr/extra.conf".text = ''
|
||||
monitor=desc:Iiyama North America PLB2403WS 0574281251316,1920x1200,0x185,1
|
||||
monitor=desc:Dell Inc. DELL U2417H 5K9YD872FY1L,1920x1080,1920x0,1,transform,1
|
||||
monitor=eDP-1,disable
|
||||
monitor=,preferred,auto,auto
|
||||
'';
|
||||
xsession.windowManager.bspwm.extraConfig = ''
|
||||
if [[ "$(xrandr --query | grep -E '^DP-1-1 connected')" ]]; then
|
||||
xrandr --output eDP-1 --off\
|
||||
|
|
|
@ -1,8 +1,28 @@
|
|||
{
|
||||
pkgs,
|
||||
lib,
|
||||
config,
|
||||
...
|
||||
}: {
|
||||
}: let
|
||||
configure-gtk = pkgs.writeTextFile {
|
||||
name = "configure-gtk";
|
||||
destination = "/bin/configure-gtk";
|
||||
executable = true;
|
||||
text = let
|
||||
schema = pkgs.gsettings-desktop-schemas;
|
||||
datadir = "${schema}/share/gsettings-schemas/${schema.name}";
|
||||
gtk-theme = config.gtk.theme.name;
|
||||
icon-theme = config.gtk.iconTheme.name;
|
||||
cursor-theme = config.gtk.cursorTheme.name;
|
||||
in ''
|
||||
export XDG_DATA_DIRS=${datadir}:$XDG_DATA_DIRS
|
||||
gnome_schema=org.gnome.desktop.interface
|
||||
gsettings set $gnome_schema gtk-theme '${gtk-theme}'
|
||||
gsettings set $gnome_schema icon-theme '${icon-theme}'
|
||||
gsettings set $gnome_schema cursor-theme '${cursor-theme}'
|
||||
'';
|
||||
};
|
||||
in {
|
||||
imports = [
|
||||
./swaylock.nix
|
||||
./waybar.nix
|
||||
|
@ -10,6 +30,15 @@
|
|||
./dunst.nix
|
||||
./rofi.nix
|
||||
];
|
||||
home.packages = with pkgs; [
|
||||
hyprpaper
|
||||
configure-gtk
|
||||
pipewire
|
||||
wireplumber
|
||||
wl-clipboard
|
||||
swayimg
|
||||
brightnessctl
|
||||
];
|
||||
programs.firefox.package = pkgs.firefox-wayland;
|
||||
programs.rofi.package = pkgs.rofi-wayland;
|
||||
wayland.windowManager.hyprland = {
|
||||
|
@ -19,9 +48,7 @@
|
|||
enable = true;
|
||||
hidpi = true;
|
||||
};
|
||||
extraConfig = lib.mkDefault ''source=./common.conf '';
|
||||
};
|
||||
xdg.configFile."hypr/common.conf".text = ''
|
||||
extraConfig = ''
|
||||
monitor = ,preferred,auto,auto
|
||||
exec-once = waybar & hyprpaper & dunst
|
||||
source = ./macchiato.conf
|
||||
|
@ -85,11 +112,12 @@
|
|||
# See https://wiki.hyprland.org/Configuring/Keywords/ for more
|
||||
bind = SUPER, Return, exec, wezterm
|
||||
bind = SUPER, Space, exec, pkill rofi || rofi -show drun
|
||||
bind = SUPER, W, exec, firefox
|
||||
bind = SUPER, E, exec, thunar
|
||||
bind = SUPER, Q, killactive,
|
||||
bind = SUPER, P, exec, swaylock
|
||||
bind = SUPER, M, fullscreen, 0
|
||||
bind = SUPER SHIFT, M, fullscreen, 1
|
||||
bind = SUPER, F1, exec, swaylock
|
||||
bind = SUPER, M, fullscreen, 1
|
||||
bind = SUPER SHIFT, M, fullscreen, 0
|
||||
bind = SUPER SHIFT, P, exec, powermenu
|
||||
bind = SUPER SHIFT, Space, togglefloating,
|
||||
|
||||
|
@ -107,14 +135,6 @@
|
|||
bind = SUPER SHIFT, K, movewindow, u
|
||||
bind = SUPER SHIFT, J, movewindow, d
|
||||
|
||||
windowrule = workspace 2, neovide
|
||||
windowrule = workspace 3, firefox
|
||||
windowrule = workspace 4, thunar
|
||||
windowrule = workspace 4, libreoffice.*
|
||||
windowrule = workspace 4, Zotero
|
||||
windowrule = workspace 5, Signal
|
||||
windowrule = workspace 5, fractal
|
||||
|
||||
bind = SUPER, A, workspace, 1
|
||||
bind = SUPER, S, workspace, 2
|
||||
bind = SUPER, D, workspace, 3
|
||||
|
@ -132,21 +152,47 @@
|
|||
bind = SUPER SHIFT, O, movetoworkspace, 7
|
||||
bind = SUPER SHIFT, P, movetoworkspace, 8
|
||||
|
||||
bind = SUPER, period, workspace, e+1
|
||||
bind = SUPER, comma, workspace, e-1
|
||||
bind = SUPER, bracketright, focusmonitor, +1
|
||||
bind = SUPER, bracketleft, focusmonitor, +1
|
||||
bind = SUPER, bracketleft, focusmonitor, -1
|
||||
bind = SUPER SHIFT, bracketright, movecurrentworkspacetomonitor, +1
|
||||
bind = SUPER SHIFT, bracketleft, movecurrentworkspacetomonitor, -1
|
||||
|
||||
bind = SUPER, N, workspace, empty
|
||||
bind = SUPER, C, togglespecialworkspace
|
||||
bind = SUPER, tab, workspace, previous
|
||||
bind = SUPER SHIFT, N, movetoworkspace, empty
|
||||
bind = SUPER SHIFT, C, movetoworkspace, special
|
||||
bind = SUPER SHIFT, tab, movetoworkspace, previous
|
||||
|
||||
# Move/resize windows with mainMod + LMB/RMB and dragging
|
||||
bindm = SUPER, mouse:272, movewindow
|
||||
bindm = SUPER, mouse:273, resizewindow
|
||||
|
||||
# See https://wiki.hyprland.org/Configuring/Window-Rules/ for more
|
||||
windowrule = float, pavucontrol
|
||||
windowrule = center, pavucontrol
|
||||
windowrule = float, .blueman-manager-wrapped
|
||||
windowrule = center, .blueman-manager-wrapped
|
||||
windowrule = float, otpclient
|
||||
windowrule = move 2% 6%, otpclient
|
||||
windowrule = float, ^(foot)$
|
||||
windowrule = float, ^(pavucontrol)$
|
||||
windowrule = float, ^(.blueman-manager-wrapped)$
|
||||
windowrule = float, ^(otpclient)$
|
||||
windowrule = float, ^(thunar)$
|
||||
|
||||
windowrule = center, ^(foot)$
|
||||
windowrule = center, ^(pavucontrol)$
|
||||
windowrule = center, ^(.blueman-manager-wrapped)$
|
||||
windowrule = move 2% 6%, ^(otpclient)$
|
||||
|
||||
windowrule = workspace 2, neovide
|
||||
windowrule = workspace 3, firefox
|
||||
windowrule = workspace 5 silent, ^(Signal|fractal|discord|teams-for-linux)$
|
||||
windowrule = workspace 4, thunar
|
||||
windowrule = workspace 4, libreoffice.*
|
||||
windowrule = workspace 4, Zotero
|
||||
|
||||
source = ./extra.conf
|
||||
'';
|
||||
};
|
||||
xdg.configFile."hypr/extra.conf".text = lib.mkDefault '''';
|
||||
xdg.configFile."hypr/macchiato.conf".text = ''
|
||||
$rosewaterAlpha = f4dbd6
|
||||
$flamingoAlpha = f0c6c6
|
||||
|
|
|
@ -15,6 +15,7 @@
|
|||
enable = true;
|
||||
flake = "git+https://git.xenia.me.uk/xenia/nixos.git?ref=main";
|
||||
};
|
||||
networking.networkmanager.enable = true;
|
||||
services.power-profiles-daemon.enable = true;
|
||||
virtualisation.podman.enable = true;
|
||||
programs = {
|
||||
|
|
Loading…
Reference in a new issue