Add all of iogamaster modules
This commit is contained in:
@@ -22,34 +22,43 @@
|
||||
{
|
||||
imports = [ ./hardware-configuration.nix ];
|
||||
|
||||
nix.buildMachines = [
|
||||
{
|
||||
hostName = "192.168.3.118";
|
||||
system = "x86_64-linux";
|
||||
protocol = "ssh";
|
||||
# if the builder supports building for multiple architectures,
|
||||
# replace the previous line by, e.g.
|
||||
# systems = ["x86_64-linux" "aarch64-linux"];
|
||||
maxJobs = 4;
|
||||
speedFactor = 3;
|
||||
supportedFeatures = [
|
||||
"nixos-test"
|
||||
"benchmark"
|
||||
"big-parallel"
|
||||
"kvm"
|
||||
];
|
||||
mandatoryFeatures = [ ];
|
||||
}
|
||||
];
|
||||
nix.distributedBuilds = true;
|
||||
# nix.buildMachines = [
|
||||
# {
|
||||
# hostName = "192.168.3.118";
|
||||
# system = "x86_64-linux";
|
||||
# protocol = "ssh";
|
||||
# # if the builder supports building for multiple architectures,
|
||||
# # replace the previous line by, e.g.
|
||||
# # systems = ["x86_64-linux" "aarch64-linux"];
|
||||
# maxJobs = 4;
|
||||
# speedFactor = 3;
|
||||
# supportedFeatures = [
|
||||
# "nixos-test"
|
||||
# "benchmark"
|
||||
# "big-parallel"
|
||||
# "kvm"
|
||||
# ];
|
||||
# mandatoryFeatures = [ ];
|
||||
# }
|
||||
# ];
|
||||
# nix.distributedBuilds = true;
|
||||
# optional, useful when the builder has a faster internet connection than yours
|
||||
nix.extraOptions = " builders-use-substitutes = true\n";
|
||||
# nix.extraOptions = " builders-use-substitutes = true\n";
|
||||
|
||||
# Bootloader
|
||||
# Use this for simple nix boot menu, if no dual boot required
|
||||
boot.loader.systemd-boot.enable = true;
|
||||
boot.loader.efi.canTouchEfiVariables = true;
|
||||
modules = {
|
||||
# Bootloader
|
||||
system.boot.efi.enable = true;
|
||||
system.battery.enable = true;
|
||||
|
||||
nixos.home.enable = true;
|
||||
};
|
||||
system.nix.enable = true;
|
||||
|
||||
suites.desktop.enable = true;
|
||||
suites.development.enable = true;
|
||||
suites.editing.enable = true;
|
||||
|
||||
# TODO: not used by iogamaster
|
||||
boot.supportedFilesystems = [
|
||||
"btrfs"
|
||||
"ntfs"
|
||||
@@ -61,224 +70,235 @@
|
||||
# networking.wireless.enable = true; # Enables wireless support via wpa_supplicant.
|
||||
networking.networkmanager.enable = true;
|
||||
|
||||
# Set your time zone.
|
||||
time.timeZone = "Europe/Berlin";
|
||||
|
||||
# Set location used by redshift
|
||||
location.provider = "manual";
|
||||
location.latitude = 47.92;
|
||||
location.longitude = 10.12;
|
||||
|
||||
modules = {
|
||||
locales.enable = true;
|
||||
# greetd.enable = true;
|
||||
# For network topology
|
||||
topology.self.hardware.info = "Aspire 3";
|
||||
networking.interfaces.wlp0s20f3 = {
|
||||
name = "wlp0s20f3";
|
||||
useDHCP = true;
|
||||
};
|
||||
networking.interfaces.enp1s0 = {
|
||||
name = "enp1s0";
|
||||
useDHCP = true;
|
||||
};
|
||||
|
||||
nix.settings.auto-optimise-store = true;
|
||||
nix.settings.experimental-features = [
|
||||
"nix-command"
|
||||
"flakes"
|
||||
];
|
||||
# # Set your time zone.
|
||||
# time.timeZone = "Europe/Berlin";
|
||||
|
||||
# Setup binary caches
|
||||
nix.settings = {
|
||||
substituters = [
|
||||
"https://nix-community.cachix.org"
|
||||
"https://cache.nixos.org/"
|
||||
"https://hyprland.cachix.org"
|
||||
];
|
||||
trusted-public-keys = [
|
||||
"nix-community.cachix.org-1:mB9FSh9qf2dCimDSUo8Zy7bkq5CX+/rkCWyvRCYg3Fs="
|
||||
"hyprland.cachix.org-1:a7pgxzMz7+chwVL3/pzj6jIBMioiJM7ypFP8PwtkuGc="
|
||||
];
|
||||
};
|
||||
# # Set location used by redshift
|
||||
# location.provider = "manual";
|
||||
# location.latitude = 47.92;
|
||||
# location.longitude = 10.12;
|
||||
|
||||
# Enable the X11 windowing system.
|
||||
hardware.opengl.enable = true;
|
||||
|
||||
nix.gc = {
|
||||
automatic = true;
|
||||
dates = "weekly";
|
||||
options = "--delete-older-than 30d";
|
||||
};
|
||||
|
||||
# Enable the XFCE Desktop Environment.
|
||||
services.xserver.displayManager.gdm.enable = true;
|
||||
security.pam.services.gdm.enableGnomeKeyring = true;
|
||||
|
||||
# services.displayManager.sddm.wayland.enable = true;
|
||||
# services.xserver.desktopManager = {
|
||||
# xterm.enable = false;
|
||||
# xfce = {
|
||||
# enable = true;
|
||||
# noDesktop = true;
|
||||
# enableXfwm = false;
|
||||
# };
|
||||
# modules = {
|
||||
# locales.enable = true;
|
||||
# # greetd.enable = true;
|
||||
# };
|
||||
|
||||
# nix.settings.auto-optimise-store = true;
|
||||
# nix.settings.experimental-features = [
|
||||
# "nix-command"
|
||||
# "flakes"
|
||||
# ];
|
||||
|
||||
# # Setup binary caches
|
||||
# nix.settings = {
|
||||
# substituters = [
|
||||
# "https://nix-community.cachix.org"
|
||||
# "https://cache.nixos.org/"
|
||||
# "https://hyprland.cachix.org"
|
||||
# ];
|
||||
# trusted-public-keys = [
|
||||
# "nix-community.cachix.org-1:mB9FSh9qf2dCimDSUo8Zy7bkq5CX+/rkCWyvRCYg3Fs="
|
||||
# "hyprland.cachix.org-1:a7pgxzMz7+chwVL3/pzj6jIBMioiJM7ypFP8PwtkuGc="
|
||||
# ];
|
||||
# };
|
||||
|
||||
# # Enable the X11 windowing system.
|
||||
# hardware.opengl.enable = true;
|
||||
|
||||
# nix.gc = {
|
||||
# automatic = true;
|
||||
# dates = "weekly";
|
||||
# options = "--delete-older-than 30d";
|
||||
# };
|
||||
|
||||
# # Enable the XFCE Desktop Environment.
|
||||
# services.xserver.displayManager.gdm.enable = true;
|
||||
# services.xserver.windowManager.i3.enable = true;
|
||||
# services.xserver.windowManager.i3.package = pkgs.i3-gaps;
|
||||
# security.pam.services.gdm.enableGnomeKeyring = true;
|
||||
|
||||
programs.hyprland.enable = true;
|
||||
programs.hyprland.xwayland.enable = true;
|
||||
# # services.displayManager.sddm.wayland.enable = true;
|
||||
# # services.xserver.desktopManager = {
|
||||
# # xterm.enable = false;
|
||||
# # xfce = {
|
||||
# # enable = true;
|
||||
# # noDesktop = true;
|
||||
# # enableXfwm = false;
|
||||
# # };
|
||||
# # };
|
||||
# # services.xserver.displayManager.gdm.enable = true;
|
||||
# # services.xserver.windowManager.i3.enable = true;
|
||||
# # services.xserver.windowManager.i3.package = pkgs.i3-gaps;
|
||||
|
||||
# Configure keymap in X11
|
||||
services.xserver = {
|
||||
enable = true;
|
||||
xkb.layout = "de";
|
||||
xkb.variant = "";
|
||||
};
|
||||
# programs.hyprland.enable = true;
|
||||
# programs.hyprland.xwayland.enable = true;
|
||||
|
||||
# Configure console keymap
|
||||
console.keyMap = "de";
|
||||
# # Configure keymap in X11
|
||||
# services.xserver = {
|
||||
# enable = true;
|
||||
# xkb.layout = "de";
|
||||
# xkb.variant = "";
|
||||
# };
|
||||
|
||||
# Enable sound with pipewire.
|
||||
sound.enable = true;
|
||||
hardware.pulseaudio.enable = false;
|
||||
security.polkit.enable = true;
|
||||
# # Configure console keymap
|
||||
# console.keyMap = "de";
|
||||
|
||||
systemd = {
|
||||
user.services.polkit-gnome-authentication-agent-1 = {
|
||||
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;
|
||||
};
|
||||
};
|
||||
};
|
||||
# # Enable sound with pipewire.
|
||||
# sound.enable = true;
|
||||
# hardware.pulseaudio.enable = false;
|
||||
# security.polkit.enable = true;
|
||||
|
||||
security.pam.services.hyprlock = { };
|
||||
|
||||
# Sound
|
||||
security.rtkit.enable = true;
|
||||
services.pipewire = {
|
||||
enable = true;
|
||||
alsa.enable = true;
|
||||
alsa.support32Bit = true;
|
||||
pulse.enable = true;
|
||||
jack.enable = true;
|
||||
};
|
||||
|
||||
# Enable touchpad support (enabled default in most desktopManager).
|
||||
services.xserver.libinput.enable = true;
|
||||
|
||||
# Define a user account. Don't forget to set a password with ‘passwd’.
|
||||
users.users.julian = {
|
||||
isNormalUser = true;
|
||||
description = "Julian";
|
||||
uid = 1000;
|
||||
group = "julian";
|
||||
shell = pkgs.fish;
|
||||
extraGroups = [
|
||||
"networkmanager"
|
||||
"wheel"
|
||||
"docker"
|
||||
];
|
||||
};
|
||||
|
||||
# home-manager.useGlobalPkgs = true; # make overlays for nixpkgs work for home-manager, not only the system
|
||||
# home-manager.useUserPackages = true;
|
||||
|
||||
programs.fish.enable = true;
|
||||
|
||||
programs.nix-ld.enable = true;
|
||||
|
||||
users.groups.julian = {
|
||||
gid = 1000;
|
||||
};
|
||||
|
||||
programs.seahorse.enable = true;
|
||||
services.gnome.gnome-keyring.enable = true;
|
||||
|
||||
# systemd.services."wg-quick@julian".enable = true;
|
||||
# networking.wireguard.enable = true;
|
||||
|
||||
# This interface is started on boot / switch
|
||||
networking.wg-quick.interfaces = {
|
||||
julian = {
|
||||
configFile = "/etc/wireguard/julian.conf";
|
||||
};
|
||||
};
|
||||
|
||||
# List services that you want to enable:
|
||||
# Enable the OpenSSH daemon.
|
||||
services.openssh.enable = false;
|
||||
|
||||
services.syncthing.enable = true;
|
||||
services.syncthing.user = "julian";
|
||||
services.syncthing.group = "julian";
|
||||
#services.syncthing.key = config.sops.secrets."aspi/syncthing/key".path;
|
||||
#services.syncthing.cert = config.sops.secrets."aspi/syncthing/cert".path;
|
||||
# overrideDevices = true; # overrides any devices added or deleted through the WebUI
|
||||
# overrideFolders = true; # overrides any folders added or deleted through the WebUI
|
||||
# settings = {
|
||||
# devices = {
|
||||
# "device1" = {
|
||||
# id = "DEVICE-ID-GOES-HERE";
|
||||
# };
|
||||
# "device2" = {
|
||||
# id = "DEVICE-ID-GOES-HERE";
|
||||
# };
|
||||
# };
|
||||
# folders = {
|
||||
# "Documents" = {
|
||||
# # Name of folder in Syncthing, also the folder ID
|
||||
# path = "/home/myusername/Documents"; # Which folder to add to Syncthing
|
||||
# devices = [
|
||||
# "device1"
|
||||
# "device2"
|
||||
# ]; # Which devices to share the folder with
|
||||
# };
|
||||
# "Example" = {
|
||||
# path = "/home/myusername/Example";
|
||||
# devices = [ "device1" ];
|
||||
# ignorePerms = false; # By default, Syncthing doesn't sync file permissions. This line enables it for this folder.
|
||||
# systemd = {
|
||||
# user.services.polkit-gnome-authentication-agent-1 = {
|
||||
# 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;
|
||||
# };
|
||||
# };
|
||||
# };
|
||||
|
||||
# x11 only, for wayland use gammastep (home-manager)
|
||||
# services.redshift.enable = true;
|
||||
# security.pam.services.hyprlock = { };
|
||||
|
||||
services.flatpak.enable = true;
|
||||
# # Sound
|
||||
# security.rtkit.enable = true;
|
||||
# services.pipewire = {
|
||||
# enable = true;
|
||||
# alsa.enable = true;
|
||||
# alsa.support32Bit = true;
|
||||
# pulse.enable = true;
|
||||
# jack.enable = true;
|
||||
# };
|
||||
|
||||
xdg.portal.enable = true;
|
||||
xdg.portal.extraPortals = [
|
||||
pkgs.xdg-desktop-portal-gtk
|
||||
pkgs.xdg-desktop-portal-hyprland
|
||||
];
|
||||
# # Enable touchpad support (enabled default in most desktopManager).
|
||||
# services.xserver.libinput.enable = true;
|
||||
|
||||
# services.emacs.enable = true;
|
||||
# # Define a user account. Don't forget to set a password with ‘passwd’.
|
||||
# users.users.julian = {
|
||||
# isNormalUser = true;
|
||||
# description = "Julian";
|
||||
# uid = 1000;
|
||||
# group = "julian";
|
||||
# shell = pkgs.fish;
|
||||
# extraGroups = [
|
||||
# "networkmanager"
|
||||
# "wheel"
|
||||
# "docker"
|
||||
# ];
|
||||
# };
|
||||
|
||||
# # home-manager.useGlobalPkgs = true; # make overlays for nixpkgs work for home-manager, not only the system
|
||||
# # home-manager.useUserPackages = true;
|
||||
|
||||
# programs.fish.enable = true;
|
||||
|
||||
# programs.nix-ld.enable = true;
|
||||
|
||||
# users.groups.julian = {
|
||||
# gid = 1000;
|
||||
# };
|
||||
|
||||
# programs.seahorse.enable = true;
|
||||
# services.gnome.gnome-keyring.enable = true;
|
||||
|
||||
# List packages installed in system profile. To search, run:
|
||||
# $ nix search wget
|
||||
# # systemd.services."wg-quick@julian".enable = true;
|
||||
# # networking.wireguard.enable = true;
|
||||
|
||||
# Packages needed as root
|
||||
environment.systemPackages = with pkgs; [
|
||||
vim
|
||||
htop
|
||||
mc
|
||||
xorg.xhost
|
||||
kdePackages.qtwayland
|
||||
frajul.pulseaudio-popup
|
||||
gparted-xhost # needs to be installed as system package so it can be actually opened
|
||||
];
|
||||
# # This interface is started on boot / switch
|
||||
# networking.wg-quick.interfaces = {
|
||||
# julian = {
|
||||
# configFile = "/etc/wireguard/julian.conf";
|
||||
# };
|
||||
# };
|
||||
|
||||
virtualisation.docker.enable = true;
|
||||
# # List services that you want to enable:
|
||||
# # Enable the OpenSSH daemon.
|
||||
# services.openssh.enable = false;
|
||||
|
||||
virtualisation.virtualbox.host.enable = true;
|
||||
# virtualisation.virtualbox.host.enableExtensionPack = true;
|
||||
# virtualisation.virtualbox.guest.enable = true;
|
||||
# virtualisation.virtualbox.guest.x11 = true;
|
||||
users.extraGroups.vboxusers.members = [ "julian" ];
|
||||
# services.syncthing.enable = true;
|
||||
# services.syncthing.user = "julian";
|
||||
# services.syncthing.group = "julian";
|
||||
# #services.syncthing.key = config.sops.secrets."aspi/syncthing/key".path;
|
||||
# #services.syncthing.cert = config.sops.secrets."aspi/syncthing/cert".path;
|
||||
# # overrideDevices = true; # overrides any devices added or deleted through the WebUI
|
||||
# # overrideFolders = true; # overrides any folders added or deleted through the WebUI
|
||||
# # settings = {
|
||||
# # devices = {
|
||||
# # "device1" = {
|
||||
# # id = "DEVICE-ID-GOES-HERE";
|
||||
# # };
|
||||
# # "device2" = {
|
||||
# # id = "DEVICE-ID-GOES-HERE";
|
||||
# # };
|
||||
# # };
|
||||
# # folders = {
|
||||
# # "Documents" = {
|
||||
# # # Name of folder in Syncthing, also the folder ID
|
||||
# # path = "/home/myusername/Documents"; # Which folder to add to Syncthing
|
||||
# # devices = [
|
||||
# # "device1"
|
||||
# # "device2"
|
||||
# # ]; # Which devices to share the folder with
|
||||
# # };
|
||||
# # "Example" = {
|
||||
# # path = "/home/myusername/Example";
|
||||
# # devices = [ "device1" ];
|
||||
# # ignorePerms = false; # By default, Syncthing doesn't sync file permissions. This line enables it for this folder.
|
||||
# # };
|
||||
# # };
|
||||
# # };
|
||||
|
||||
# # x11 only, for wayland use gammastep (home-manager)
|
||||
# # services.redshift.enable = true;
|
||||
|
||||
# services.flatpak.enable = true;
|
||||
|
||||
# xdg.portal.enable = true;
|
||||
# xdg.portal.extraPortals = [
|
||||
# pkgs.xdg-desktop-portal-gtk
|
||||
# pkgs.xdg-desktop-portal-hyprland
|
||||
# ];
|
||||
|
||||
# # services.emacs.enable = true;
|
||||
|
||||
# # services.gnome.gnome-keyring.enable = true;
|
||||
|
||||
# # List packages installed in system profile. To search, run:
|
||||
# # $ nix search wget
|
||||
|
||||
# # Packages needed as root
|
||||
# environment.systemPackages = with pkgs; [
|
||||
# vim
|
||||
# htop
|
||||
# mc
|
||||
# xorg.xhost
|
||||
# kdePackages.qtwayland
|
||||
# frajul.pulseaudio-popup
|
||||
# gparted-xhost # needs to be installed as system package so it can be actually opened
|
||||
# ];
|
||||
|
||||
# virtualisation.docker.enable = true;
|
||||
|
||||
# virtualisation.virtualbox.host.enable = true;
|
||||
# # virtualisation.virtualbox.host.enableExtensionPack = true;
|
||||
# # virtualisation.virtualbox.guest.enable = true;
|
||||
# # virtualisation.virtualbox.guest.x11 = true;
|
||||
# users.extraGroups.vboxusers.members = [ "julian" ];
|
||||
|
||||
# Some programs need SUID wrappers, can be configured further or are
|
||||
# started in user sessions.
|
||||
|
Reference in New Issue
Block a user