hyprland and dms
This commit is contained in:
parent
f07aa71366
commit
3614169a29
9 changed files with 169 additions and 95 deletions
14
flake.nix
14
flake.nix
|
|
@ -14,11 +14,6 @@
|
|||
inputs.nixpkgs.follows = "nixpkgs-stable";
|
||||
};
|
||||
|
||||
stylix = {
|
||||
url = "github:danth/stylix";
|
||||
inputs.nixpkgs.follows = "nixpkgs";
|
||||
};
|
||||
|
||||
agenix = {
|
||||
url = "github:ryantm/agenix";
|
||||
inputs.nixpkgs.follows = "nixpkgs-stable";
|
||||
|
|
@ -29,6 +24,11 @@
|
|||
inputs.nixpkgs.follows = "nixpkgs-stable";
|
||||
};
|
||||
|
||||
dms = {
|
||||
url = "github:AvengeMedia/DankMaterialShell";
|
||||
inputs.nixpkgs.follows = "nixpkgs";
|
||||
};
|
||||
|
||||
nixos-cli.url = "github:nix-community/nixos-cli";
|
||||
|
||||
nix-flatpak.url = "github:gmodena/nix-flatpak/main";
|
||||
|
|
@ -43,8 +43,8 @@
|
|||
nixpkgs-stable,
|
||||
home-manager,
|
||||
home-manager-stable,
|
||||
stylix,
|
||||
disko,
|
||||
dms,
|
||||
agenix,
|
||||
nixos-cli,
|
||||
nix-flatpak,
|
||||
|
|
@ -91,7 +91,6 @@
|
|||
hm.nixosModules.default
|
||||
impermanence.nixosModules.impermanence
|
||||
nix-flatpak.nixosModules.nix-flatpak
|
||||
stylix.nixosModules.stylix
|
||||
nixos-cli.nixosModules.nixos-cli
|
||||
{
|
||||
nixpkgs.overlays = [
|
||||
|
|
@ -100,6 +99,7 @@
|
|||
}
|
||||
];
|
||||
workstationModules = [
|
||||
dms.nixosModules.greeter
|
||||
{
|
||||
nixpkgs.overlays = [
|
||||
self.overlays.workstationOverlay
|
||||
|
|
|
|||
|
|
@ -13,7 +13,6 @@
|
|||
./programs.nix
|
||||
./security.nix
|
||||
./services.nix
|
||||
./stylix.nix
|
||||
./users.nix
|
||||
./virtualisation.nix
|
||||
];
|
||||
|
|
|
|||
|
|
@ -19,10 +19,6 @@
|
|||
(lib.mkIf hostType.isWorkstation {
|
||||
services = {
|
||||
displayManager = {
|
||||
autoLogin = {
|
||||
enable = true;
|
||||
user = "user";
|
||||
};
|
||||
sddm = {
|
||||
enable = true;
|
||||
wayland = {
|
||||
|
|
@ -31,7 +27,6 @@
|
|||
};
|
||||
};
|
||||
};
|
||||
desktopManager.plasma6.enable = true;
|
||||
pipewire = {
|
||||
enable = true;
|
||||
alsa.enable = true;
|
||||
|
|
@ -42,6 +37,11 @@
|
|||
};
|
||||
};
|
||||
|
||||
programs.hyprland = {
|
||||
enable = true;
|
||||
withUWSM = true;
|
||||
};
|
||||
|
||||
hardware = {
|
||||
xpadneo.enable = true;
|
||||
bluetooth.enable = true;
|
||||
|
|
|
|||
|
|
@ -2,10 +2,7 @@
|
|||
|
||||
{
|
||||
hardware = {
|
||||
amdgpu = {
|
||||
opencl.enable = true;
|
||||
amdvlk.enable = true;
|
||||
};
|
||||
amdgpu.opencl.enable = true;
|
||||
graphics.extraPackages = with pkgs; [ rocmPackages.clr.icd ];
|
||||
};
|
||||
}
|
||||
|
|
|
|||
|
|
@ -1,63 +0,0 @@
|
|||
{
|
||||
config,
|
||||
hostType,
|
||||
lib,
|
||||
pkgs,
|
||||
...
|
||||
}:
|
||||
|
||||
{
|
||||
config = lib.mkMerge [
|
||||
# Common configuration
|
||||
{
|
||||
}
|
||||
|
||||
# Server specific configuration
|
||||
(lib.mkIf hostType.isServer {
|
||||
})
|
||||
|
||||
# Workstation specific configuration
|
||||
(lib.mkIf hostType.isWorkstation {
|
||||
stylix = {
|
||||
enable = true;
|
||||
polarity = "dark";
|
||||
base16Scheme = "${pkgs.base16-schemes}/share/themes/catppuccin-mocha.yaml";
|
||||
cursor = {
|
||||
package = pkgs.kdePackages.breeze-icons;
|
||||
name = "Breeze_Light";
|
||||
size = 24;
|
||||
};
|
||||
opacity = {
|
||||
applications = 1.0;
|
||||
desktop = 0.8;
|
||||
popups = config.stylix.opacity.desktop;
|
||||
terminal = 1.0;
|
||||
};
|
||||
fonts = {
|
||||
serif = {
|
||||
package = pkgs.source-serif;
|
||||
name = "Source Serif 4 Display";
|
||||
};
|
||||
sansSerif = {
|
||||
package = pkgs.inter;
|
||||
name = "Inter";
|
||||
};
|
||||
monospace = {
|
||||
package = pkgs.nerd-fonts.fira-code;
|
||||
name = "FiraCode Nerd Font";
|
||||
};
|
||||
emoji = {
|
||||
package = pkgs.noto-fonts-emoji;
|
||||
name = "Noto Color Emoji";
|
||||
};
|
||||
sizes = {
|
||||
applications = 11;
|
||||
desktop = config.stylix.fonts.sizes.applications;
|
||||
popups = config.stylix.fonts.sizes.applications;
|
||||
terminal = 12;
|
||||
};
|
||||
};
|
||||
};
|
||||
})
|
||||
];
|
||||
}
|
||||
|
|
@ -62,7 +62,6 @@ stdenv.mkDerivation rec {
|
|||
hicolor-icon-theme
|
||||
libdrm
|
||||
libnotify
|
||||
libsForQt5.kde-cli-tools
|
||||
libxkbcommon
|
||||
nspr
|
||||
nss
|
||||
|
|
|
|||
|
|
@ -93,15 +93,7 @@
|
|||
|
||||
# Workstation specific configuration
|
||||
(lib.mkIf hostType.isWorkstation {
|
||||
programs.rio = {
|
||||
enable = true;
|
||||
settings = {
|
||||
window = {
|
||||
width = 1121;
|
||||
height = 633;
|
||||
};
|
||||
};
|
||||
};
|
||||
|
||||
})
|
||||
];
|
||||
}
|
||||
|
|
|
|||
|
|
@ -112,13 +112,9 @@
|
|||
|
||||
# Workstation specific configuration
|
||||
(lib.mkIf hostType.isWorkstation {
|
||||
fonts.fontconfig.enable = true;
|
||||
|
||||
programs = {
|
||||
password-store.package = pkgs.pass-wayland;
|
||||
|
||||
mangohud.enable = true;
|
||||
|
||||
obs-studio = {
|
||||
enable = true;
|
||||
plugins = [
|
||||
|
|
@ -127,7 +123,160 @@
|
|||
pkgs.obs-studio-plugins.obs-pipewire-audio-capture
|
||||
];
|
||||
};
|
||||
dankMaterialShell = {
|
||||
enable = true;
|
||||
enableVPN = false;
|
||||
};
|
||||
rio = {
|
||||
enable = true;
|
||||
settings = {
|
||||
window = {
|
||||
width = 1121;
|
||||
height = 633;
|
||||
};
|
||||
};
|
||||
};
|
||||
};
|
||||
wayland.windowManager.hyprland = {
|
||||
enable = true;
|
||||
extraConfig = ''
|
||||
################
|
||||
### MONITORS ###
|
||||
################
|
||||
monitor=,preferred,auto,auto
|
||||
################
|
||||
### START-UP ###
|
||||
################
|
||||
exec-once = bash -c "wl-paste --watch cliphist store &"
|
||||
exec-once = /usr/lib/mate-polkit/polkit-mate-authentication-agent-1
|
||||
exec-once = dms run
|
||||
#####################
|
||||
### LOOK AND FEEL ###
|
||||
#####################
|
||||
general {
|
||||
gaps_in = 5
|
||||
gaps_out = 20
|
||||
border_size = 2
|
||||
resize_on_border = true
|
||||
allow_tearing = false
|
||||
layout = dwindle
|
||||
}
|
||||
decoration {
|
||||
rounding = 10
|
||||
rounding_power = 2
|
||||
dim_inactive = true
|
||||
dim_strength = 0.3
|
||||
shadow {
|
||||
enabled = true
|
||||
range = 4
|
||||
render_power = 3
|
||||
}
|
||||
blur {
|
||||
enabled = true
|
||||
size = 8
|
||||
passes = 1
|
||||
vibrancy = 0.1696
|
||||
}
|
||||
}
|
||||
animations {
|
||||
enabled = yes, please :)
|
||||
bezier = easeOutQuint,0.23,1,0.32,1
|
||||
bezier = easeInOutCubic,0.65,0.05,0.36,1
|
||||
bezier = linear,0,0,1,1
|
||||
bezier = almostLinear,0.5,0.5,0.75,1.0
|
||||
bezier = quick,0.15,0,0.1,1
|
||||
animation = global, 1, 1, default
|
||||
animation = border, 1, 1, easeOutQuint
|
||||
animation = windows, 1, 1, easeOutQuint
|
||||
animation = windowsIn, 1, 0.3, quick, popin 95% # Much faster: 30ms with quick bezier
|
||||
animation = windowsOut, 1, 1, linear, popin 87%
|
||||
animation = fadeIn, 1, 1, almostLinear
|
||||
animation = fadeOut, 1, 1, almostLinear
|
||||
animation = fade, 1, 1, quick
|
||||
animation = layers, 1, 1, easeOutQuint
|
||||
animation = layersIn, 1, 1, easeOutQuint, fade
|
||||
animation = layersOut, 1, 1, linear, fade
|
||||
animation = fadeLayersIn, 1, 1, almostLinear
|
||||
animation = fadeLayersOut, 1, 1, almostLinear
|
||||
animation = workspaces, 1, 1, almostLinear, slidevert
|
||||
}
|
||||
misc {
|
||||
force_default_wallpaper = 0
|
||||
disable_hyprland_logo = true
|
||||
}
|
||||
|
||||
#############
|
||||
### INPUT ###
|
||||
#############
|
||||
input {
|
||||
kb_layout = us
|
||||
kb_variant = altgr-intl
|
||||
follow_mouse = 1
|
||||
sensitivity = 0
|
||||
accel_profile = flat
|
||||
natural_scroll = true
|
||||
touchpad {
|
||||
natural_scroll = true
|
||||
clickfinger_behavior = true
|
||||
}
|
||||
}
|
||||
|
||||
###################
|
||||
### KEYBINDINGS ###
|
||||
###################
|
||||
$mainMod = SUPER
|
||||
$terminal = rio
|
||||
$menu = dms ipc call spotlight toggle
|
||||
# APP SHORTCUTS
|
||||
bind = ALT, SPACE, exec, $menu
|
||||
bind = $mainMod, RETURN, exec, $terminal
|
||||
# SESSION MANAGEMENT
|
||||
bind = CTRL ALT, DELETE, exit,
|
||||
bind = $mainMod, mouse_up, exec, hyprnome
|
||||
bind = $mainMod, mouse_down, exec, hyprnome --previous
|
||||
bind = CTRL ALT, j, exec, hyprnome
|
||||
bind = CTRL ALT, k, exec, hyprnome --previous
|
||||
bind = $mainMod CTRL ALT, j, exec, hyprnome --move
|
||||
bind = $mainMod CTRL ALT, k, exec, hyprnome --move --previous
|
||||
bindel = ,XF86AudioRaiseVolume, exec, wpctl set-volume @DEFAULT_AUDIO_SINK@ 5%+
|
||||
bindel = ,XF86AudioLowerVolume, exec, wpctl set-volume @DEFAULT_AUDIO_SINK@ 5%-
|
||||
bindel = ,XF86AudioMute, exec, wpctl set-mute @DEFAULT_AUDIO_SINK@ toggle
|
||||
bindel = ,XF86AudioMicMute, exec, wpctl set-mute @DEFAULT_AUDIO_SOURCE@ toggle
|
||||
bindel = ,XF86MonBrightnessUp, exec, brightnessctl s 10%+
|
||||
bindel = ,XF86MonBrightnessDown, exec, brightnessctl s 10%-
|
||||
bindl = , XF86AudioNext, exec, playerctl next
|
||||
bindl = , XF86AudioPause, exec, playerctl play-pause
|
||||
bindl = , XF86AudioPlay, exec, playerctl play-pause
|
||||
bindl = , XF86AudioPrev, exec, playerctl previous
|
||||
bind = CTRL ALT SHIFT, a, exec, bash /home/user/.local/bin/toggle-audio-output.sh
|
||||
# WINDOW MANAGEMENT
|
||||
bind = ALT, F4, killactive,
|
||||
bind = $mainMod, space, togglefloating,
|
||||
bind = $mainMod, f, fullscreen
|
||||
bindm = $mainMod, mouse:272, movewindow
|
||||
bindm = $mainMod, mouse:273, resizewindow
|
||||
bind = SUPER, h, movefocus, l
|
||||
bind = SUPER, l, movefocus, r
|
||||
bind = SUPER, k, movefocus, u
|
||||
bind = SUPER, j, movefocus, d
|
||||
bind = $mainMod CTRL, h, movewindow, l
|
||||
bind = $mainMod CTRL, l, movewindow, r
|
||||
bind = $mainMod CTRL, k, movewindow, u
|
||||
bind = $mainMod CTRL, j, movewindow, d
|
||||
# bind = $mainMod, r, scroller:cyclewidth, next
|
||||
# bind = $mainMod CTRL, r, scroller:cyclewidth, prev
|
||||
# bind = $mainMod, p, scroller:pin,
|
||||
# bind = $mainMod, c, scroller:alignwindow, center
|
||||
# bind = $mainMod CTRL, f, scroller:fitsize, all
|
||||
|
||||
####################
|
||||
### WINDOW RULES ###
|
||||
####################
|
||||
windowrulev2 = suppressevent maximize, class:.*
|
||||
windowrulev2 = nofocus,class:^$,title:^$,xwayland:1,floating:1,fullscreen:0,pinned:0
|
||||
'';
|
||||
};
|
||||
fonts.fontconfig.enable = true;
|
||||
})
|
||||
];
|
||||
}
|
||||
|
|
|
|||
|
|
@ -1,4 +1,4 @@
|
|||
{ ... }:
|
||||
{ inputs, ... }:
|
||||
|
||||
{
|
||||
home = {
|
||||
|
|
@ -10,5 +10,6 @@
|
|||
imports = [
|
||||
./modules
|
||||
./modules/user
|
||||
inputs.dms.homeModules.dankMaterialShell.default
|
||||
];
|
||||
}
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue