1

Make hyprland + network config system dependent

This commit is contained in:
2023-04-26 20:40:29 +02:00
parent 1eabf9a160
commit 5b2dab3946
7 changed files with 187 additions and 165 deletions

View File

@ -1,34 +1,9 @@
######################################################################################## # Source a file (multi-file configs)
AUTOGENERATED HYPR CONFIG. # source = ~/.config/hypr/myColors.conf
PLEASE USE THE CONFIG PROVIDED IN THE GIT REPO /examples/hypr.conf AND EDIT IT, source = ~/.config/hypr/polkit.conf # NOTE: This needs to be sourced, because NixOS fills in the polkit executable path
OR EDIT THIS ONE ACCORDING TO THE WIKI INSTRUCTIONS. source = ~/.config/hypr/waybar-reload.conf
######################################################################################## source = ~/.config/hypr/monitors.conf # NOTE: This file is different for each system
source = ~/.config/hypr/input.conf
#
# Please note not all available settings / options are set here.
# For a full list, see the wiki
#
# autogenerated = 1 # remove this line to remove the warning
# See https://wiki.hyprland.org/Configuring/Monitors/
# monitor=,preferred,auto,auto
monitor = HDMI-A-1, 2560x1440@144, 1920x0, 1
monitor = HDMI-A-2, 1920x1080@60, 0x0, 1
# I have the first 9 workspaces on the main monitor, the last one on the secondary monitor
wsbind = 1, HDMI-A-1
wsbind = 2, HDMI-A-1
wsbind = 3, HDMI-A-1
wsbind = 4, HDMI-A-1
wsbind = 5, HDMI-A-1
wsbind = 6, HDMI-A-1
wsbind = 7, HDMI-A-1
wsbind = 8, HDMI-A-1
wsbind = 9, HDMI-A-1
wsbind = 10, HDMI-A-2
# See https://wiki.hyprland.org/Configuring/Keywords/ for more
# Execute your favorite apps at launch # Execute your favorite apps at launch
# exec-once = waybar # exec-once = waybar
@ -44,33 +19,6 @@ exec-once = wl-paste -t text --watch clipman store --no-persist
exec-once = wl-paste -p -t text --watch clipman store -P --histpath="~/.local/share/clipman-primary.json" exec-once = wl-paste -p -t text --watch clipman store -P --histpath="~/.local/share/clipman-primary.json"
exec-once = hyprctl setcursor Bibata-Modern-Classic 16 exec-once = hyprctl setcursor Bibata-Modern-Classic 16
# Source a file (multi-file configs)
# source = ~/.config/hypr/myColors.conf
source = ~/.config/hypr/polkit.conf # NOTE: This needs to be sourced, because NixOS fills in the polkit executable path
source = ~/.config/hypr/waybar-reload.conf
# TODO: Move keybindings, rules and appearance to other files
# Some default env vars.
# env = XCURSOR_SIZE,24
# For all categories, see https://wiki.hyprland.org/Configuring/Variables/
input {
kb_layout = us
kb_variant = altgr-intl
kb_model = pc104
kb_options =
kb_rules =
follow_mouse = 1
touchpad {
natural_scroll = no
}
sensitivity = 0 # -1.0 - 1.0, 0 means no modification.
}
general { general {
# See https://wiki.hyprland.org/Configuring/Variables/ for more # See https://wiki.hyprland.org/Configuring/Variables/ for more

View File

@ -95,15 +95,6 @@ rec {
}; };
}; };
hyprland = {
enable = true;
theme = "Three-Bears";
# TODO:
# papirusIcons = true;
# bibataCursor = true;
};
# TODO: # TODO:
# plasma = { # plasma = {
# enable = false; # enable = false;

View File

