Add config for laptop
Some checks failed
pre-commit / pre-commit (push) Failing after 19s

This commit is contained in:
Torjus Håkestad 2024-04-18 19:29:08 +02:00
parent 3999a552d4
commit fca52c4b84
14 changed files with 419 additions and 12 deletions

38
home/gunter.nix Normal file
View File

@ -0,0 +1,38 @@
{ pkgs, inputs, user, ... }: {
imports = [ inputs.home-manager.nixosModules.home-manager ];
home-manager = {
useUserPackages = true;
useGlobalPkgs = true;
extraSpecialArgs = { inherit pkgs inputs user; };
users.${user} = { pkgs, ... }: {
imports = [
inputs.sops-nix.homeManagerModules.sops
./sops
./editor/neovim
./programs/firefox
./programs/tmux
./programs/dunst
./programs/kitty
./programs/rofi
./programs/obs-studio
./programs/vscode
./scripts
./zsh
./packages
./hyprland/gunter.nix
./ssh
./services/backup-home.nix
./services/ghettoptt.nix
];
firefox.enable = true;
tmux.enable = true;
hyprland.enable = true;
home = {
username = "${user}";
homeDirectory = "/home/${user}";
stateVersion = "23.11";
};
programs.home-manager.enable = true;
};
};
}

View File

@ -1 +0,0 @@
{ imports = [ ./hyprland.nix ./waybar ./xdg.nix ./cursor.nix ]; }

1
home/hyprland/gunter.nix Normal file
View File

@ -0,0 +1 @@
{ imports = [ ./hyprland_gunter.nix ./waybar ./xdg.nix ./cursor.nix ]; }

View File

@ -0,0 +1,160 @@
{ inputs, pkgs, lib, config, ... }: {
options.hyprland.enable = lib.mkEnableOption "Hyprland";
config = {
home.packages = with pkgs; [
cliphist
dunst
# hyprlock
hyprpaper
rofi-wayland
slurp
swww
waybar
wl-clipboard
catppuccin-cursors.macchiatoLavender
bibata-cursors
# For potentially fixing some issues
libsForQt5.qt5.qtwayland
libsForQt5.qt5ct
];
wayland.windowManager.hyprland = {
enable = true;
package = pkgs.unstable.hyprland;
settings = {
"$mainMod" = "SUPER";
"$shiftMainMod" = "SUPER_SHIFT";
"$term" = "kitty";
monitor = [
];
input = {
kb_layout = "no";
follow_mouse = 1;
};
env = [
"LIBVA_DRIVER_NAME,nvidia"
"XDG_SESSION_TYPE,wayland"
"GBM_BACKEND,nvidia-drm"
# "__GLX_VENDOR_LIBRARY_NAME,nvidia"
"WLR_NO_HARDWARE_CURSORS,1"
];
decoration = {
rounding = 0;
drop_shadow = true;
shadow_range = 4;
shadow_render_power = 3;
blur = {
enabled = true;
size = 3;
passes = 1;
xray = true;
};
};
general = {
gaps_in = 4;
gaps_out = 10;
border_size = 2;
layout = "dwindle";
};
animations = {
enabled = true;
bezier = "myBezier, 0.05, 0.9, 0.1, 1.05";
animation = [
"windows, 1, 7, myBezier"
"windowsOut, 1, 7, default, popin 80%"
"border, 1, 10, default"
"borderangle, 1, 8, default"
"fade, 1, 7, default"
"workspaces, 1, 6, default"
];
};
dwindle = {
pseudotile = true;
preserve_split = true;
};
master.new_is_master = true;
misc.force_default_wallpaper = -1;
windowrulev2 = [
"opacity 0.95 override 0.7 override,class:^(Alacritty)$"
"opacity 0.95 override 0.7 override,class:^(kitty)$"
];
workspace = [
"name:mumble, monitor:$mon_top, persistent:true, default:true"
"name:left, monitor:$mon_left, persistent:true, default:true"
"name:right, monitor:$mon_right, persistent:true, default:true"
"name:main 1, monitor:$mon_center, persistent:true, default:true"
"name:main 2, monitor:$mon_center, persistent:true, default:true"
];
bindm = [
"ALT,mouse:272,movewindow"
];
bindr = [
# mumble ptt release
# ",code:202,exec,mumble rpc stoptalking"
# ",code:202,exec,pamixer --source 63 -m"
# ",code:202,exec,sleep 0.5 && pamixer --default-source -m"
];
bind = [
# term
"$mainMod,Return,exec,$term"
# rofi
"$mainMod,D,exec,rofi-launcher"
"$mainMod,P,exec,rofi-rbw"
# hyprland
"$mainMod,Q,killactive,"
"CTRLALT,Delete,exit,"
"$mainMod,Space,togglefloating,"
"$mainMod,F,fullscreen,"
# focus
"$mainMod,l,movefocus,l"
"$mainMod,h,movefocus,r"
"$mainMod,k,movefocus,u"
"$mainMod,j,movefocus,d"
# move
"$mainMod,h,movewindow,l"
"$mainMod,l,movewindow,r"
"$mainMod,k,movewindow,u"
"$mainMod,j,movewindow,d"
# Force opacity
"$shiftMainMod,o,exec, hl-no-opacity"
# mumble ptt click
# ",code:202,exec,mumble rpc starttalking"
#",code:202,pass,^(info\.mumble\.Mumble)$"
# ",code:202,exec,pamixer --default-source -u"
",code:202,pass,^discord$"
# worspace switching
"$mainMod,1,workspace,name:main 1"
"$mainMod,2,workspace,name:main 2"
"$mainMod,3,workspace,3"
"$mainMod,4,workspace,4"
"$mainMod,5,workspace,5"
"$mainMod,6,workspace,6"
];
exec-once = [
"waybar"
"hyprpaper & sleep 2 && randomwp"
"easyeffects --gapplication-service"
# "dunst"
];
};
};
};
}

