fixed merge conflicts

This commit is contained in:
vali 2024-04-13 15:35:13 +02:00
commit 1070fe3a7e
49 changed files with 814 additions and 92 deletions

View file

@ -3,5 +3,6 @@ _: {
./git.nix
./starship.nix
./zsh.nix
./neovim.nix
];
}

View file

@ -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;

35
modules/cli/neovim.nix Normal file
View file

@ -0,0 +1,35 @@
{ config, lib, pkgs, ... }:
let
lazyvim-config = pkgs.fetchFromGitHub {
owner = "Dragyx";
repo = "lazyvim-config";
rev = "d799724f48199d81ca6c8abb5951860fbf8fa0df";
hash = "sha256-NF92CweRFQ1qZS8NXoTUEljazRGXgXS2AuDt5IWmwBc=";
};
cfg = config.modules.programs.neovim-old;
username = config.modules.other.system.username;
in
{
options.modules.programs.neovim-old.enable = lib.mkEnableOption "neovim-old";
config = lib.mkIf cfg.enable {
home-manager.users.${username} = {
home.packages = with pkgs; [ lazygit ripgrep fd gcc xclip rust-analyzer ];
programs.neovim = {
enable = true;
viAlias = true;
vimAlias = true;
defaultEditor = true;
};
xdg.configFile."nvim" = {
enable = true;
source = lazyvim-config;
recursive = true;
};
};
};
}

View file

@ -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;

View file

@ -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;

View file

@ -0,0 +1,5 @@
_: {
imports = [
./hyprland.nix
];
}

179
modules/gui/WM/hyprland.nix Normal file
View file

@ -0,0 +1,179 @@
{ 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;
};
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
xwayland
pciutils # lspci is needed by hyprland
dunst
swww
flameshot
bluetuith
brightnessctl
# needed for wayland copy / paste support in neovim
wl-clipboard
];
wayland.windowManager.hyprland = {
enable = true;
systemd.enable = true;
xwayland.enable = true;
settings = {
exec-once = [
"waybar"
] ++ (if cfg.gnome-keyring then ["${pkgs.polkit_gnome}/libexec/polkit-gnome-authentication-agent-1"]
else []);
monitor = map (
m: "${m.device},${builtins.toString m.resolution.x}x${builtins.toString m.resolution.y}@${builtins.toString m.refresh_rate},${builtins.toString m.position.x}x${builtins.toString m.position.y},${builtins.toString m.scale},transform,${builtins.toString m.transform}"
) monitors; #TODO: default value
input = {
kb_layout = "us";
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"
# 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
"SUPER, mouse:272, movewindow"
# "bindm = SUPER, mouse:273, resizewindow"
];
binde = [
",XF86MonBrightnessUp, exec, brightnessctl set 10%+"
",XF86MonBrightnessDown, exec, brightnessctl set 10%-"
# Example volume button that allows press and hold, volume limited to 150%"
",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"
",XF86AudioLowerVolume, exec, wpctl set-volume -l 1.5 @DEFAULT_AUDIO_SINK@ 5%-"
",XF86AudioMute, exec, $ wpctl set-mute @DEFAULT_AUDIO_SINK@ toggle"
];
};
};
};
};
}

View file

@ -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";

View file

@ -10,5 +10,6 @@ _: {
./obs.nix
./foot.nix
# ./vivado.nix
./WM
];
}

View file

@ -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";
};

View file

@ -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";

View file

@ -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} = {

View file

@ -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} = {

View file

@ -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";

0
modules/gui/rofi.nix Normal file
View file

View file

@ -1,13 +1,9 @@
{
config,
inputs,
lib,
...
}: with lib; let
cfg = config.myOptions.programs.schizofox;
username = config.myOptions.other.system.username;
{ config, inputs, lib, ... }:
with lib; let
cfg = config.modules.programs.schizofox;
username = config.modules.other.system.username;
in {
options.myOptions.programs.schizofox = {
options.modules.programs.schizofox = {
enable = mkEnableOption "schizofox";
};

View file

@ -4,15 +4,16 @@
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";
};
config = mkIf cfg.enable {
home-manager.users.${username} = {
home.packages = with pkgs; [ vesktop ];
xdg.configFile."vesktop/settings.json".text = builtins.toJSON {
discordBranch = "ptb";
firstLaunch = false;

View file

@ -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} = {

View file

@ -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} = {

View file

@ -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 = {

View file

@ -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";
};

View file

@ -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;

View file

@ -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 = "schizofox.desktop";
@ -30,7 +30,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";

View file

@ -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;

View file

@ -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} = {

View file

@ -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 ];