new formatting, nixvim is working

This commit is contained in:
Charlie Root 2024-05-22 14:29:45 +02:00
commit 0e22544a8a
88 changed files with 1994 additions and 1845 deletions

View file

@ -1 +1 @@
_: { imports = [ ./wayland ]; }
_: {imports = [./wayland];}

View file

@ -1,10 +1,14 @@
{ config, pkgs, inputs, ... }: {
{
config,
pkgs,
inputs,
...
}: {
imports = [
# inputs.niri.nixosModules.niri
./hypr
./variables.nix
];
# programs.niri.enable = true;
}

View file

@ -1 +1 @@
_: { imports = [ ./land.nix ]; }
_: {imports = [./land.nix];}

View file

@ -1,18 +1,28 @@
{ config, pkgs, lib, inputs, ... }:
let
{
config,
pkgs,
lib,
inputs,
...
}: let
cfg = config.modules.wms.wayland.hyprland;
username = config.modules.other.system.username;
inherit (inputs.hyprland.packages.${pkgs.system}) hyprland;
inherit (inputs.anyrun.packages.${pkgs.system}) anyrun;
inherit (inputs.nixpkgs-wayland.packages.${pkgs.system})
foot swww wlsunset;
inherit
(inputs.nixpkgs-wayland.packages.${pkgs.system})
foot
swww
wlsunset
;
inherit (inputs.waybar.packages.${pkgs.system}) waybar;
inherit (inputs.split-monitor-workspaces.packages.${pkgs.system})
split-monitor-workspaces;
inherit
(inputs.split-monitor-workspaces.packages.${pkgs.system})
split-monitor-workspaces
;
in {
options.modules.wms.wayland.hyprland.enable = lib.mkEnableOption "hyprland";
config = lib.mkIf cfg.enable {
# xdg Portal
xdg.portal = {
enable = true;
@ -27,13 +37,13 @@ in {
enable = true;
package = hyprland;
# Split-monitor-workspaces provides awesome-like workspace behaviour
plugins = [ split-monitor-workspaces ];
plugins = [split-monitor-workspaces];
# Xwayland for X applications
xwayland.enable = true;
# No idea why I set this
systemd = {
enable = true;
variables = [ "--all" ];
variables = ["--all"];
};
# Hyprland settings
@ -100,7 +110,7 @@ in {
follow_mouse = true;
repeat_rate = 50;
repeat_delay = 250;
tablet = { output = "HDMI-A-2"; };
tablet = {output = "HDMI-A-2";};
};
general = {
sensitivity = 1.0;
@ -123,7 +133,7 @@ in {
shadow_offset = "2 4";
shadow_scale = 1;
};
# Bezier curves for aninmations.
# Bezier curves for aninmations.
# Generate your own at https://www.cssportal.com/css-cubic-bezier-generator/
bezier = [
"dupa, 0.1, 0.9, 0.1, 1.05"
@ -141,7 +151,7 @@ in {
"workspaces, 1, 5, dupa, slidevert"
];
};
dwindle = { no_gaps_when_only = true; };
dwindle = {no_gaps_when_only = true;};
debug.disable_logs = false;
@ -220,7 +230,6 @@ in {
"$mainMod, J, movefocus, d"
"$mainMod, K, movefocus, u"
"$mainMod, L, movefocus, r"
];
# Media controls
bindl = let
@ -291,7 +300,6 @@ in {
};
};
};
environment.systemPackages = with pkgs; [ libnotify ];
environment.systemPackages = with pkgs; [libnotify];
};
}

View file

@ -1,4 +1,9 @@
{ pkgs, theme, config, ... }:
{
pkgs,
theme,
config,
...
}:
with theme.colors; {
programs.niri.settings = {
outputs."eDP-1".position = {
@ -38,11 +43,11 @@ with theme.colors; {
gaps = 16;
center-focused-column = "never";
preset-column-widths = [
{ proportion = 0.333; }
{ proportion = 0.5; }
{ proportion = 0.666; }
{proportion = 0.333;}
{proportion = 0.5;}
{proportion = 0.666;}
];
default-column-width = { proportion = 0.5; };
default-column-width = {proportion = 0.5;};
focus-ring = {
enable = true;
@ -76,87 +81,91 @@ with theme.colors; {
window-close = smooth;
};
window-rules = [{
geometry-corner-radius = let radius = 8.0;
in {
bottom-left = radius;
bottom-right = radius;
top-left = radius;
top-right = radius;
};
clip-to-geometry = true;
}];
binds = with config.lib.niri.actions;
let sh = spawn "sh" "-c";
in {
"Mod+Return" = {
action = spawn "${pkgs.foot}/bin/foot";
cooldown-ms = 500;
window-rules = [
{
geometry-corner-radius = let
radius = 8.0;
in {
bottom-left = radius;
bottom-right = radius;
top-left = radius;
top-right = radius;
};
"Mod+Space".action = spawn "${pkgs.fuzzel}/bin/fuzzel";
"Mod+V".action = sh
"${pkgs.cliphist}/bin/cliphist list | fuzzel --dmenu | cliphist decode | wl-copy";
"Mod+Shift+Period".action = spawn "emoji";
clip-to-geometry = true;
}
];
"XF86AudioRaiseVolume".action = spawn "pamixer" "-i" "5";
"XF86AudioLowerVolume".action = spawn "pamixer" "-d" "5";
"XF86AudioMute".action = spawn "pamixer" "-t";
"XF86AudioMicMute".action = spawn "micmute";
"XF86MonBrightnessUp".action = spawn "brightnessctl" "set" "+5%";
"XF86MonBrightnessDown".action = spawn "brightnessctl" "set" "5%-";
"Super+WheelScrollDown".action = focus-workspace-down;
"Super+WheelScrollDown".cooldown-ms = 500;
"Super+WheelScrollUp".action = focus-workspace-up;
"Super+WheelScrollUp".cooldown-ms = 500;
"Super+WheelScrollRight".action = focus-column-right;
"Super+WheelScrollLeft".action = focus-column-left;
"Super+H".action = focus-column-left;
"Super+L".action = focus-column-right;
"Super+J".action = focus-workspace-down;
"Super+K".action = focus-workspace-up;
"Super+Left".action = focus-column-left;
"Super+Right".action = focus-column-right;
"Super+Down".action = focus-window-down;
"Super+Up".action = focus-window-up;
"Super+Print".action = screenshot-window;
"Super+Shift+Print".action = screenshot-screen;
"Super+Shift+S".action = screenshot;
"Super+Ctrl+H".action = move-column-left;
"Super+Ctrl+J".action = move-window-down;
"Super+Ctrl+K".action = move-window-up;
"Super+Ctrl+L".action = move-column-right;
"Super+U".action = move-workspace-down;
"Super+I".action = move-workspace-up;
"Super+Minus".action = set-column-width "-10%";
"Super+Equal".action = set-column-width "+10%";
"Super+Shift+Minus".action = set-window-height "-10%";
"Super+Shift+Equal".action = set-window-height "+10%";
"Super+Shift+H".action = focus-monitor-left;
"Super+Shift+J".action = focus-monitor-down;
"Super+Shift+K".action = focus-monitor-up;
"Super+Shift+L".action = focus-monitor-right;
"Super+Shift+Ctrl+H".action = move-column-to-monitor-left;
"Super+Shift+Ctrl+J".action = move-column-to-monitor-down;
"Super+Shift+Ctrl+K".action = move-column-to-monitor-up;
"Super+Shift+Ctrl+L".action = move-column-to-monitor-right;
"Super+R".action = switch-preset-column-width;
"Super+F".action = maximize-column;
"Super+Shift+F".action = fullscreen-window;
"Super+C".action = center-column;
"Mod+Q".action = close-window;
binds = with config.lib.niri.actions; let
sh = spawn "sh" "-c";
in {
"Mod+Return" = {
action = spawn "${pkgs.foot}/bin/foot";
cooldown-ms = 500;
};
"Mod+Space".action = spawn "${pkgs.fuzzel}/bin/fuzzel";
"Mod+V".action =
sh
"${pkgs.cliphist}/bin/cliphist list | fuzzel --dmenu | cliphist decode | wl-copy";
"Mod+Shift+Period".action = spawn "emoji";
"XF86AudioRaiseVolume".action = spawn "pamixer" "-i" "5";
"XF86AudioLowerVolume".action = spawn "pamixer" "-d" "5";
"XF86AudioMute".action = spawn "pamixer" "-t";
"XF86AudioMicMute".action = spawn "micmute";
"XF86MonBrightnessUp".action = spawn "brightnessctl" "set" "+5%";
"XF86MonBrightnessDown".action = spawn "brightnessctl" "set" "5%-";
"Super+WheelScrollDown".action = focus-workspace-down;
"Super+WheelScrollDown".cooldown-ms = 500;
"Super+WheelScrollUp".action = focus-workspace-up;
"Super+WheelScrollUp".cooldown-ms = 500;
"Super+WheelScrollRight".action = focus-column-right;
"Super+WheelScrollLeft".action = focus-column-left;
"Super+H".action = focus-column-left;
"Super+L".action = focus-column-right;
"Super+J".action = focus-workspace-down;
"Super+K".action = focus-workspace-up;
"Super+Left".action = focus-column-left;
"Super+Right".action = focus-column-right;
"Super+Down".action = focus-window-down;
"Super+Up".action = focus-window-up;
"Super+Print".action = screenshot-window;
"Super+Shift+Print".action = screenshot-screen;
"Super+Shift+S".action = screenshot;
"Super+Ctrl+H".action = move-column-left;
"Super+Ctrl+J".action = move-window-down;
"Super+Ctrl+K".action = move-window-up;
"Super+Ctrl+L".action = move-column-right;
"Super+U".action = move-workspace-down;
"Super+I".action = move-workspace-up;
"Super+Minus".action = set-column-width "-10%";
"Super+Equal".action = set-column-width "+10%";
"Super+Shift+Minus".action = set-window-height "-10%";
"Super+Shift+Equal".action = set-window-height "+10%";
"Super+Shift+H".action = focus-monitor-left;
"Super+Shift+J".action = focus-monitor-down;
"Super+Shift+K".action = focus-monitor-up;
"Super+Shift+L".action = focus-monitor-right;
"Super+Shift+Ctrl+H".action = move-column-to-monitor-left;
"Super+Shift+Ctrl+J".action = move-column-to-monitor-down;
"Super+Shift+Ctrl+K".action = move-column-to-monitor-up;
"Super+Shift+Ctrl+L".action = move-column-to-monitor-right;
"Super+R".action = switch-preset-column-width;
"Super+F".action = maximize-column;
"Super+Shift+F".action = fullscreen-window;
"Super+C".action = center-column;
"Mod+Q".action = close-window;
};
prefer-no-csd = true;
hotkey-overlay.skip-at-startup = true;

View file

@ -1,13 +1,17 @@
{ pkgs, lib, theme, ... }:
let
{
pkgs,
lib,
theme,
...
}: let
mkService = lib.recursiveUpdate {
Unit.PartOf = [ "graphical-session.target" ];
Unit.After = [ "graphical-session.target" ];
Install.WantedBy = [ "graphical-session.target" ];
Unit.PartOf = ["graphical-session.target"];
Unit.After = ["graphical-session.target"];
Install.WantedBy = ["graphical-session.target"];
};
in {
imports = [ ./config.nix ];
home.packages = with pkgs; [ pamixer ];
imports = [./config.nix];
home.packages = with pkgs; [pamixer];
services = {
wlsunset = {
# TODO: fix opaque red screen issue
@ -28,7 +32,7 @@ in {
tray = {
Unit = {
Description = "Home Manager System Tray";
Requires = [ "graphical-session-pre.target" ];
Requires = ["graphical-session-pre.target"];
};
};
};

View file

@ -1,5 +1,9 @@
{ pkgs, inputs, config, ... }: {
{
pkgs,
inputs,
config,
...
}: {
programs.niri = {
enable = true;
package = inputs.niri.packages.${pkgs.system}.niri-unstable;

View file

@ -1,5 +1,8 @@
{ config, lib, ... }:
let
{
config,
lib,
...
}: let
cfg = config.modules.wms.wayland;
hyprland = config.modules.wms.wayland.hyprland;
in {
@ -12,7 +15,7 @@ in {
NIXOS_OZONE_WL = "1";
__GL_GSYNC_ALLOWED = "0";
__GL_VRR_ALLOWED = "0";
# _JAVA_AWT_WM_NONEREPARENTING = "1";
# _JAVA_AWT_WM_NONEREPARENTING = "1";
# SSH_AUTH_SOCK = "/run/user/1000/keyring/ssh";
DISABLE_QT5_COMPAT = "0";
GDK_BACKEND = "wayland,x11";
@ -24,15 +27,15 @@ in {
DISABLE_QT_COMPAT = "0";
QT_WAYLAND_DISABLE_WINDOWDECORATION = "1";
MOZ_ENABLE_WAYLAND = "1";
# WLR_BACKEND = "vulkan";
# WLR_RENDERER = "vulkan";
# WLR_BACKEND = "vulkan";
# WLR_RENDERER = "vulkan";
XDG_SESSION_TYPE = "wayland";
SDL_VIDEODRIVER = "wayland";
CLUTTER_BACKEND = "wayland";
# WLR_DRM_DEVICES = "/dev/dri/card1:/dev/dri/card0";
# };
# }
# Session variables for Hyprland
# Session variables for Hyprland
# (lib.mkIf (hyprland.enable) {
# environment.variables = {
LIBVA_DRIVER_NAME = "nvidia";

View file

@ -1,6 +1,11 @@
{ pkgs, lib, config, callPackage, ... }:
with lib;
let
{
pkgs,
lib,
config,
callPackage,
...
}:
with lib; let
username = config.modules.other.system.username;
cfg = config.modules.programs.awesome;
in {
@ -17,8 +22,7 @@ in {
options = "grp:alt_space_toggle";
};
windowManager.awesome.enable = true;
displayManager.setupCommands =
"${pkgs.xorg.xrandr}/bin/xrandr --output HDMI-1 --rotate normal --output DP-2 --rotate normal --left-of HDMI-1 --output HDMI-0 --right-of HDMI-1";
displayManager.setupCommands = "${pkgs.xorg.xrandr}/bin/xrandr --output HDMI-1 --rotate normal --output DP-2 --rotate normal --left-of HDMI-1 --output HDMI-0 --right-of HDMI-1";
};
};
};