View File

@ -0,0 +1,157 @@
{ inputs, pkgs, lib, config, ... }: {
options.hyprland.enable = lib.mkEnableOption "Hyprland";
config = {
home.packages = with pkgs; [
cliphist
dunst
# hyprlock
hyprpaper
rofi-wayland
slurp
swww
waybar
wl-clipboard
catppuccin-cursors.macchiatoLavender
bibata-cursors
# For potentially fixing some issues
libsForQt5.qt5.qtwayland
libsForQt5.qt5ct
];
wayland.windowManager.hyprland = {
enable = true;
package = pkgs.unstable.hyprland;
settings = {
"$mainMod" = "SUPER";
"$shiftMainMod" = "SUPER_SHIFT";
"$term" = "kitty";
monitor = [
];
input = {
kb_layout = "no";
follow_mouse = 1;
};
env = [
"XDG_SESSION_TYPE,wayland"
];
decoration = {
rounding = 0;
drop_shadow = true;
shadow_range = 4;
shadow_render_power = 3;
blur = {
enabled = true;
size = 3;
passes = 1;
xray = true;
};
};
general = {
gaps_in = 4;
gaps_out = 10;
border_size = 2;
layout = "dwindle";
};
animations = {
enabled = true;
bezier = "myBezier, 0.05, 0.9, 0.1, 1.05";
animation = [
"windows, 1, 7, myBezier"
"windowsOut, 1, 7, default, popin 80%"
"border, 1, 10, default"
"borderangle, 1, 8, default"
"fade, 1, 7, default"
"workspaces, 1, 6, default"
];
};
dwindle = {
pseudotile = true;
preserve_split = true;
};
master.new_is_master = true;
misc.force_default_wallpaper = -1;
windowrulev2 = [
"opacity 0.95 override 0.7 override,class:^(Alacritty)$"
"opacity 0.95 override 0.7 override,class:^(kitty)$"
];
workspace = [
"name:mumble, monitor:$mon_top, persistent:true, default:true"
"name:left, monitor:$mon_left, persistent:true, default:true"
"name:right, monitor:$mon_right, persistent:true, default:true"
"name:main 1, monitor:$mon_center, persistent:true, default:true"
"name:main 2, monitor:$mon_center, persistent:true, default:true"
];
bindm = [
"ALT,mouse:272,movewindow"
];
bindr = [
# mumble ptt release
# ",code:202,exec,mumble rpc stoptalking"
# ",code:202,exec,pamixer --source 63 -m"
# ",code:202,exec,sleep 0.5 && pamixer --default-source -m"
];
bind = [
# term
"$mainMod,Return,exec,$term"
# rofi
"$mainMod,D,exec,rofi-launcher"
"$mainMod,P,exec,rofi-rbw"
# hyprland
"$mainMod,Q,killactive,"
"CTRLALT,Delete,exit,"
"$mainMod,Space,togglefloating,"
"$mainMod,F,fullscreen,"
# focus
"$mainMod,l,movefocus,l"
"$mainMod,h,movefocus,r"
"$mainMod,k,movefocus,u"
"$mainMod,j,movefocus,d"
# move
"$mainMod,h,movewindow,l"
"$mainMod,l,movewindow,r"
"$mainMod,k,movewindow,u"
"$mainMod,j,movewindow,d"
# Force opacity
"$shiftMainMod,o,exec, hl-no-opacity"
# mumble ptt click
# ",code:202,exec,mumble rpc starttalking"
#",code:202,pass,^(info\.mumble\.Mumble)$"
# ",code:202,exec,pamixer --default-source -u"
",code:202,pass,^discord$"
# worspace switching
"$mainMod,1,workspace,name:main 1"
"$mainMod,2,workspace,name:main 2"
"$mainMod,3,workspace,3"
"$mainMod,4,workspace,4"
"$mainMod,5,workspace,5"
"$mainMod,6,workspace,6"
];
exec-once = [
"waybar"
"hyprpaper & sleep 2 && randomwp"
"easyeffects --gapplication-service"
# "dunst"
];
};
};
};
}

