Compare commits
63 Commits
ec11f6ec7f
...
3b4f67c04f
Author | SHA1 | Date | |
---|---|---|---|
3b4f67c04f | |||
267616cc4e | |||
d9bf9363bb | |||
867fe1d499 | |||
971d01eb39 | |||
15f0020ccf | |||
44e5d0819f | |||
597391a802 | |||
ef30450892 | |||
a91af9bae7 | |||
0b80531ad0 | |||
37c3b67dea | |||
6d0d71630b | |||
9b224b96a5 | |||
111d3d9777 | |||
9e4597fdd3 | |||
2bbf3bade0 | |||
9def7cb0f6 | |||
f7d8f58aaa | |||
dcfb553990 | |||
b9b3aaa060 | |||
d3871dd3a5 | |||
3b22026126 | |||
86a6ad5767 | |||
cd15722fa9 | |||
871acbd8e6 | |||
ebdc037b07 | |||
86bc85392e | |||
44dcc01e7f | |||
684a48804d | |||
68c53b010d | |||
290d4466ad | |||
302922eee6 | |||
58da3a96ae | |||
b2c59b3419 | |||
62b2834fb2 | |||
75a8652776 | |||
be35a2cdce | |||
a33e4b8366 | |||
462ab61d81 | |||
3ac19ad849 | |||
6ea0b486b6 | |||
cca87f0771 | |||
c2e17a4481 | |||
70a6016243 | |||
0f8b328b90 | |||
c2781c50a7 | |||
3481bcd675 | |||
e4b574a7ca | |||
acccdbc938 | |||
63a586642a | |||
8dccfbd32a | |||
ceb04ea2e2 | |||
5f75b4ebad | |||
210cbdbfd7 | |||
dd5c2e41d2 | |||
1883e9c09f | |||
c9c6944844 | |||
1fcafb2be7 | |||
cd0c000204 | |||
a9bfae3d4c | |||
7a26f45b00 | |||
098d5bc99d |
@ -30,12 +30,12 @@
|
||||
system = "x86_64-linux";
|
||||
modules = [
|
||||
./hosts/MaxNixosLaptop/configuration.nix
|
||||
sops-nix.nixosModules.sops
|
||||
home-manager.nixosModules.default
|
||||
{
|
||||
home-manager.useGlobalPkgs = true;
|
||||
home-manager.useUserPackages = true;
|
||||
}
|
||||
sops-nix.nixosModules.sops
|
||||
];
|
||||
};
|
||||
};
|
||||
|
@ -12,6 +12,8 @@
|
||||
./hardware-configuration.nix
|
||||
# script for rebuilding nixos
|
||||
../../modules/nixos/rebuild.nix
|
||||
../../modules/nixos/wifi.nix
|
||||
../../modules/nixos/sops.nix
|
||||
# greetd login manager
|
||||
../../modules/nixos/greetd.nix
|
||||
# sway as window manager
|
||||
@ -31,7 +33,7 @@
|
||||
# networking.proxy.noProxy = "127.0.0.1,localhost,internal.domain";
|
||||
|
||||
# Enable networking
|
||||
networking.networkmanager.enable = true;
|
||||
# networking.networkmanager.enable = true;
|
||||
|
||||
# Set your time zone.
|
||||
time.timeZone = "Europe/Berlin";
|
||||
@ -84,6 +86,7 @@
|
||||
# List packages installed in system profile. To search, run:
|
||||
# $ nix search wget
|
||||
environment.systemPackages = with pkgs; [
|
||||
neovim
|
||||
wget
|
||||
fprintd
|
||||
home-manager
|
||||
@ -123,6 +126,12 @@
|
||||
# fingerprint unlock
|
||||
services.fprintd.enable = true;
|
||||
|
||||
hardware.bluetooth = {
|
||||
enable = true;
|
||||
powerOnBoot = true;
|
||||
};
|
||||
services.blueman.enable = true;
|
||||
|
||||
# Enable the OpenSSH daemon.
|
||||
# services.openssh.enable = true;
|
||||
|
||||
@ -144,6 +153,14 @@
|
||||
randomizedDelaySec = "45min";
|
||||
};
|
||||
|
||||
nix.gc = {
|
||||
automatic = true;
|
||||
dates = "10:00";
|
||||
randomizedDelaySec = "45min";
|
||||
options = "--delete-older-than 14d";
|
||||
};
|
||||
nix.settings.auto-optimise-store = true;
|
||||
|
||||
# This value determines the NixOS release from which the default
|
||||
# settings for stateful data, like file locations and database versions
|
||||
# on your system were taken. It‘s perfectly fine and recommended to leave
|
||||
|
@ -42,7 +42,6 @@
|
||||
# environment.
|
||||
home.packages = with pkgs; [
|
||||
unzip
|
||||
rustup
|
||||
nextcloud-client
|
||||
firefox
|
||||
thunderbird
|
||||
@ -51,9 +50,6 @@
|
||||
prismlauncher
|
||||
steam
|
||||
blender
|
||||
flip-link
|
||||
bacon
|
||||
probe-rs
|
||||
betaflight-configurator
|
||||
loudgain
|
||||
youtube-dl
|
||||
@ -64,6 +60,11 @@
|
||||
sops
|
||||
pwvucontrol
|
||||
qpwgraph
|
||||
(pkgs.discord.override {
|
||||
withOpenASAR = true;
|
||||
withVencord = true;
|
||||
})
|
||||
vesktop
|
||||
];
|
||||
|
||||
home.sessionVariables = {
|
||||
@ -76,4 +77,10 @@
|
||||
|
||||
# Let Home Manager install and manage itself.
|
||||
programs.home-manager.enable = true;
|
||||
|
||||
programs.direnv = {
|
||||
enable = true;
|
||||
enableBashIntegration = true;
|
||||
enableZshIntegration = true;
|
||||
};
|
||||
}
|
||||
|
@ -3,7 +3,69 @@
|
||||
pkgs,
|
||||
lib,
|
||||
...
|
||||
}: {
|
||||
}: let
|
||||
schema = "org.gnome.desktop.a11y.applications";
|
||||
key = "screen-keyboard-enabled";
|
||||
|
||||
squeekboard_toggle = pkgs.writeShellScriptBin "squeekboard_toggle" ''
|
||||
if [ "$(gsettings get ${schema} ${key})" == "true" ]; then
|
||||
gsettings set ${schema} ${key} false
|
||||
else
|
||||
gsettings set ${schema} ${key} true
|
||||
fi
|
||||
'';
|
||||
|
||||
squeekboard_format = pkgs.writeShellScriptBin "squeekboard_format" ''
|
||||
if [ "$(gsettings get ${schema} ${key})" == "true" ]; then
|
||||
echo '{ "text": "", "tooltip": "enabled", "percentage": 100 }'
|
||||
else
|
||||
echo '{ "text": "", "tooltip": "disabled", "percentage": 0 }'
|
||||
fi
|
||||
'';
|
||||
|
||||
rotate_lisgd = pkgs.writeShellScriptBin "rotate_lisgd" ''
|
||||
# PREV_ORIENTATION and ORIENTATION are given by rot8
|
||||
|
||||
LISGD_INPUT=/dev/input/by-path/platform-AMDI0010:02-event
|
||||
# open nwggrid (Meta+D) by swiping up from the bottom edge
|
||||
LISGD_ACTIONS=("1,DU,B,*,R,${pkgs.ydotool}/bin/ydotool key 125:1 32:1 32:0 125:0")
|
||||
# close window (Meta+Shift+Q) by swiping down with 3 fingers
|
||||
LISGD_ACTIONS+=("3,UD,*,L,R,${pkgs.ydotool}/bin/ydotool key 125:1 42:1 16:1 16:0 42:0 125:0")
|
||||
|
||||
# move window left (Meta+Shift+H) by swiping left with 2 fingers
|
||||
LISGD_ACTIONS+=("2,UD,*,*,R,${pkgs.ydotool}/bin/ydotool key 125:1 42:1 35:1 35:0 42:0 125:0")
|
||||
# move window down (Meta+Shift+J) by swiping down with 2 fingers
|
||||
LISGD_ACTIONS+=("2,UD,*,*,R,${pkgs.ydotool}/bin/ydotool key 125:1 42:1 36:1 36:0 42:0 125:0")
|
||||
# move window up (Meta+Shift+K) by swiping up with 2 fingers
|
||||
LISGD_ACTIONS+=("2,UD,*,*,R,${pkgs.ydotool}/bin/ydotool key 125:1 42:1 37:1 37:0 42:0 125:0")
|
||||
# move window right (Meta+Shift+L) by swiping right with 2 fingers
|
||||
LISGD_ACTIONS+=("2,UD,*,*,R,${pkgs.ydotool}/bin/ydotool key 125:1 42:1 38:1 38:0 42:0 125:0")
|
||||
|
||||
LISGD_ACTION_OPTIONS=()
|
||||
for str in "''${LISGD_ACTIONS[@]}"; do
|
||||
LISGD_ACTION_OPTIONS+=("-g" "$str")
|
||||
done
|
||||
|
||||
${pkgs.killall}/bin/killall lisgd
|
||||
|
||||
${pkgs.lisgd}/bin/lisgd -v -d "$LISGD_INPUT" "''${LISGD_ACTION_OPTIONS[@]}" &
|
||||
'';
|
||||
|
||||
# bash script to let dbus know about impotant env variables and
|
||||
# propagate them to relevent services run at the end of sway config
|
||||
dbus-sway-environment = pkgs.writeShellScriptBin "dbus-sway-environment" ''
|
||||
dbus-update-activation-environment --systemd WAYLAND_DISPLAY XDG_CURRENT_DESKTOP=sway
|
||||
systemctl --user stop pipewire pipewire-media-session xdg-desktop-portal xdg-desktop-portal-wlr
|
||||
systemctl --user start pipewire pipewire-media-session xdg-desktop-portal xdg-desktop-portal-wlr
|
||||
'';
|
||||
|
||||
# currently, there is some friction between sway and gtk:
|
||||
# https://github.com/swaywm/sway/wiki/GTK-3-settings-on-Wayland
|
||||
configure-gtk = pkgs.writeShellScriptBin "configure-gtk" ''
|
||||
gnome_schema=org.gnome.desktop.interface
|
||||
gsettings set $gnome_schema gtk-theme 'Dracula'
|
||||
'';
|
||||
in {
|
||||
home.packages = with pkgs; [
|
||||
waybar # status bar
|
||||
swaylock # screen locking
|
||||
@ -95,7 +157,7 @@
|
||||
# custom pause mode similar to typical system shutdown menus
|
||||
"${modifier}+F12" = "mode pause-break";
|
||||
};
|
||||
menu = "${pkgs.tofi}/bin/tofi-drun | ${pkgs.findutils}/bin/xargs swaymsg exec --";
|
||||
menu = "${pkgs.nwg-launchers}/bin/nwggrid -client";
|
||||
|
||||
# use foot as default terminal
|
||||
terminal = "foot";
|
||||
@ -123,11 +185,16 @@
|
||||
};
|
||||
|
||||
startup = [
|
||||
{command = "dbus-sway-environment";}
|
||||
{command = "configure-gtk";}
|
||||
{command = "${dbus-sway-environment}/bin/dbus-sway-environment";}
|
||||
{command = "${configure-gtk}/bin/configure-gtk";}
|
||||
{command = "${pkgs.squeekboard}/bin/squeekboard";}
|
||||
{command = "${pkgs.rot8}/bin/rot8 -n 10 -h ${rotate_lisgd}/bin/rotate_lisgd";}
|
||||
{command = "${rotate_lisgd}/bin/rotate_lisgd";}
|
||||
{command = "${pkgs.nwg-launchers}/bin/nwggrid-server -fp";}
|
||||
{command = "${pkgs.keepassxc}/bin/keepassxc";}
|
||||
{command = "${pkgs.waybar}/bin/waybar";}
|
||||
{command = "${pkgs.foot}/bin/foot -a foot-startup";}
|
||||
{command = "${pkgs.networkmanagerapplet}/bin/nm-applet";}
|
||||
];
|
||||
|
||||
defaultWorkspace = "main";
|
||||
@ -203,6 +270,11 @@
|
||||
};
|
||||
window.titlebar = false;
|
||||
};
|
||||
|
||||
extraConfig = ''
|
||||
bindswitch --reload --locked lid:on exec "[ $(${pkgs.sway}/bin/swaymsg -t get_outputs | ${pkgs.jq}/bin/jq '. | length') -gt 1 ] && ${pkgs.sway}/bin/swaymsg output eDP-1 disable"
|
||||
bindswitch --reload --locked lid:off output eDP-1 enable
|
||||
'';
|
||||
};
|
||||
|
||||
programs.waybar = {
|
||||
@ -214,7 +286,7 @@
|
||||
height = 26;
|
||||
modules-left = ["sway/workspaces" "sway/mode"];
|
||||
modules-center = ["sway/window"];
|
||||
modules-right = ["mpd" "tray" "sway/language" "clock" "backlight" "battery" "network"];
|
||||
modules-right = ["mpd" "tray" "custom/squeekboard" "sway/language" "clock" "backlight" "battery" "network"];
|
||||
|
||||
"sway/workspaces" = {
|
||||
disable-scroll = true;
|
||||
@ -232,7 +304,7 @@
|
||||
};
|
||||
|
||||
"mpd" = {
|
||||
format = "{stateIcon}{consumeIcon}{randomIcon}{repeatIcon}{singleIcon} {title} ({elapsedTime:%M:%S}/{totalTime:%M%S}) {volume}";
|
||||
format = "{stateIcon}{consumeIcon}{randomIcon}{repeatIcon}{singleIcon} {title} ({elapsedTime:%M:%S}/{totalTime:%M:%S}) {volume}";
|
||||
format-stopped = "{stateIcon}{randomIcon}{repeatIcon}{singleIcon} Stopped {volume}";
|
||||
format-disconnected = "";
|
||||
unkown-tag = "N/A";
|
||||
@ -264,6 +336,15 @@
|
||||
spacing = 10;
|
||||
};
|
||||
|
||||
"custom/squeekboard" = {
|
||||
format = "{}";
|
||||
exec = "${squeekboard_format}/bin/squeekboard_format";
|
||||
return-type = "json";
|
||||
exec-on-event = true;
|
||||
interval = 2;
|
||||
on-click = "${squeekboard_toggle}/bin/squeekboard_toggle";
|
||||
};
|
||||
|
||||
"sway/language" = {
|
||||
format = "{shortDescription}";
|
||||
tooltip = false;
|
||||
@ -328,6 +409,30 @@
|
||||
"${pkgs.sway}/bin/swaymsg workspace 5, move workspace to DP-4"
|
||||
];
|
||||
};
|
||||
dock_luhbots2 = {
|
||||
outputs = [
|
||||
{
|
||||
criteria = "eDP-1";
|
||||
position = "1080,1080";
|
||||
}
|
||||
{
|
||||
criteria = "Dell Inc. DELL U2422HE 8YCPH83";
|
||||
position = "1080,0";
|
||||
}
|
||||
{
|
||||
criteria = "NEC Corporation E243WMi 59118576NB";
|
||||
transform = "90";
|
||||
position = "0,0";
|
||||
}
|
||||
];
|
||||
exec = [
|
||||
"${pkgs.sway}/bin/swaymsg workspace 1, move workspace to DP-4"
|
||||
"${pkgs.sway}/bin/swaymsg workspace 2, move workspace to DP-5"
|
||||
"${pkgs.sway}/bin/swaymsg workspace 3, move workspace to eDP-1"
|
||||
"${pkgs.sway}/bin/swaymsg workspace 4, move workspace to eDP-1"
|
||||
"${pkgs.sway}/bin/swaymsg workspace 5, move workspace to DP-4"
|
||||
];
|
||||
};
|
||||
laptop_hannspree = {
|
||||
outputs = [
|
||||
{
|
||||
|
@ -40,6 +40,14 @@ window#waybar {
|
||||
padding-right: 3px;
|
||||
}
|
||||
|
||||
#custom-squeekboard {
|
||||
border-width: 1px;
|
||||
border-style: none none none solid;
|
||||
border-color: #444444;
|
||||
padding-left: 10px;
|
||||
padding-right: 10px;
|
||||
}
|
||||
|
||||
#language {
|
||||
border-width: 1px;
|
||||
border-style: none none none solid;
|
||||
|
@ -74,4 +74,6 @@
|
||||
enableZshIntegration = true;
|
||||
options = ["--cmd cd"];
|
||||
};
|
||||
|
||||
home.packages = with pkgs; [neovim];
|
||||
}
|
||||
|
BIN
modules/nixos/T-TeleSec_GlobalRoot_Class_2.crt
Normal file
BIN
modules/nixos/T-TeleSec_GlobalRoot_Class_2.crt
Normal file
Binary file not shown.
@ -4,39 +4,24 @@
|
||||
pkgs,
|
||||
...
|
||||
}: let
|
||||
swayConfig = pkgs.writeText "greetd-sway-config" ''
|
||||
input * {
|
||||
xkb_layout "de"
|
||||
xkb_options "caps:ctrl_modifier"
|
||||
xkb_numlock "enable"
|
||||
}
|
||||
input "type:touchpad" {
|
||||
tap "enable"
|
||||
natural_scroll "enable"
|
||||
}
|
||||
|
||||
exec dbus-sway-environment
|
||||
exec configure-gtk
|
||||
# `-l` activates layer-shell mode. Notice that `swaymsg exit` will run after gtkgreet.
|
||||
exec "${pkgs.greetd.regreet}/bin/regreet; swaymsg exit"
|
||||
bindsym Mod4+shift+e exec swaynag \
|
||||
-t warning \
|
||||
-m 'What do you want to do?' \
|
||||
-b 'Poweroff' 'systemctl poweroff' \
|
||||
-b 'Reboot' 'systemctl reboot'
|
||||
themeEnv = ''
|
||||
export XDG_DATA_DIRS="${pkgs.whitesur-gtk-theme}/share:$XDG_DATA_DIRS"
|
||||
export XDG_DATA_DIRS="${pkgs.whitesur-icon-theme}/share:$XDG_DATA_DIRS"
|
||||
export XDG_DATA_DIRS="${pkgs.whitesur-cursors}/share:$XDG_DATA_DIRS"
|
||||
'';
|
||||
in {
|
||||
environment.extraInit = themeEnv;
|
||||
programs.regreet = {
|
||||
enable = true;
|
||||
settings = {
|
||||
background = {
|
||||
fit = "Containe";
|
||||
path = "~/Documents/Blender/desktop background Informatiker/render 4K new color.png";
|
||||
fit = "Contain";
|
||||
path = "/home/max/Documents/Blender/desktop background Informatiker/render 4K new color.png";
|
||||
};
|
||||
gtk = {
|
||||
application_prefer_dark_theme = true;
|
||||
cursor_theme_name = "capitaine-cursors-white";
|
||||
font_name = "FiraCode Nerd Font";
|
||||
font_name = "FiraCode Nerd Font 20";
|
||||
icon_theme_name = "WhiteSur-dark";
|
||||
theme_name = "WhiteSur-Dark";
|
||||
};
|
||||
@ -53,17 +38,15 @@ in {
|
||||
extraGroups = [];
|
||||
};
|
||||
|
||||
services.greetd = {
|
||||
enable = true;
|
||||
settings = {
|
||||
initial_session = {
|
||||
command = "${pkgs.sway}/bin/sway --config ${swayConfig}";
|
||||
user = "greeter";
|
||||
};
|
||||
};
|
||||
};
|
||||
services.greetd.enable = true;
|
||||
|
||||
environment.etc."greetd/environments".text = ''
|
||||
sway
|
||||
'';
|
||||
|
||||
environment.systemPackages = with pkgs; [
|
||||
whitesur-gtk-theme
|
||||
whitesur-icon-theme
|
||||
whitesur-cursors
|
||||
];
|
||||
}
|
||||
|
@ -1,45 +1,40 @@
|
||||
{pkgs, ...}: let
|
||||
# script for rebuilding nixos
|
||||
rebuild = pkgs.writeTextFile {
|
||||
name = "rebuild";
|
||||
destination = "/bin/rebuild";
|
||||
executable = true;
|
||||
text = ''
|
||||
#!${pkgs.bash}/bin/bash
|
||||
rebuild = pkgs.writeShellScriptBin "rebuild" ''
|
||||
# A rebuild script that commits on a successful build
|
||||
set -e
|
||||
|
||||
# A rebuild script that commits on a successful build
|
||||
set -e
|
||||
# cd to your config dir
|
||||
pushd ~/dotfiles/nixos
|
||||
|
||||
# cd to your config dir
|
||||
pushd ~/dotfiles/nixos
|
||||
# Edit your config
|
||||
$EDITOR
|
||||
|
||||
# Edit your config
|
||||
$EDITOR
|
||||
# Autoformat your nix files
|
||||
${pkgs.alejandra}/bin/alejandra . #&>/dev/null
|
||||
|
||||
# Autoformat your nix files
|
||||
${pkgs.alejandra}/bin/alejandra . #&>/dev/null
|
||||
# Shows your changes
|
||||
${pkgs.git}/bin/git diff -U0 *.nix
|
||||
|
||||
# Shows your changes
|
||||
${pkgs.git}/bin/git diff -U0 *.nix
|
||||
echo "NixOS Rebuilding..."
|
||||
|
||||
echo "NixOS Rebuilding..."
|
||||
# echo using sudo so we get feedback after unlocking
|
||||
sudo echo "Beginning rebuild"
|
||||
# Rebuild, output simplified errors, log trackebacks
|
||||
sudo nixos-rebuild switch &>nixos-switch.log || (${pkgs.coreutils}/bin/cat nixos-switch.log | ${pkgs.gnugrep}/bin/grep --color error && false)
|
||||
|
||||
# Rebuild, output simplified errors, log trackebacks
|
||||
sudo nixos-rebuild switch &>nixos-switch.log || (${pkgs.coreutils}/bin/cat nixos-switch.log | ${pkgs.gnugrep}/bin/grep --color error && false)
|
||||
# Get current generation metadata
|
||||
current=$(nixos-rebuild list-generations | ${pkgs.gnugrep}/bin/grep current)
|
||||
|
||||
# Get current generation metadata
|
||||
current=$(nixos-rebuild list-generations | ${pkgs.gnugrep}/bin/grep current)
|
||||
# Commit all changes with the gereation metadata
|
||||
${pkgs.git}/bin/git commit -am "$current"
|
||||
|
||||
# Commit all changes with the gereation metadata
|
||||
${pkgs.git}/bin/git commit -am "$current"
|
||||
# Back to where you were
|
||||
popd
|
||||
|
||||
# Back to where you were
|
||||
popd
|
||||
|
||||
# Notify all OK!
|
||||
${pkgs.libnotify}/bin/notify-send -e "NixOS Rebuilt OK!" --icon=software-update-available
|
||||
'';
|
||||
};
|
||||
# Notify all OK!
|
||||
${pkgs.libnotify}/bin/notify-send -e "NixOS Rebuilt OK!" --icon=software-update-available
|
||||
'';
|
||||
in {
|
||||
environment.systemPackages = [rebuild];
|
||||
}
|
||||
|
34
modules/nixos/sops.nix
Normal file
34
modules/nixos/sops.nix
Normal file
@ -0,0 +1,34 @@
|
||||
{sops, ...}: {
|
||||
sops = {
|
||||
age.keyFile = /home/max/.config/sops/age/keys.txt;
|
||||
secrets = {
|
||||
"home/ssid" = {
|
||||
sopsFile = ../../secrets/wifi.yaml;
|
||||
};
|
||||
"home/psk" = {
|
||||
sopsFile = ../../secrets/wifi.yaml;
|
||||
};
|
||||
"parents/ssid" = {
|
||||
sopsFile = ../../secrets/wifi.yaml;
|
||||
};
|
||||
"parents/psk" = {
|
||||
sopsFile = ../../secrets/wifi.yaml;
|
||||
};
|
||||
"eduroam/ident" = {
|
||||
sopsFile = ../../secrets/wifi.yaml;
|
||||
};
|
||||
"eduroam/psk" = {
|
||||
sopsFile = ../../secrets/wifi.yaml;
|
||||
};
|
||||
"luhbots/ssid" = {
|
||||
sopsFile = ../../secrets/wifi.yaml;
|
||||
};
|
||||
"luhbots/ssid5" = {
|
||||
sopsFile = ../../secrets/wifi.yaml;
|
||||
};
|
||||
"luhbots/psk" = {
|
||||
sopsFile = ../../secrets/wifi.yaml;
|
||||
};
|
||||
};
|
||||
};
|
||||
}
|
@ -3,39 +3,9 @@
|
||||
pkgs,
|
||||
lib,
|
||||
...
|
||||
}: let
|
||||
# bash script to let dbus know about impotant env variables and
|
||||
# propagate them to relevent services run at the end of sway config
|
||||
dbus-sway-environment = pkgs.writeTextFile {
|
||||
name = "dubs-sway-environment";
|
||||
destination = "/bin/dbus-sway-environment";
|
||||
executable = true;
|
||||
text = ''
|
||||
dbus-update-activation-environment --systemd WAYLAND_DISPLAY XDG_CURRENT_DESKTOP=sway
|
||||
systemctl --user stop pipewire pipewire-media-session xdg-desktop-portal xdg-desktop-portal-wlr
|
||||
systemctl --user start pipewire pipewire-media-session xdg-desktop-portal xdg-desktop-portal-wlr
|
||||
'';
|
||||
};
|
||||
|
||||
# currently, there is some friction between sway and gtk:
|
||||
# https://github.com/swaywm/sway/wiki/GTK-3-settings-on-Wayland
|
||||
configure-gtk = pkgs.writeTextFile {
|
||||
name = "configure-gtk";
|
||||
destination = "/bin/configure-gtk";
|
||||
executable = true;
|
||||
text = let
|
||||
schema = pkgs.gsettings-desktop-schemas;
|
||||
datadir = "${schema}/share/gsettings-schemas/${schema.name}";
|
||||
in ''
|
||||
gnome_schema=org.gnome.desktop.interface
|
||||
gsettings set $gnome_schema gtk-theme 'Dracula'
|
||||
'';
|
||||
};
|
||||
in {
|
||||
}: {
|
||||
environment.systemPackages = with pkgs; [
|
||||
dbus # make dbus-update-activation-environment available in the path
|
||||
dbus-sway-environment
|
||||
configure-gtk
|
||||
wayland
|
||||
xdg-utils # for opening default programs when clicking links
|
||||
glib # gsettings
|
||||
@ -88,4 +58,6 @@ in {
|
||||
|
||||
# make swaylock work
|
||||
security.pam.services.swaylock = {};
|
||||
|
||||
users.extraUsers.max.extraGroups = ["input"];
|
||||
}
|
||||
|
@ -1,32 +1,106 @@
|
||||
{config, ...}: {
|
||||
sops.secrets."wireless.env" = {};
|
||||
networking.wireless = {
|
||||
enable = true;
|
||||
userControlled.enable = true;
|
||||
environmentFile = config.sops.secrets."wireless.env".path;
|
||||
networks = {
|
||||
"@home_uuid@" = {
|
||||
psk = "@home_psk@";
|
||||
priority = 10;
|
||||
};
|
||||
"@par_uuid@" = {
|
||||
psk = "@par_psk@";
|
||||
priority = 10;
|
||||
};
|
||||
"@luhbots_uuid@" = {
|
||||
psk = "@luhbots_psk@";
|
||||
priority = 5;
|
||||
};
|
||||
eduroam = {
|
||||
auth = ''
|
||||
key_mgmt=WPA-EAP
|
||||
eap=PWD
|
||||
identity="@eduroam_ident@"
|
||||
password="@eduroam_psk@"
|
||||
'';
|
||||
priority = 0;
|
||||
};
|
||||
};
|
||||
{
|
||||
config,
|
||||
pkgs,
|
||||
...
|
||||
}: {
|
||||
sops.templates = let
|
||||
placeholder = config.sops.placeholder;
|
||||
in {
|
||||
"home.nmconnection".content = ''
|
||||
[connection]
|
||||
id=${placeholder."home/ssid"}
|
||||
type=wifi
|
||||
autoconnect-priority=10
|
||||
|
||||
[wifi]
|
||||
mode=infrastructure
|
||||
ssid=${placeholder."home/ssid"}
|
||||
|
||||
[wifi-security]
|
||||
key-mgmt=wpa-psk
|
||||
psk=${placeholder."home/psk"}
|
||||
'';
|
||||
"parents.nmconnection".content = ''
|
||||
[connection]
|
||||
id=${placeholder."parents/ssid"}
|
||||
type=wifi
|
||||
autoconnect-priority=10
|
||||
|
||||
[wifi]
|
||||
mode=infrastructure
|
||||
ssid=${placeholder."parents/ssid"}
|
||||
|
||||
[wifi-security]
|
||||
key-mgmt=wpa-psk
|
||||
psk=${placeholder."parents/psk"}
|
||||
'';
|
||||
"eduroam.nmconnection".content = ''
|
||||
[connection]
|
||||
id=eduroam
|
||||
type=wifi
|
||||
autoconnect-priority=0
|
||||
|
||||
[wifi]
|
||||
mode=infrastructure
|
||||
ssid=eduroam
|
||||
|
||||
[wifi-security]
|
||||
auth-alg=open
|
||||
key-mgmt=wpa-eap
|
||||
|
||||
[802-1x]
|
||||
anonymous-identity=anonymous@uni-hannover.de
|
||||
ca-cert=${./T-TeleSec_GlobalRoot_Class_2.crt}
|
||||
domain-suffix-match=radius-dfn.luis.uni-hannover.de
|
||||
eap=ttls;
|
||||
identity=${placeholder."eduroam/ident"}
|
||||
password=${placeholder."eduroam/psk"}
|
||||
phase2-auth=mschapv2
|
||||
'';
|
||||
"luhbots.nmconnection".content = ''
|
||||
[connection]
|
||||
id=${placeholder."luhbots/ssid"}
|
||||
type=wifi
|
||||
autoconnect-priority=5
|
||||
|
||||
[wifi]
|
||||
mode=infrastructure
|
||||
ssid=${placeholder."luhbots/ssid"}
|
||||
autoconnect-priority=0
|
||||
|
||||
[wifi-security]
|
||||
key-mgmt=wpa-psk
|
||||
psk=${placeholder."luhbots/psk"}
|
||||
'';
|
||||
"luhbots5.nmconnection".content = ''
|
||||
[connection]
|
||||
id=${placeholder."luhbots/ssid5"}
|
||||
type=wifi
|
||||
autoconnect-priority=10
|
||||
|
||||
[wifi]
|
||||
mode=infrastructure
|
||||
ssid=${placeholder."luhbots/ssid5"}
|
||||
autoconnect-priority=0
|
||||
|
||||
[wifi-security]
|
||||
key-mgmt=wpa-psk
|
||||
psk=${placeholder."luhbots/psk"}
|
||||
'';
|
||||
};
|
||||
users.extraUsers.max.extraGroups = ["wheel"];
|
||||
environment.etc = let
|
||||
template = config.sops.templates;
|
||||
base = "NetworkManager/system-connections";
|
||||
in {
|
||||
"${base}/home.nmconnection".source = template."home.nmconnection".path;
|
||||
"${base}/parents.nmconnection".source = template."parents.nmconnection".path;
|
||||
"${base}/eduroam.nmconnection".source = template."eduroam.nmconnection".path;
|
||||
"${base}/luhbots.nmconnection".source = template."luhbots.nmconnection".path;
|
||||
"${base}/luhbots5.nmconnection".source = template."luhbots5.nmconnection".path;
|
||||
};
|
||||
networking.networkmanager.enable = true;
|
||||
|
||||
environment.systemPackages = with pkgs; [
|
||||
nm-tray
|
||||
];
|
||||
}
|
||||
|
@ -1,4 +1,16 @@
|
||||
wireless.env: ENC[AES256_GCM,data:JSJjKuLsEz7niHs1tOJP0a11Hn2rWw8b671v6Fmq/8Gx+z4Pbz4ndwnsuJOK1fWN0LILCUmKr0pKOIoF+iDWPHJLN0j7iRGQui1AMC10a6uOhCqe0ILPdcGLqIbbo3jEn3/64L4qCVkC7nfHWoOH5v9ccTpPSi90tfLFc/SCqUpeoF0o26v+edxqyEkN+eI01S4vBy7TWijL30BYOiCAI3Q8PDQ7YKwHQukRyApLI2F1DYl0YW/BXOwqvuAvcejXYsM2/Abl0zLnRClTj7War0PS7svVGIzE,iv:ZTI9d/usa4oEWWJ3n3VBmeX3uMuJbuHBxL7ds/dkxZM=,tag:h0c0jvddS0RA2NkQBl3/AQ==,type:str]
|
||||
home:
|
||||
ssid: ENC[AES256_GCM,data:i76d33GIysjSY2k=,iv:34g02nNL5xYXx0PpN49u4xVHzfraTMtAqC4w4oxLBao=,tag:Y3g8kzhPF5LJuaxFq7jd3w==,type:str]
|
||||
psk: ENC[AES256_GCM,data:bb25mbWgCBvwEvKr4sRRXg==,iv:+oNkqdk0bEP1l1e+HpSveRrxJI8OfQtBVcQ5476kMLU=,tag:vdWSVd5pIRGab+lzP4oFHg==,type:str]
|
||||
parents:
|
||||
ssid: ENC[AES256_GCM,data:NZEKQ2N1sC0=,iv:vvsnsH3lYbtXwSnQuInhceiE19Z+ZNszB20TL9BF40g=,tag:5YOljSW9Hht+MCNKhss/Sw==,type:str]
|
||||
psk: ENC[AES256_GCM,data:gjpdj21uLDiY,iv:k1RH2ybRkJccEqjkdv1Tz+qLS2EdGWdn+jRkUcTDLtY=,tag:IuwgoHt//GvyWVvDI2C/2g==,type:str]
|
||||
luhbots:
|
||||
ssid5: ENC[AES256_GCM,data:Bo0aJge7ZkrUhhA=,iv:1EmjRy1xK73xwhE+orUi2HLM9fM2zKxpxDHQnQgEdP0=,tag:P6PSTd34VByQEAhVGbXdNg==,type:str]
|
||||
ssid: ENC[AES256_GCM,data:MH0T/q45UCZL7w==,iv:SFwjqsojxvsu4k83mi69CypaAdzVhFXbebi9/wTsgaY=,tag:JxY5ftwiZp6jGM4ZxvpO/g==,type:str]
|
||||
psk: ENC[AES256_GCM,data:Fg8aRzPc6F0=,iv:5Se6YLTRRAP0Gc4WKPQ4vQHlZcG5mqLLqVLzeEaW/sI=,tag:1Ppw5ZyDSCb0atF8/tnSxg==,type:str]
|
||||
eduroam:
|
||||
ident: ENC[AES256_GCM,data:PXY5jOJ36+ko+a0PmtxViPHv5GvBwfBD32A=,iv:i6uFlawX0nQ7T25MF2OgwgeW43jaB2Y8pNYx9NMAVTc=,tag:veYmEFGz30AbYuHuQdA01w==,type:str]
|
||||
psk: ENC[AES256_GCM,data:AcC96tlKw9mKKdR3nW+5FA==,iv:c6Oly2tmIpLjzTZ1iMl6e9bxAz9r7l5zKpwf3UVBpJg=,tag:yZnNpf2d40eZ6L9OgOzYHQ==,type:str]
|
||||
sops:
|
||||
kms: []
|
||||
gcp_kms: []
|
||||
@ -14,8 +26,8 @@ sops:
|
||||
d0FZc0x5UVhPQ09xUE5Qa1A0QkExVmcKkcy1i+nME0uHlLy8vCu8vgqSuR+0NqaD
|
||||
D+zKRKNdfJn1TLsoyDb4iDSeqp8nB9fZzQqIJshGRhlnqxuzIiYqqA==
|
||||
-----END AGE ENCRYPTED FILE-----
|
||||
lastmodified: "2024-03-08T22:34:29Z"
|
||||
mac: ENC[AES256_GCM,data:MPUKmmbm8aB0BV3yWTeEIAfDudRGo4GSW6LVNBMCVUp/GXNYw45C/w09/u2d6o1oBSIBOZP03mR18sSNpaz7t98iw+F5bArMqefP+nULdhz3D58Zqm8lcaSMVjqCOc8q1O2o/bbhiE3qXZoC2It85Xym1BiVO5fdbwFZVRPa3aY=,iv:Z7Cg8qQg1e3gMHITgU4TfQbBIEx8/9lyhiQVNuQ+/yA=,tag:n/1uaNgHmw7MheLz/+41nA==,type:str]
|
||||
lastmodified: "2024-03-15T13:39:03Z"
|
||||
mac: ENC[AES256_GCM,data:fY0F6U2Vro76AunBcwA4RtCdH6ovtjWFmI5aaqePcLgWuyPFAcDESAtLFNL/83KARRIwHeO2a+Q2gkVHkI3TROyCoPx/LGpIFGWpm5OpSImtT5LPrvFsG0I8cSiXZ7sIIjGaBMNfRNN1YqnYGCwqA2zXyE3mbtpJoVqd0/hVpx8=,iv:T7SrzmPrb3zVT+xkGPaiGj7uL8y3arlfyEbnXmqZYkY=,tag:k228lcSejQGFQAvd7/6Bkg==,type:str]
|
||||
pgp: []
|
||||
unencrypted_suffix: _unencrypted
|
||||
version: 3.8.1
|
||||
|
Loading…
Reference in New Issue
Block a user