@ -17,6 +17,32 @@ rec {
config = { config = {
modules = { modules = {
hyprland = {
enable = true;
theme = "Three-Bears";
kb-layout = "us";
kb-variant = "altgr-intl";
monitors = ''
# See https://wiki.hyprland.org/Configuring/Monitors/
monitor = HDMI-A-1, 2560x1440@144, 1920x0, 1
monitor = HDMI-A-2, 1920x1080@60, 0x0, 1
# I have the first 9 workspaces on the main monitor, the last one on the secondary monitor
wsbind = 1, HDMI-A-1
wsbind = 2, HDMI-A-1
wsbind = 3, HDMI-A-1
wsbind = 4, HDMI-A-1
wsbind = 5, HDMI-A-1
wsbind = 6, HDMI-A-1
wsbind = 7, HDMI-A-1
wsbind = 8, HDMI-A-1
wsbind = 9, HDMI-A-1
wsbind = 10, HDMI-A-2
'';
};
audio = { audio = {
enable = false; enable = false;

View File

@ -17,6 +17,29 @@ rec {
config = { config = {
modules = { modules = {
hyprland = {
enable = true;
theme = "Three-Bears";
kb-lalyout = "de";
kb-variant = "nodeadkeys";
monitors = ''
# See https://wiki.hyprland.org/Configuring/Monitors/
monitor = eDP-1, 1920x1080@60, 0x0, 1
# I have the first 9 workspaces on the main monitor, the last one on the secondary monitor
wsbind = 1, eDP-1
wsbind = 2, eDP-1
wsbind = 3, eDP-1
wsbind = 4, eDP-1
wsbind = 5, eDP-1
wsbind = 6, eDP-1
wsbind = 7, eDP-1
wsbind = 8, eDP-1
wsbind = 9, eDP-1
'';
};
}; };
home.packages = with pkgs; [ home.packages = with pkgs; [

View File

@ -115,46 +115,7 @@
# TODO: Networking system module # TODO: Networking system module
# NOTE: The systemd networking options are not very flexible, so this will be a problem for the laptop. (=> Use IWD for WiFi) # NOTE: The systemd networking options are not very flexible, so this will be a problem for the laptop. (=> Use IWD for WiFi)
systemd = { systemd.services = let
network = let
eth-interface = "enp0s31f6";
wireless-interface = "";
in {
enable = true;
# LAN
networks."50-ether" = {
# name = "enp0s31f6"; # Network interface name?
enable = true;
# See man systemd.link, man systemd.netdev, man systemd.network
matchConfig = {
# This corresponds to the [MATCH] section
Name = eth-interface; # Match ethernet interface
};
# See man systemd.network
networkConfig = {
# This corresponds to the [NETWORK] section
DHCP = "yes";
# TODO: What does this all do?
# IPv6AcceptRA = true;
# MulticastDNS = "yes"; # Needed?
# LLMNR = "no"; # Needed?
# LinkLocalAddressing = "no"; # Needed?
};
linkConfig = {
# This corresponds to the [LINK] section
# RequiredForOnline = "routable";
};
};
# TODO: WiFi Hotspot?
};
services = let
# TODO: IPv6 Configuration # TODO: IPv6 Configuration
wgup = interface: privatekey: publickey: endpoint: '' wgup = interface: privatekey: publickey: endpoint: ''
#! ${pkgs.bash}/bin/bash #! ${pkgs.bash}/bin/bash
@ -223,7 +184,6 @@
}; };
}; };
}; };
};
services.resolved.enable = true; services.resolved.enable = true;
services.resolved.llmnr = "false"; services.resolved.llmnr = "false";

View File

@ -27,4 +27,41 @@
# videoDrivers = [ "nvidia" ]; # NVIDIA # videoDrivers = [ "nvidia" ]; # NVIDIA
videoDrivers = ["amdgpu"]; videoDrivers = ["amdgpu"];
}; };
# TODO: System module for this
systemd.network = let
eth-interface = "enp0s31f6";
wireless-interface = "wlp5s0";
in {
enable = true;
# LAN
networks."50-ether" = {
# name = "enp0s31f6"; # Network interface name?
enable = true;
# See man systemd.link, man systemd.netdev, man systemd.network
matchConfig = {
# This corresponds to the [MATCH] section
Name = eth-interface; # Match ethernet interface
};
# See man systemd.network
networkConfig = {
# This corresponds to the [NETWORK] section
DHCP = "yes";
# TODO: What does this all do?
# IPv6AcceptRA = true;
# MulticastDNS = "yes"; # Needed?
# LLMNR = "no"; # Needed?
# LinkLocalAddressing = "no"; # Needed?
};
linkConfig = {
# This corresponds to the [LINK] section
# RequiredForOnline = "routable";
};
};
};
} }

View File

@ -19,4 +19,41 @@
# Proprietary graphics drivers # Proprietary graphics drivers
videoDrivers = ["intel"]; videoDrivers = ["intel"];
}; };
systemd.network = let
eth-interface = "enp0s20u2";
wireless-interface = "wlp3s0";
in {
enable = true;
# LAN
networks."50-tether" = {
# name = "enp0s31f6"; # Network interface name?
enable = true;
# See man systemd.link, man systemd.netdev, man systemd.network
matchConfig = {
# This corresponds to the [MATCH] section
Name = eth-interface; # Match ethernet interface
};
# See man systemd.network
networkConfig = {
# This corresponds to the [NETWORK] section
DHCP = "yes";
# TODO: What does this all do?
# IPv6AcceptRA = true;
# MulticastDNS = "yes"; # Needed?
# LLMNR = "no"; # Needed?
# LinkLocalAddressing = "no"; # Needed?
};
linkConfig = {
# This corresponds to the [LINK] section
# RequiredForOnline = "routable";
};
};
};
} }