1
home/hyprland/prismo.nix Normal file
View File

@ -0,0 +1 @@
{ imports = [ ./hyprland_prismo.nix ./waybar ./xdg.nix ./cursor.nix ]; }

36
home/magicman.nix Normal file
View File

@ -0,0 +1,36 @@
{ pkgs, inputs, user, ... }: {
imports = [ inputs.home-manager.nixosModules.home-manager ];
home-manager = {
useUserPackages = true;
useGlobalPkgs = true;
extraSpecialArgs = { inherit pkgs inputs user; };
users.${user} = { pkgs, ... }: {
imports = [
inputs.sops-nix.homeManagerModules.sops
./sops
./editor/neovim
./programs/firefox
./programs/tmux
./programs/dunst
./programs/kitty
./programs/rofi
./programs/obs-studio
./programs/vscode
./scripts
./zsh
./packages
./hyprland/magicman.nix
./ssh
];
firefox.enable = true;
tmux.enable = true;
hyprland.enable = true;
home = {
username = "${user}";
homeDirectory = "/home/${user}";
stateVersion = "23.11";
};
programs.home-manager.enable = true;
};
};
}

View File

@ -42,7 +42,6 @@
networking.nftables.enable = true; networking.nftables.enable = true;
networking.firewall = { networking.firewall = {
enable = true; enable = true;
}; };
# Set time stuff # Set time stuff

View File

@ -5,6 +5,6 @@
./steamuser.nix ./steamuser.nix
./nfs.nix ./nfs.nix
../../system ../../system
../../home ../../home/gunter.nix
]; ];
} }

View File

@ -15,6 +15,10 @@
# Networking stuff # Networking stuff
networking.hostName = "magicman"; # Define your hostname. networking.hostName = "magicman"; # Define your hostname.
networking.networkmanager.enable = true; networking.networkmanager.enable = true;
networking.nftables.enable = true;
networking.firewall = {
enable = true;
};
# Set time stuff # Set time stuff
time.timeZone = "Europe/Oslo"; time.timeZone = "Europe/Oslo";
@ -23,19 +27,19 @@
hardware.opengl = { hardware.opengl = {
enable = true; enable = true;
extraPackages = with pkgs; [ extraPackages = with pkgs; [
intel-media-driver # intel-media-driver
vaapiVdpau # vaapiVdpau
libvdpau-va-gl # libvdpau-va-gl
]; ];
}; };
# Setup hyprland # Setup hyprland
services.xserver.enable = true; services.xserver.enable = true;
programs.hyprland = { # programs.hyprland = {
enable = true; # enable = true;
xwayland.enable = true; # xwayland.enable = true;
portalPackage = pkgs.xdg-desktop-portal-hyprland; # portalPackage = pkgs.xdg-desktop-portal-hyprland;
}; # };
# Setup common XDG env vars # Setup common XDG env vars
environment.sessionVariables = rec { environment.sessionVariables = rec {
@ -59,6 +63,7 @@
# Enable flakes # Enable flakes
nix.settings.experimental-features = [ "nix-command" "flakes" ]; nix.settings.experimental-features = [ "nix-command" "flakes" ];
nix.settings.trusted-users = [ "root" "torjus" ];
nixpkgs.config.allowUnfree = true; nixpkgs.config.allowUnfree = true;
# Install system-wide packages # Install system-wide packages

View File

@ -3,6 +3,6 @@
./configuration.nix ./configuration.nix
./hardware-configuration.nix ./hardware-configuration.nix
../../system ../../system
../../home ../../home/magicman.nix
]; ];
} }

View File

@ -3,6 +3,13 @@
{ {
imports = [ ./hardware-configuration.nix ]; imports = [ ./hardware-configuration.nix ];
# Sops stuff
sops.defaultSopsFile = ../../secrets/gunter/secrets.yaml;
sops.age.keyFile = "/var/lib/sops-nix/key.txt";
sops.age.generateKey = true;
sops.secrets."gotify_tokens/backup-home" = { };
# Bootloader stuff # Bootloader stuff
boot.kernelParams = [ boot.kernelParams = [
"quiet" "quiet"
@ -18,6 +25,10 @@
# Networking stuff # Networking stuff
networking.hostName = "prismo"; # Define your hostname. networking.hostName = "prismo"; # Define your hostname.
networking.networkmanager.enable = true; networking.networkmanager.enable = true;
networking.nftables.enable = true;
networking.firewall = {
enable = true;
};
# Set time stuff # Set time stuff
time.timeZone = "Europe/Oslo"; time.timeZone = "Europe/Oslo";