rename myOptions to modules
This commit is contained in:
parent
3016260981
commit
6961d2bd8c
45 changed files with 1065 additions and 89 deletions
|
@ -4,10 +4,10 @@
|
|||
pkgs,
|
||||
...
|
||||
}: with lib; let
|
||||
cfg = config.myOptions.programs.git;
|
||||
username = config.myOptions.other.system.username;
|
||||
cfg = config.modules.programs.git;
|
||||
username = config.modules.other.system.username;
|
||||
in {
|
||||
options.myOptions.programs.git = {
|
||||
options.modules.programs.git = {
|
||||
enable = mkEnableOption "git";
|
||||
userName = mkOption {
|
||||
type = types.str;
|
||||
|
|
|
@ -3,16 +3,16 @@
|
|||
lib,
|
||||
...
|
||||
}: with lib; let
|
||||
cfg = config.myOptions.programs.starship;
|
||||
username = config.myOptions.other.system.username;
|
||||
cfg = config.modules.programs.starship;
|
||||
username = config.modules.other.system.username;
|
||||
in {
|
||||
options.myOptions.programs.starship.enable = mkEnableOption "starship";
|
||||
options.modules.programs.starship.enable = mkEnableOption "starship";
|
||||
|
||||
config = mkIf cfg.enable {
|
||||
home-manager.users.${username} = {
|
||||
programs.starship = {
|
||||
enable = true;
|
||||
enableZshIntegration = config.myOptions.programs.zsh.enable;
|
||||
enableZshIntegration = config.modules.programs.zsh.enable;
|
||||
settings = {
|
||||
add_newline = false;
|
||||
command_timeout = 1000;
|
||||
|
|
|
@ -1,11 +1,11 @@
|
|||
{ config, lib, pkgs, ... }:
|
||||
with lib; let
|
||||
cfg = config.myOptions.programs.zsh;
|
||||
username = config.myOptions.other.system.username;
|
||||
hostname = config.myOptions.other.system.hostname;
|
||||
gitPath = config.myOptions.other.system.gitPath;
|
||||
cfg = config.modules.programs.zsh;
|
||||
username = config.modules.other.system.username;
|
||||
hostname = config.modules.other.system.hostname;
|
||||
gitPath = config.modules.other.system.gitPath;
|
||||
in {
|
||||
options.myOptions.programs.zsh = {
|
||||
options.modules.programs.zsh = {
|
||||
enable = mkEnableOption "zsh";
|
||||
extraAliases = mkOption {
|
||||
type = types.attrs;
|
||||
|
|
5
modules/gui/WM/default.nix
Normal file
5
modules/gui/WM/default.nix
Normal file
|
@ -0,0 +1,5 @@
|
|||
_: {
|
||||
imports = [
|
||||
./hyprland.nix
|
||||
];
|
||||
}
|
185
modules/gui/WM/hyprland.nix
Normal file
185
modules/gui/WM/hyprland.nix
Normal file
|
@ -0,0 +1,185 @@
|
|||
{ config, lib, pkgs, ... }:
|
||||
|
||||
with lib;
|
||||
let
|
||||
cfg = config.modules.WM.hyprland;
|
||||
username = config.modules.other.system.username;
|
||||
monitors = config.modules.other.system.monitors;
|
||||
in
|
||||
{
|
||||
options.modules.WM.hyprland = {
|
||||
enable = mkEnableOption "hyprland";
|
||||
gnome-keyring = mkEnableOption "gnome-keyring";
|
||||
};
|
||||
|
||||
|
||||
config = mkIf cfg.enable {
|
||||
programs.xwayland.enable = true;
|
||||
/*
|
||||
programs.hyprland = {
|
||||
enable = true;
|
||||
xwayland = true;
|
||||
};
|
||||
*/
|
||||
services.gnome.gnome-keyring.enable = mkDefault cfg.gnome-keyring;
|
||||
systemd.user.services.polkit-gnome-authentication-agent-1 = mkIf cfg.gnome-keyring {
|
||||
description = "polkit-gnome-authentication-agent-1";
|
||||
wantedBy = [ "graphical-session.target" ];
|
||||
wants = [ "graphical-session.target" ];
|
||||
after = [ "graphical-session.target" ];
|
||||
serviceConfig = {
|
||||
Type = "simple";
|
||||
ExecStart = "${pkgs.polkit_gnome}/libexec/polkit-gnome-authentication-agent-1";
|
||||
Restart = "on-failure";
|
||||
RestartSec = 1;
|
||||
TimeoutStopSec = 10;
|
||||
};
|
||||
};
|
||||
|
||||
home-manager.users.${username} = {
|
||||
home.packages = with pkgs; [
|
||||
rofi
|
||||
waybar
|
||||
hyprpaper
|
||||
hyprlock
|
||||
hyprland
|
||||
hyprshade
|
||||
lxqt.lxqt-openssh-askpass
|
||||
|
||||
dunst
|
||||
# wireplumber
|
||||
unstable.xwayland
|
||||
pciutils # lspci is needed by hyprland
|
||||
# from some obscure tutorial on youtube
|
||||
# xorg.libxcb
|
||||
# mesa
|
||||
libglvnd
|
||||
egl-wayland
|
||||
libdrm
|
||||
vulkan-tools
|
||||
dunst
|
||||
swww
|
||||
flameshot
|
||||
bluetuith
|
||||
brightnessctl
|
||||
# needed for wayland copy / paste support in neovim
|
||||
wl-clipboard
|
||||
];
|
||||
|
||||
programs.hyprland = {
|
||||
enable = true;
|
||||
settings = {
|
||||
exec-once = mkIf cfg.gnome-keyring "${pkgs.polkit_gnome}/libexec/polkit-gnome-authentication-agent-1";
|
||||
monitor = map (
|
||||
m: "${m.device},${m.resolution.x}x${m.resolution.y}@${m.refresh_rate},${m.position.x}x${m.position.y},${m.scale},transform,${m.transform}"
|
||||
) monitors; #TODO: default value
|
||||
input = {
|
||||
kb_layout = console.keyMap;
|
||||
natural_scroll = true;
|
||||
sensitivity = 0;
|
||||
};
|
||||
general = {
|
||||
gaps_in = 2;
|
||||
gaps_out = 1;
|
||||
border_size = 1;
|
||||
col.active_border = "rgba(33ccffee) rgba(00ff99ee) 45deg";
|
||||
col.inactive_border = "rgba(595959aa)";
|
||||
layout = dwindle;
|
||||
};
|
||||
decoration.rounding = 5;
|
||||
misc.disable_hyprland_logo = true;
|
||||
animations = {
|
||||
enabled = true;
|
||||
# Some default animations, see https://wiki.hyprland.org/Configuring/Animations/ for more
|
||||
|
||||
bezier = ["myBezier, 0.05, 0.9, 0.1, 1.05"];
|
||||
|
||||
animation = [
|
||||
"windowsOut, 1, 7, default, popin 80%"
|
||||
"border, 1, 10, default"
|
||||
"borderangle, 1, 8, default"
|
||||
"fade, 1, 7, default"
|
||||
"workspaces, 1, 6, default"
|
||||
"windows, 1, 7, myBezier"
|
||||
];
|
||||
};
|
||||
gestures.workspace_swipe = true;
|
||||
debug.enable_stdout_logs = true;
|
||||
bind = [
|
||||
|
||||
|
||||
# Example binds, see https://wiki.hyprland.org/Configuring/Binds/ for more
|
||||
"SUPER, RETURN, exec, alacritty"
|
||||
"SUPER SHIFT, RETURN, exec, rofi -show drun"
|
||||
"SUPER SHIFT, Q, killactive,"
|
||||
"SUPER, M, exit, "
|
||||
"SUPER, B, exec, firefox"
|
||||
"SUPER, f, fullscreen"
|
||||
"SUPER, E, exec, nautilus --new-window "
|
||||
"SUPER, V, togglefloating, "
|
||||
"SUPER, P, pseudo, # dwindle"
|
||||
"SUPER, S, togglesplit, # dwindle"
|
||||
"SUPER, C, exec, /home/vali/.config/wallpaper/colorscheme-setter"
|
||||
",PRINT, exec, flameshot"
|
||||
|
||||
"binde = ,XF86MonBrightnessUp, exec, brightnessctl set 10%+"
|
||||
"binde = ,XF86MonBrightnessDown, exec, brightnessctl set 10%-"
|
||||
|
||||
# Example volume button that allows press and hold, volume limited to 150%"
|
||||
"binde = ,XF86AudioRaiseVolume, exec, wpctl set-volume -l 1.5 @DEFAULT_AUDIO_SINK@ 5%+"
|
||||
# Example volume button that will activate even while an input inhibitor is active"
|
||||
"binde = ,XF86AudioLowerVolume, exec, wpctl set-volume -l 1.5 @DEFAULT_AUDIO_SINK@ 5%-"
|
||||
",XF86AudioMute, exec, $ wpctl set-mute @DEFAULT_AUDIO_SINK@ toggle"
|
||||
|
||||
# Move focus with mainMod + arrow keys"
|
||||
"SUPER, h, movefocus, l"
|
||||
"SUPER, l, movefocus, r"
|
||||
"SUPER, k, movefocus, u"
|
||||
"SUPER, j, movefocus, d"
|
||||
|
||||
# move window to next / previous workspace"
|
||||
"SUPER CTRL, h, movetoworkspace, -1"
|
||||
"SUPER CTRL, l, movetoworkspace, +1"
|
||||
|
||||
# move to next / previous workspace"
|
||||
"SUPER CTRL, h, workspace, -1"
|
||||
"SUPER CTRL, l, workspace, +1"
|
||||
|
||||
|
||||
# Switch workspaces with mainMod + [0-9]"
|
||||
"SUPER, 1, workspace, 1"
|
||||
"SUPER, 2, workspace, 2"
|
||||
"SUPER, 3, workspace, 3"
|
||||
"SUPER, 4, workspace, 4"
|
||||
"SUPER, 5, workspace, 5"
|
||||
"SUPER, 6, workspace, 6"
|
||||
"SUPER, 7, workspace, 7"
|
||||
"SUPER, 8, workspace, 8"
|
||||
"SUPER, 9, workspace, 9"
|
||||
"SUPER, 0, workspace, 10"
|
||||
|
||||
# Move active window to a workspace with mainMod + SHIFT + [0-9]"
|
||||
"SUPER SHIFT, 1, movetoworkspace, 1"
|
||||
"SUPER SHIFT, 2, movetoworkspace, 2"
|
||||
"SUPER SHIFT, 3, movetoworkspace, 3"
|
||||
"SUPER SHIFT, 4, movetoworkspace, 4"
|
||||
"SUPER SHIFT, 5, movetoworkspace, 5"
|
||||
"SUPER SHIFT, 6, movetoworkspace, 6"
|
||||
"SUPER SHIFT, 7, movetoworkspace, 7"
|
||||
"SUPER SHIFT, 8, movetoworkspace, 8"
|
||||
"SUPER SHIFT, 9, movetoworkspace, 9"
|
||||
"SUPER SHIFT, 0, movetoworkspace, 10"
|
||||
|
||||
# Scroll through existing workspaces with mainMod + scroll"
|
||||
"SUPER, mouse_down, workspace, e+1"
|
||||
"SUPER, mouse_up, workspace, e-1"
|
||||
"
|
||||
# Move/resize windows with mainMod + LMB/RMB and dragging"
|
||||
#bindm = SUPER, mouse:272, movewindow"
|
||||
#bindm = SUPER, mouse:273, resizewindow"
|
||||
];
|
||||
};
|
||||
};
|
||||
};
|
||||
};
|
||||
}
|
|
@ -3,10 +3,10 @@
|
|||
lib,
|
||||
...
|
||||
}: with lib; let
|
||||
cfg = config.myOptions.themes.cursor;
|
||||
username = config.myOptions.other.system.username;
|
||||
cfg = config.modules.themes.cursor;
|
||||
username = config.modules.other.system.username;
|
||||
in {
|
||||
options.myOptions.themes.cursor = {
|
||||
options.modules.themes.cursor = {
|
||||
enable = mkEnableOption "cursor theming";
|
||||
package = mkOption {
|
||||
description = "cursor theme package";
|
||||
|
|
|
@ -10,5 +10,6 @@ _: {
|
|||
./obs.nix
|
||||
./foot.nix
|
||||
# ./vivado.nix
|
||||
./WM
|
||||
];
|
||||
}
|
||||
|
|
|
@ -5,10 +5,10 @@
|
|||
pkgs,
|
||||
...
|
||||
}: with lib; let
|
||||
cfg = config.myOptions.programs.foot;
|
||||
username = config.myOptions.other.system.username;
|
||||
cfg = config.modules.programs.foot;
|
||||
username = config.modules.other.system.username;
|
||||
in {
|
||||
options.myOptions.programs.foot = {
|
||||
options.modules.programs.foot = {
|
||||
enable = mkEnableOption "foot";
|
||||
server = mkEnableOption "foot server mode";
|
||||
};
|
||||
|
|
|
@ -3,11 +3,11 @@
|
|||
lib,
|
||||
...
|
||||
}: with lib; let
|
||||
cfg = config.myOptions.themes.gtk;
|
||||
username = config.myOptions.other.system.username;
|
||||
cfg = config.modules.themes.gtk;
|
||||
username = config.modules.other.system.username;
|
||||
hmCfg = config.home-manager.users.${username};
|
||||
in {
|
||||
options.myOptions.themes.gtk = {
|
||||
options.modules.themes.gtk = {
|
||||
enable = mkEnableOption "gtk theming";
|
||||
name = mkOption {
|
||||
description = "gtk theme name";
|
||||
|
|
|
@ -4,10 +4,10 @@
|
|||
pkgs,
|
||||
...
|
||||
}: with lib; let
|
||||
cfg = config.myOptions.programs.mpv;
|
||||
username = config.myOptions.other.system.username;
|
||||
cfg = config.modules.programs.mpv;
|
||||
username = config.modules.other.system.username;
|
||||
in {
|
||||
options.myOptions.programs.mpv.enable = mkEnableOption "mpv";
|
||||
options.modules.programs.mpv.enable = mkEnableOption "mpv";
|
||||
|
||||
config = mkIf cfg.enable {
|
||||
home-manager.users.${username} = {
|
||||
|
|
|
@ -1,9 +1,9 @@
|
|||
{ config, lib, pkgs, ... }:
|
||||
with lib; let
|
||||
cfg = config.myOptions.programs.obs;
|
||||
username = config.myOptions.other.system.username;
|
||||
cfg = config.modules.programs.obs;
|
||||
username = config.modules.other.system.username;
|
||||
in {
|
||||
options.myOptions.programs.obs.enable = mkEnableOption "obs";
|
||||
options.modules.programs.obs.enable = mkEnableOption "obs";
|
||||
|
||||
config = mkIf cfg.enable {
|
||||
home-manager.users.${username} = {
|
||||
|
|
|
@ -4,10 +4,10 @@
|
|||
pkgs,
|
||||
...
|
||||
}: with lib; let
|
||||
cfg = config.myOptions.themes.qt;
|
||||
username = config.myOptions.other.system.username;
|
||||
cfg = config.modules.themes.qt;
|
||||
username = config.modules.other.system.username;
|
||||
in {
|
||||
options.myOptions.themes.qt = {
|
||||
options.modules.themes.qt = {
|
||||
enable = mkEnableOption "qt theming";
|
||||
name = mkOption {
|
||||
description = "qt theme name";
|
||||
|
|
|
@ -1,9 +1,9 @@
|
|||
{ config, inputs, lib, ... }:
|
||||
with lib; let
|
||||
cfg = config.myOptions.programs.schizofox;
|
||||
username = config.myOptions.other.system.username;
|
||||
cfg = config.modules.programs.schizofox;
|
||||
username = config.modules.other.system.username;
|
||||
in {
|
||||
options.myOptions.programs.schizofox = {
|
||||
options.modules.programs.schizofox = {
|
||||
enable = mkEnableOption "schizofox";
|
||||
};
|
||||
|
||||
|
|
|
@ -4,10 +4,10 @@
|
|||
pkgs,
|
||||
...
|
||||
}: with lib; let
|
||||
cfg = config.myOptions.programs.vesktop;
|
||||
username = config.myOptions.other.system.username;
|
||||
cfg = config.modules.programs.vesktop;
|
||||
username = config.modules.other.system.username;
|
||||
in {
|
||||
options.myOptions.programs.vesktop = {
|
||||
options.modules.programs.vesktop = {
|
||||
enable = mkEnableOption "vesktop";
|
||||
};
|
||||
|
||||
|
|
|
@ -6,11 +6,11 @@ let
|
|||
desktopName = "Vivado";
|
||||
exec = "${pkgs.nur.repos.lschuermann.vivado-2022_2}/bin/vivado";
|
||||
};
|
||||
cfg = with lib; [ config.myOptions.programs.vivado ];
|
||||
username = with lib; [ config.myOptions.other.system.username ];
|
||||
cfg = with lib; [ config.modules.programs.vivado ];
|
||||
username = with lib; [ config.modules.other.system.username ];
|
||||
in
|
||||
{
|
||||
options.myOptions.programs.vivado.enable = mkEnableOption "vivado";
|
||||
options.modules.programs.vivado.enable = mkEnableOption "vivado";
|
||||
|
||||
config = mkIf cfg.enable {
|
||||
home-manager.users.${username} = {
|
||||
|
|
|
@ -4,10 +4,10 @@
|
|||
pkgs,
|
||||
...
|
||||
}: with lib; let
|
||||
cfg = config.myOptions.programs.zathura;
|
||||
username = config.myOptions.other.system.username;
|
||||
cfg = config.modules.programs.zathura;
|
||||
username = config.modules.other.system.username;
|
||||
in {
|
||||
options.myOptions.programs.zathura.enable = mkEnableOption "zathura";
|
||||
options.modules.programs.zathura.enable = mkEnableOption "zathura";
|
||||
|
||||
config = mkIf cfg.enable {
|
||||
home-manager.users.${username} = {
|
||||
|
|
|
@ -1,8 +1,8 @@
|
|||
{pkgs, lib, config, ...}:
|
||||
with lib; let
|
||||
cfg = config.myOptions.programs.displaymanager;
|
||||
cfg = config.modules.programs.displaymanager;
|
||||
in {
|
||||
options.myOptions.programs.displaymanager.enable = mkEnableOption "displaymanager";
|
||||
options.modules.programs.displaymanager.enable = mkEnableOption "displaymanager";
|
||||
|
||||
config = mkIf cfg.enable {
|
||||
services.xserver.displayManager = {
|
||||
|
|
|
@ -5,10 +5,10 @@
|
|||
self,
|
||||
...
|
||||
}: with lib; let
|
||||
cfg = config.myOptions.other.home-manager;
|
||||
username = config.myOptions.other.system.username;
|
||||
cfg = config.modules.other.home-manager;
|
||||
username = config.modules.other.system.username;
|
||||
in {
|
||||
options.myOptions.other.home-manager = {
|
||||
options.modules.other.home-manager = {
|
||||
enable = mkEnableOption "home-manager";
|
||||
enableDirenv = mkEnableOption "direnv";
|
||||
};
|
||||
|
|
|
@ -3,9 +3,9 @@
|
|||
lib,
|
||||
...
|
||||
}: with lib; let
|
||||
cfg = config.myOptions.other.system;
|
||||
cfg = config.modules.other.system;
|
||||
in {
|
||||
options.myOptions.other.system = {
|
||||
options.modules.other.system = {
|
||||
hostname = mkOption {
|
||||
description = "hostname for this system";
|
||||
type = types.str;
|
||||
|
|
|
@ -2,7 +2,7 @@
|
|||
config,
|
||||
...
|
||||
}: let
|
||||
username = config.myOptions.other.system.username;
|
||||
username = config.modules.other.system.username;
|
||||
hmCfg = config.home-manager.users.${username};
|
||||
|
||||
primary_browser = "firefox-schizo.desktop";
|
||||
|
@ -31,7 +31,7 @@ in {
|
|||
XAUTHORITY = "\$XDG_RUNTIME_DIR/Xauthority";
|
||||
};
|
||||
*/
|
||||
myOptions.programs.zsh.extraAliases = {
|
||||
modules.programs.zsh.extraAliases = {
|
||||
gdb = "gdb -n -x ${hmCfg.xdg.configHome}/gdb/init";
|
||||
pidgin = "pidgin --config=${hmCfg.xdg.dataHome}/purple";
|
||||
svn = "svn --config-dir ${hmCfg.xdg.configHome}/subversion";
|
||||
|
|
|
@ -1,8 +1,8 @@
|
|||
{ config, lib, ... }:
|
||||
with lib; let
|
||||
cfg = config.myOptions.services.pipewire;
|
||||
cfg = config.modules.services.pipewire;
|
||||
in {
|
||||
options.myOptions.services.pipewire.enable = mkEnableOption "pipewire";
|
||||
options.modules.services.pipewire.enable = mkEnableOption "pipewire";
|
||||
|
||||
config = mkIf cfg.enable {
|
||||
hardware.pulseaudio.enable = false;
|
||||
|
|
|
@ -1,9 +1,9 @@
|
|||
{ config, lib, ... }:
|
||||
with lib; let
|
||||
cfg = config.myOptions.programs.btop;
|
||||
username = config.myOptions.other.system.username;
|
||||
cfg = config.modules.programs.btop;
|
||||
username = config.modules.other.system.username;
|
||||
in {
|
||||
options.myOptions.programs.btop.enable = mkEnableOption "btop";
|
||||
options.modules.programs.btop.enable = mkEnableOption "btop";
|
||||
|
||||
config = mkIf cfg.enable {
|
||||
home-manager.users.${username} = {
|
||||
|
|
|
@ -5,10 +5,10 @@
|
|||
pkgs,
|
||||
...
|
||||
}: with lib; let
|
||||
cfg = config.myOptions.programs.neovim;
|
||||
username = config.myOptions.other.system.username;
|
||||
cfg = config.modules.programs.neovim;
|
||||
username = config.modules.other.system.username;
|
||||
in {
|
||||
options.myOptions.programs.neovim.enable = mkEnableOption "neovim";
|
||||
options.modules.programs.neovim.enable = mkEnableOption "neovim";
|
||||
|
||||
config = mkIf cfg.enable {
|
||||
nixpkgs.overlays = [ inputs.neovim-nightly-overlay.overlay ];
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue