fixed merge conflicts
This commit is contained in:
commit
1070fe3a7e
49 changed files with 814 additions and 92 deletions
|
@ -3,5 +3,6 @@ _: {
|
|||
./git.nix
|
||||
./starship.nix
|
||||
./zsh.nix
|
||||
./neovim.nix
|
||||
];
|
||||
}
|
||||
|
|
|
@ -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
35
modules/cli/neovim.nix
Normal 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;
|
||||
};
|
||||
};
|
||||
|
||||
|
||||
};
|
||||
}
|
|
@ -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
|
||||
];
|
||||
}
|
179
modules/gui/WM/hyprland.nix
Normal file
179
modules/gui/WM/hyprland.nix
Normal 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"
|
||||
];
|
||||
};
|
||||
};
|
||||
};
|
||||
};
|
||||
}
|
|
@ -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";
|
||||
|
|
0
modules/gui/rofi.nix
Normal file
0
modules/gui/rofi.nix
Normal 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";
|
||||
};
|
||||
|
||||
|
|
|
@ -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;
|
||||
|
|
|
@ -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 = "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";
|
||||
|
|
|
@ -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