Modularize config
This commit is contained in:
parent
f5730508de
commit
8368189fbf
29 changed files with 361 additions and 451 deletions
|
|
@ -1,24 +0,0 @@
|
||||||
{ config, pkgs, ... }:
|
|
||||||
|
|
||||||
let cfg = config.autologin;
|
|
||||||
in
|
|
||||||
{
|
|
||||||
options = {
|
|
||||||
autologin.username = pkgs.lib.mkOption {
|
|
||||||
description = "Username of user to be automatically logged in at tty1";
|
|
||||||
};
|
|
||||||
};
|
|
||||||
config = {
|
|
||||||
systemd.services."autovt@tty1".description = "Autologin at the TTY1";
|
|
||||||
systemd.services."autovt@tty1".after = [ "systemd-logind.service" ]; # without it user session not started and xorg can't be run from this tty
|
|
||||||
systemd.services."autovt@tty1".wantedBy = [ "multi-user.target" ];
|
|
||||||
systemd.services."autovt@tty1".serviceConfig = {
|
|
||||||
ExecStart = [
|
|
||||||
"" # override upstream default with an empty ExecStart
|
|
||||||
"@${pkgs.utillinux}/sbin/agetty agetty --login-program ${pkgs.shadow}/bin/login --autologin '${cfg.username}' --noclear %I $TERM"
|
|
||||||
];
|
|
||||||
Restart = "always";
|
|
||||||
Type = "idle";
|
|
||||||
};
|
|
||||||
};
|
|
||||||
}
|
|
||||||
9
fish.nix
9
fish.nix
|
|
@ -1,9 +0,0 @@
|
||||||
{ config, lib, pkgs, ... }:
|
|
||||||
|
|
||||||
{
|
|
||||||
environment.systemPackages = with pkgs; [
|
|
||||||
unstable.fish
|
|
||||||
];
|
|
||||||
programs.fish.enable = true;
|
|
||||||
}
|
|
||||||
|
|
||||||
|
|
@ -53,7 +53,7 @@
|
||||||
|
|
||||||
modules = [
|
modules = [
|
||||||
(./machines + "/${hostname}/configuration.nix")
|
(./machines + "/${hostname}/configuration.nix")
|
||||||
|
./modules
|
||||||
{
|
{
|
||||||
_module.args.inputs = inputs;
|
_module.args.inputs = inputs;
|
||||||
}
|
}
|
||||||
|
|
|
||||||
|
|
@ -1,9 +0,0 @@
|
||||||
{ config, lib, pkgs, ... }:
|
|
||||||
|
|
||||||
{
|
|
||||||
services.printing.enable = true;
|
|
||||||
services.printing.drivers = [
|
|
||||||
pkgs.brlaser
|
|
||||||
];
|
|
||||||
}
|
|
||||||
|
|
||||||
|
|
@ -1,4 +0,0 @@
|
||||||
{ config, lib, pkgs, ... }:
|
|
||||||
|
|
||||||
{
|
|
||||||
}
|
|
||||||
|
|
@ -1,4 +0,0 @@
|
||||||
{ config, lib, pkgs, ... }:
|
|
||||||
|
|
||||||
{
|
|
||||||
}
|
|
||||||
|
|
@ -1,15 +0,0 @@
|
||||||
{ config, lib, pkgs, ... }:
|
|
||||||
|
|
||||||
{
|
|
||||||
boot.initrd.availableKernelModules = [
|
|
||||||
"i915"
|
|
||||||
];
|
|
||||||
|
|
||||||
environment.systemPackages = with pkgs; [
|
|
||||||
intel-media-driver
|
|
||||||
libva
|
|
||||||
libva-utils
|
|
||||||
libva1
|
|
||||||
];
|
|
||||||
hardware.opengl.extraPackages = lib.singleton pkgs.vaapiIntel;
|
|
||||||
}
|
|
||||||
|
|
@ -1,51 +1,10 @@
|
||||||
# Edit this configuration file to define what should be installed on
|
|
||||||
# your system. Help is available in the configuration.nix(5) man page
|
|
||||||
# and in the NixOS manual (accessible by running ‘nixos-help’).
|
|
||||||
|
|
||||||
{ config, pkgs, ... }:
|
{ config, pkgs, ... }:
|
||||||
|
|
||||||
{
|
{
|
||||||
imports =
|
imports = [
|
||||||
[
|
./hardware-configuration.nix
|
||||||
./hardware-configuration.nix
|
../../home-manager/users/jalr.nix
|
||||||
../../hardware/cadmium.nix
|
];
|
||||||
../../sway.nix
|
|
||||||
../../unstable.nix
|
|
||||||
../../fish.nix
|
|
||||||
../../autologin.nix
|
|
||||||
../../obs.nix
|
|
||||||
../../pipewire.nix
|
|
||||||
];
|
|
||||||
|
|
||||||
hardware.cpu.intel.updateMicrocode = true;
|
|
||||||
powerManagement.cpuFreqGovernor = "performance";
|
|
||||||
|
|
||||||
nix.autoOptimiseStore = true;
|
|
||||||
nix.useSandbox = true;
|
|
||||||
|
|
||||||
boot = {
|
|
||||||
kernelParams = [ "radeon.dpm=1" ];
|
|
||||||
loader = {
|
|
||||||
systemd-boot.enable = true;
|
|
||||||
efi.efiSysMountPoint = "/boot";
|
|
||||||
efi.canTouchEfiVariables = true;
|
|
||||||
};
|
|
||||||
initrd = {
|
|
||||||
availableKernelModules = [
|
|
||||||
"aes_generic"
|
|
||||||
"cryptd"
|
|
||||||
"nvme"
|
|
||||||
"xhci_pci"
|
|
||||||
];
|
|
||||||
luks.devices = {
|
|
||||||
pvcrypt = {
|
|
||||||
device = "/dev/disk/by-uuid/b706883f-3979-41ea-b72e-497c0ada5092";
|
|
||||||
preLVM = true;
|
|
||||||
allowDiscards = true;
|
|
||||||
};
|
|
||||||
};
|
|
||||||
};
|
|
||||||
};
|
|
||||||
|
|
||||||
networking = {
|
networking = {
|
||||||
hostName = "cadmium";
|
hostName = "cadmium";
|
||||||
|
|
@ -63,18 +22,10 @@
|
||||||
];
|
];
|
||||||
};
|
};
|
||||||
extraHosts = ''
|
extraHosts = ''
|
||||||
#10.10.10.10 example.com
|
#10.10.10.10 example.com
|
||||||
'';
|
'';
|
||||||
};
|
};
|
||||||
|
|
||||||
i18n.defaultLocale = "de_DE.UTF-8";
|
|
||||||
console = {
|
|
||||||
font = "Lat2-Terminus16";
|
|
||||||
keyMap = "neo";
|
|
||||||
};
|
|
||||||
|
|
||||||
time.timeZone = "UTC";
|
|
||||||
|
|
||||||
environment.systemPackages = with pkgs; [
|
environment.systemPackages = with pkgs; [
|
||||||
file
|
file
|
||||||
fzf
|
fzf
|
||||||
|
|
@ -94,14 +45,6 @@
|
||||||
virt-manager
|
virt-manager
|
||||||
];
|
];
|
||||||
|
|
||||||
xdg.icons.enable = true;
|
|
||||||
|
|
||||||
fonts.fonts = with pkgs; [
|
|
||||||
powerline-fonts
|
|
||||||
roboto
|
|
||||||
font-awesome
|
|
||||||
];
|
|
||||||
|
|
||||||
environment.variables.EDITOR = "nvim";
|
environment.variables.EDITOR = "nvim";
|
||||||
|
|
||||||
nixpkgs.overlays = [
|
nixpkgs.overlays = [
|
||||||
|
|
@ -116,9 +59,9 @@
|
||||||
programs.mtr.enable = true;
|
programs.mtr.enable = true;
|
||||||
|
|
||||||
programs.gnupg.agent = {
|
programs.gnupg.agent = {
|
||||||
enable = true;
|
enable = true;
|
||||||
pinentryFlavor = "gnome3";
|
pinentryFlavor = "gnome3";
|
||||||
};
|
};
|
||||||
|
|
||||||
hardware.bluetooth.enable = true;
|
hardware.bluetooth.enable = true;
|
||||||
services.blueman.enable = true;
|
services.blueman.enable = true;
|
||||||
|
|
@ -152,22 +95,11 @@
|
||||||
|
|
||||||
security.polkit.enable = true;
|
security.polkit.enable = true;
|
||||||
|
|
||||||
# Define a user account. Don't forget to set a password with ‘passwd’.
|
myConfig = {
|
||||||
users.users.jalr = {
|
gui.enable = true;
|
||||||
isNormalUser = true;
|
autologin.enable = true;
|
||||||
extraGroups = [
|
|
||||||
"dialout"
|
|
||||||
"docker"
|
|
||||||
"libvirtd"
|
|
||||||
"networkmanager"
|
|
||||||
"video"
|
|
||||||
"wheel"
|
|
||||||
]; # Enable ‘sudo’ for the user.
|
|
||||||
shell = pkgs.fish;
|
|
||||||
};
|
};
|
||||||
|
|
||||||
autologin.username = "jalr";
|
|
||||||
|
|
||||||
# This value determines the NixOS release from which the default
|
# This value determines the NixOS release from which the default
|
||||||
# settings for stateful data, like file locations and database versions
|
# settings for stateful data, like file locations and database versions
|
||||||
# on your system were taken. It‘s perfectly fine and recommended to leave
|
# on your system were taken. It‘s perfectly fine and recommended to leave
|
||||||
|
|
|
||||||
|
|
@ -1,33 +1,58 @@
|
||||||
{ config, lib, pkgs, modulesPath, ... }:
|
{ modulesPath, ... }:
|
||||||
|
|
||||||
{
|
{
|
||||||
imports = [
|
imports = [
|
||||||
"${modulesPath}/installer/scan/not-detected.nix"
|
"${modulesPath}/installer/scan/not-detected.nix"
|
||||||
];
|
];
|
||||||
|
|
||||||
boot.initrd.availableKernelModules = [ "xhci_pci" "ehci_pci" "ahci" "usbhid" "usb_storage" "sd_mod" "sr_mod" ];
|
boot = {
|
||||||
boot.initrd.kernelModules = [ "dm-snapshot" ];
|
initrd = {
|
||||||
boot.kernelModules = [ "kvm-intel" ];
|
availableKernelModules = [
|
||||||
boot.extraModulePackages = [ ];
|
"aes_generic"
|
||||||
|
"ahci"
|
||||||
|
"cryptd"
|
||||||
|
"ehci_pci"
|
||||||
|
"nvme"
|
||||||
|
"sd_mod"
|
||||||
|
"sr_mod"
|
||||||
|
"usb_storage"
|
||||||
|
"usbhid"
|
||||||
|
"xhci_pci"
|
||||||
|
];
|
||||||
|
kernelModules = [ "dm-snapshot" ];
|
||||||
|
luks.devices = {
|
||||||
|
pvcrypt = {
|
||||||
|
device = "/dev/disk/by-uuid/b706883f-3979-41ea-b72e-497c0ada5092";
|
||||||
|
preLVM = true;
|
||||||
|
allowDiscards = true;
|
||||||
|
};
|
||||||
|
};
|
||||||
|
};
|
||||||
|
kernelModules = [ "kvm-amd" ];
|
||||||
|
kernelParams = [ "radeon.dpm=1" ];
|
||||||
|
loader = {
|
||||||
|
systemd-boot.enable = true;
|
||||||
|
efi.efiSysMountPoint = "/boot";
|
||||||
|
efi.canTouchEfiVariables = true;
|
||||||
|
};
|
||||||
|
};
|
||||||
|
|
||||||
fileSystems."/" =
|
fileSystems = {
|
||||||
#{ device = "/dev/disk/by-uuid/d6302c3c-1100-4cc4-86d7-fc3a84db9a37";
|
"/" = {
|
||||||
{ device = "/dev/disk/by-uuid/6de83731-af29-4ba2-a0b2-48d3a1f5537e";
|
device = "/dev/disk/by-uuid/6de83731-af29-4ba2-a0b2-48d3a1f5537e";
|
||||||
fsType = "ext4";
|
fsType = "ext4";
|
||||||
};
|
};
|
||||||
fileSystems."/boot" =
|
"/boot" = {
|
||||||
#{ device = "/dev/disk/by-uuid/BBF2-C8B1";
|
device = "/dev/disk/by-uuid/D384-54D8";
|
||||||
{ device = "/dev/disk/by-uuid/D384-54D8";
|
|
||||||
fsType = "vfat";
|
fsType = "vfat";
|
||||||
};
|
};
|
||||||
fileSystems."/home" =
|
"/home" = {
|
||||||
{ device = "/dev/disk/by-uuid/f14ae966-ac3f-467f-9263-ba9136967782";
|
device = "/dev/disk/by-uuid/f14ae966-ac3f-467f-9263-ba9136967782";
|
||||||
fsType = "ext4";
|
fsType = "ext4";
|
||||||
noCheck = true;
|
noCheck = true;
|
||||||
};
|
};
|
||||||
|
};
|
||||||
|
|
||||||
swapDevices = [ ];
|
nix.maxJobs = 8;
|
||||||
|
powerManagement.cpuFreqGovernor = "powersave";
|
||||||
nix.maxJobs = lib.mkDefault 8;
|
|
||||||
powerManagement.cpuFreqGovernor = lib.mkDefault "powersave";
|
|
||||||
}
|
}
|
||||||
|
|
|
||||||
|
|
@ -1,36 +1,10 @@
|
||||||
# Edit this configuration file to define what should be installed on
|
|
||||||
# your system. Help is available in the configuration.nix(5) man page
|
|
||||||
# and in the NixOS manual (accessible by running ‘nixos-help’).
|
|
||||||
|
|
||||||
{ config, pkgs, ... }:
|
{ config, pkgs, ... }:
|
||||||
|
|
||||||
{
|
{
|
||||||
imports =
|
imports = [
|
||||||
[
|
./hardware-configuration.nix
|
||||||
./hardware-configuration.nix
|
../../home-manager/users/jal.nix
|
||||||
../../hardware/t14.nix
|
];
|
||||||
../../sway.nix
|
|
||||||
../../unstable.nix
|
|
||||||
../../fish.nix
|
|
||||||
../../autologin.nix
|
|
||||||
../../obs.nix
|
|
||||||
../../lxc.nix
|
|
||||||
../../pipewire.nix
|
|
||||||
];
|
|
||||||
|
|
||||||
nix.autoOptimiseStore = true;
|
|
||||||
nix.useSandbox = true;
|
|
||||||
|
|
||||||
# Use the systemd-boot EFI boot loader.
|
|
||||||
boot = {
|
|
||||||
loader = {
|
|
||||||
systemd-boot.enable = true;
|
|
||||||
efi = {
|
|
||||||
efiSysMountPoint = "/boot/efi";
|
|
||||||
canTouchEfiVariables = true;
|
|
||||||
};
|
|
||||||
};
|
|
||||||
};
|
|
||||||
|
|
||||||
networking = {
|
networking = {
|
||||||
hostName = "hafnium";
|
hostName = "hafnium";
|
||||||
|
|
@ -52,26 +26,29 @@
|
||||||
];
|
];
|
||||||
};
|
};
|
||||||
extraHosts = ''
|
extraHosts = ''
|
||||||
#10.10.10.10 example.com
|
#10.10.10.10 example.com
|
||||||
#10.158.228.70 support.demo.core.tradebyte.com
|
#10.158.228.70 support.demo.core.tradebyte.com
|
||||||
#10.158.228.28 demo.core.tradebyte.com
|
#10.158.228.28 demo.core.tradebyte.com
|
||||||
#10.158.227.210 supporttest.tradebyte.com
|
#10.158.227.210 supporttest.tradebyte.com
|
||||||
#10.158.227.132 test.tradebyte.com
|
#10.158.227.132 test.tradebyte.com
|
||||||
#10.158.227.23 sandbox.tradebyte.com
|
#10.158.227.23 sandbox.tradebyte.com
|
||||||
#10.158.227.89 supportsandbox.tradebyte.com
|
#10.158.227.89 supportsandbox.tradebyte.com
|
||||||
10.158.226.157 staging.tradebyte.com
|
10.158.226.157 staging.tradebyte.com
|
||||||
10.158.226.209 supportstaging.tradebyte.com
|
10.158.226.209 supportstaging.tradebyte.com
|
||||||
'';
|
'';
|
||||||
};
|
};
|
||||||
|
|
||||||
i18n.defaultLocale = "de_DE.UTF-8";
|
# Use the systemd-boot EFI boot loader.
|
||||||
console = {
|
boot = {
|
||||||
font = "Lat2-Terminus16";
|
loader = {
|
||||||
keyMap = "neo";
|
systemd-boot.enable = true;
|
||||||
|
efi = {
|
||||||
|
efiSysMountPoint = "/boot/efi";
|
||||||
|
canTouchEfiVariables = true;
|
||||||
|
};
|
||||||
|
};
|
||||||
};
|
};
|
||||||
|
|
||||||
time.timeZone = "UTC";
|
|
||||||
|
|
||||||
environment.systemPackages = with pkgs; [
|
environment.systemPackages = with pkgs; [
|
||||||
brightnessctl
|
brightnessctl
|
||||||
file
|
file
|
||||||
|
|
@ -93,14 +70,6 @@
|
||||||
virt-manager
|
virt-manager
|
||||||
];
|
];
|
||||||
|
|
||||||
xdg.icons.enable = true;
|
|
||||||
|
|
||||||
fonts.fonts = with pkgs; [
|
|
||||||
powerline-fonts
|
|
||||||
roboto
|
|
||||||
font-awesome
|
|
||||||
];
|
|
||||||
|
|
||||||
environment.variables.EDITOR = "nvim";
|
environment.variables.EDITOR = "nvim";
|
||||||
|
|
||||||
nixpkgs.overlays = [
|
nixpkgs.overlays = [
|
||||||
|
|
@ -113,10 +82,10 @@
|
||||||
];
|
];
|
||||||
|
|
||||||
programs.mtr.enable = true;
|
programs.mtr.enable = true;
|
||||||
|
|
||||||
programs.gnupg.agent = {
|
programs.gnupg.agent = {
|
||||||
enable = true;
|
enable = true;
|
||||||
pinentryFlavor = "gnome3";
|
pinentryFlavor = "gnome3";
|
||||||
};
|
};
|
||||||
|
|
||||||
hardware.bluetooth.enable = true;
|
hardware.bluetooth.enable = true;
|
||||||
|
|
@ -124,7 +93,7 @@
|
||||||
services.ofono.enable = true;
|
services.ofono.enable = true;
|
||||||
|
|
||||||
services.udisks2.enable = true;
|
services.udisks2.enable = true;
|
||||||
|
|
||||||
services.openssh.enable = true;
|
services.openssh.enable = true;
|
||||||
|
|
||||||
services.udev.extraRules = ''
|
services.udev.extraRules = ''
|
||||||
|
|
@ -149,22 +118,13 @@
|
||||||
|
|
||||||
security.polkit.enable = true;
|
security.polkit.enable = true;
|
||||||
|
|
||||||
# Define a user account. Don't forget to set a password with ‘passwd’.
|
myConfig = {
|
||||||
users.users.jal = {
|
gui.enable = true;
|
||||||
isNormalUser = true;
|
autologin.enable = true;
|
||||||
extraGroups = [
|
autologin.username = "jal";
|
||||||
"dialout"
|
tradebyte.enable = true;
|
||||||
"docker"
|
|
||||||
"libvirtd"
|
|
||||||
"networkmanager"
|
|
||||||
"video"
|
|
||||||
"wheel"
|
|
||||||
]; # Enable ‘sudo’ for the user.
|
|
||||||
shell = pkgs.fish;
|
|
||||||
};
|
};
|
||||||
|
|
||||||
autologin.username = "jal";
|
|
||||||
|
|
||||||
networking.wg-quick.interfaces.tbcore = {
|
networking.wg-quick.interfaces.tbcore = {
|
||||||
address = [
|
address = [
|
||||||
"172.27.27.16/32"
|
"172.27.27.16/32"
|
||||||
|
|
|
||||||
|
|
@ -1,14 +1,21 @@
|
||||||
{ config, lib, pkgs, modulesPath, ... }:
|
{ modulesPath, ... }:
|
||||||
|
|
||||||
{
|
{
|
||||||
imports = [
|
imports = [
|
||||||
"${modulesPath}/installer/scan/not-detected.nix"
|
"${modulesPath}/installer/scan/not-detected.nix"
|
||||||
];
|
];
|
||||||
|
|
||||||
boot.initrd.availableKernelModules = [ "nvme" "ehci_pci" "xhci_pci" "usb_storage" "sd_mod" "rtsx_pci_sdmmc" ];
|
boot = {
|
||||||
boot.initrd.kernelModules = [ ];
|
initrd.availableKernelModules = [
|
||||||
boot.kernelModules = [ "kvm-amd" ];
|
"nvme"
|
||||||
boot.extraModulePackages = [ ];
|
"ehci_pci"
|
||||||
|
"xhci_pci"
|
||||||
|
"usb_storage"
|
||||||
|
"sd_mod"
|
||||||
|
"rtsx_pci_sdmmc"
|
||||||
|
];
|
||||||
|
kernelModules = [ "kvm-amd" ];
|
||||||
|
};
|
||||||
|
|
||||||
fileSystems = {
|
fileSystems = {
|
||||||
"/" = {
|
"/" = {
|
||||||
|
|
@ -18,7 +25,7 @@
|
||||||
"discard=async"
|
"discard=async"
|
||||||
"noatime"
|
"noatime"
|
||||||
"subvol=/nixos"
|
"subvol=/nixos"
|
||||||
"compress=zstd:12"
|
"compress=zstd:6"
|
||||||
];
|
];
|
||||||
};
|
};
|
||||||
"/boot" = {
|
"/boot" = {
|
||||||
|
|
@ -35,7 +42,4 @@
|
||||||
device = "/dev/disk/by-uuid/d9b120c1-5e80-4893-92fe-497e5b44c25b";
|
device = "/dev/disk/by-uuid/d9b120c1-5e80-4893-92fe-497e5b44c25b";
|
||||||
allowDiscards = true;
|
allowDiscards = true;
|
||||||
};
|
};
|
||||||
|
|
||||||
swapDevices = [ ];
|
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
|
||||||
|
|
@ -1,69 +1,17 @@
|
||||||
# Edit this configuration file to define what should be installed on
|
|
||||||
# your system. Help is available in the configuration.nix(5) man page
|
|
||||||
# and in the NixOS manual (accessible by running ‘nixos-help’).
|
|
||||||
|
|
||||||
{ config, pkgs, ... }:
|
{ config, pkgs, ... }:
|
||||||
|
|
||||||
{
|
{
|
||||||
imports =
|
imports = [
|
||||||
[
|
./hardware-configuration.nix
|
||||||
./hardware-configuration.nix
|
../../home-manager/users/jalr.nix
|
||||||
../../hardware/t520.nix
|
|
||||||
../../hardware/brother/hl3172cdw.nix
|
|
||||||
../../sway.nix
|
|
||||||
../../unstable.nix
|
|
||||||
../../fish.nix
|
|
||||||
../../autologin.nix
|
|
||||||
../../hardware/brother/p-touch_p700.nix
|
|
||||||
../../obs.nix
|
|
||||||
];
|
|
||||||
|
|
||||||
nix = {
|
|
||||||
autoOptimiseStore = true;
|
|
||||||
trustedUsers = [
|
|
||||||
"@wheel"
|
|
||||||
];
|
|
||||||
package = pkgs.nixUnstable; # FIXME: can be removed with NixOS 21.11
|
|
||||||
extraOptions = ''
|
|
||||||
experimental-features = nix-command flakes
|
|
||||||
'';
|
|
||||||
};
|
|
||||||
|
|
||||||
hardware.cpu.intel.updateMicrocode = true;
|
|
||||||
|
|
||||||
boot.loader.grub = {
|
|
||||||
enable = true;
|
|
||||||
version = 2;
|
|
||||||
device = "/dev/sda";
|
|
||||||
};
|
|
||||||
|
|
||||||
boot.initrd.availableKernelModules = [
|
|
||||||
"aes_generic"
|
|
||||||
"aesni_intel"
|
|
||||||
"cryptd"
|
|
||||||
];
|
];
|
||||||
|
|
||||||
boot.initrd.luks.devices = {
|
|
||||||
pvcrypt = {
|
|
||||||
device = "/dev/disk/by-uuid/3a1a8fec-b028-45c0-8432-7fcbe4615f44";
|
|
||||||
preLVM = true;
|
|
||||||
};
|
|
||||||
};
|
|
||||||
|
|
||||||
networking = {
|
networking = {
|
||||||
hostName = "jalr-t520";
|
hostName = "jalr-t520";
|
||||||
networkmanager.enable = true;
|
networkmanager.enable = true;
|
||||||
useDHCP = false;
|
useDHCP = false;
|
||||||
};
|
};
|
||||||
|
|
||||||
i18n.defaultLocale = "de_DE.UTF-8";
|
|
||||||
console = {
|
|
||||||
font = "Lat2-Terminus16";
|
|
||||||
keyMap = "neo";
|
|
||||||
};
|
|
||||||
|
|
||||||
time.timeZone = "UTC";
|
|
||||||
|
|
||||||
# List packages installed in system profile. To search, run:
|
# List packages installed in system profile. To search, run:
|
||||||
# $ nix search wget
|
# $ nix search wget
|
||||||
environment.systemPackages = with pkgs; [
|
environment.systemPackages = with pkgs; [
|
||||||
|
|
@ -80,14 +28,6 @@
|
||||||
virt-manager
|
virt-manager
|
||||||
];
|
];
|
||||||
|
|
||||||
xdg.icons.enable = true;
|
|
||||||
|
|
||||||
fonts.fonts = with pkgs; [
|
|
||||||
powerline-fonts
|
|
||||||
roboto
|
|
||||||
font-awesome
|
|
||||||
];
|
|
||||||
|
|
||||||
environment.variables.EDITOR = "nvim";
|
environment.variables.EDITOR = "nvim";
|
||||||
|
|
||||||
nixpkgs.overlays = [
|
nixpkgs.overlays = [
|
||||||
|
|
@ -101,20 +41,12 @@
|
||||||
|
|
||||||
programs.mtr.enable = true;
|
programs.mtr.enable = true;
|
||||||
programs.wireshark.enable = true;
|
programs.wireshark.enable = true;
|
||||||
|
|
||||||
programs.gnupg.agent = {
|
programs.gnupg.agent = {
|
||||||
enable = true;
|
enable = true;
|
||||||
pinentryFlavor = "gnome3";
|
pinentryFlavor = "gnome3";
|
||||||
};
|
};
|
||||||
|
|
||||||
sound.enable = true;
|
|
||||||
hardware.pulseaudio.enable = true;
|
|
||||||
|
|
||||||
hardware.pulseaudio.extraModules = [ pkgs.pulseaudio-modules-bt ];
|
|
||||||
|
|
||||||
obs.kernel.packages = pkgs.linuxPackages_latest;
|
|
||||||
boot.kernelPackages = pkgs.linuxPackages_latest;
|
|
||||||
|
|
||||||
hardware.bluetooth.enable = true;
|
hardware.bluetooth.enable = true;
|
||||||
|
|
||||||
hardware.sane.enable = true;
|
hardware.sane.enable = true;
|
||||||
|
|
@ -152,25 +84,11 @@
|
||||||
|
|
||||||
security.polkit.enable = true;
|
security.polkit.enable = true;
|
||||||
|
|
||||||
# Define a user account. Don't forget to set a password with ‘passwd’.
|
myConfig = {
|
||||||
users.users.jalr = {
|
gui.enable = true;
|
||||||
isNormalUser = true;
|
autologin.enable = true;
|
||||||
extraGroups = [
|
|
||||||
"dialout"
|
|
||||||
"docker"
|
|
||||||
"libvirtd"
|
|
||||||
"lp"
|
|
||||||
"networkmanager"
|
|
||||||
"scanner"
|
|
||||||
"video"
|
|
||||||
"wheel"
|
|
||||||
"wireshark"
|
|
||||||
]; # Enable ‘sudo’ for the user.
|
|
||||||
shell = pkgs.fish;
|
|
||||||
};
|
};
|
||||||
|
|
||||||
autologin.username = "jalr";
|
|
||||||
|
|
||||||
networking.wg-quick.interfaces.wgkalle = {
|
networking.wg-quick.interfaces.wgkalle = {
|
||||||
address = [
|
address = [
|
||||||
"172.16.254.5/24"
|
"172.16.254.5/24"
|
||||||
|
|
|
||||||
|
|
@ -1,27 +1,63 @@
|
||||||
{ config, lib, pkgs, modulesPath, ... }:
|
{ lib, pkgs, modulesPath, ... }:
|
||||||
|
|
||||||
{
|
{
|
||||||
imports = [
|
imports = [
|
||||||
"${modulesPath}/installer/scan/not-detected.nix"
|
"${modulesPath}/installer/scan/not-detected.nix"
|
||||||
];
|
];
|
||||||
|
|
||||||
boot.initrd.availableKernelModules = [ "ehci_pci" "ahci" "firewire_ohci" "usb_storage" "usbhid" "sd_mod" "sdhci_pci" ];
|
boot = {
|
||||||
boot.initrd.kernelModules = [ "dm-snapshot" ];
|
loader.grub = {
|
||||||
boot.kernelModules = [ "kvm-intel" ];
|
enable = true;
|
||||||
boot.extraModulePackages = [ ];
|
version = 2;
|
||||||
|
device = "/dev/sda";
|
||||||
|
};
|
||||||
|
initrd = {
|
||||||
|
availableKernelModules = [
|
||||||
|
"aes_generic"
|
||||||
|
"aesni_intel"
|
||||||
|
"ahci"
|
||||||
|
"cryptd"
|
||||||
|
"ehci_pci"
|
||||||
|
"firewire_ohci"
|
||||||
|
"i915"
|
||||||
|
"sd_mod"
|
||||||
|
"sdhci_pci"
|
||||||
|
"usb_storage"
|
||||||
|
"usbhid"
|
||||||
|
];
|
||||||
|
kernelModules = [ "dm-snapshot" ];
|
||||||
|
luks.devices = {
|
||||||
|
pvcrypt = {
|
||||||
|
device = "/dev/disk/by-uuid/3a1a8fec-b028-45c0-8432-7fcbe4615f44";
|
||||||
|
preLVM = true;
|
||||||
|
};
|
||||||
|
};
|
||||||
|
};
|
||||||
|
kernelModules = [ "kvm-intel" ];
|
||||||
|
};
|
||||||
|
|
||||||
fileSystems."/" =
|
fileSystems = {
|
||||||
{ device = "/dev/disk/by-uuid/62e31097-dc6e-4f91-a043-1a6b8a154201";
|
"/" = {
|
||||||
|
device = "/dev/disk/by-uuid/62e31097-dc6e-4f91-a043-1a6b8a154201";
|
||||||
fsType = "ext4";
|
fsType = "ext4";
|
||||||
};
|
};
|
||||||
|
"/boot" = {
|
||||||
fileSystems."/boot" =
|
device = "/dev/disk/by-uuid/c4df83d7-8985-47df-b5cd-bf18bd490a50";
|
||||||
{ device = "/dev/disk/by-uuid/c4df83d7-8985-47df-b5cd-bf18bd490a50";
|
|
||||||
fsType = "ext2";
|
fsType = "ext2";
|
||||||
};
|
};
|
||||||
|
};
|
||||||
|
|
||||||
swapDevices = [ ];
|
nix.maxJobs = 4;
|
||||||
|
|
||||||
nix.maxJobs = lib.mkDefault 4;
|
hardware.cpu.intel.updateMicrocode = true;
|
||||||
powerManagement.cpuFreqGovernor = lib.mkDefault "powersave";
|
|
||||||
|
powerManagement.cpuFreqGovernor = "performance";
|
||||||
|
|
||||||
|
environment.systemPackages = with pkgs; [
|
||||||
|
intel-media-driver
|
||||||
|
libva
|
||||||
|
libva-utils
|
||||||
|
libva1
|
||||||
|
];
|
||||||
|
hardware.opengl.extraPackages = lib.singleton pkgs.vaapiIntel;
|
||||||
}
|
}
|
||||||
|
|
|
||||||
31
modules/autologin.nix
Normal file
31
modules/autologin.nix
Normal file
|
|
@ -0,0 +1,31 @@
|
||||||
|
{ config, lib, pkgs, ... }:
|
||||||
|
|
||||||
|
let
|
||||||
|
cfg = config.myConfig;
|
||||||
|
in
|
||||||
|
{
|
||||||
|
options.myConfig = {
|
||||||
|
autologin = {
|
||||||
|
enable = pkgs.lib.mkEnableOption "Enable tty1 autologin";
|
||||||
|
username = pkgs.lib.mkOption {
|
||||||
|
type = lib.types.str;
|
||||||
|
description = "Username of user to be automatically logged in at tty1";
|
||||||
|
};
|
||||||
|
};
|
||||||
|
};
|
||||||
|
config = lib.mkIf cfg.autologin.enable {
|
||||||
|
systemd.services."autovt@tty1" = {
|
||||||
|
description = "Autologin at the TTY1";
|
||||||
|
after = [ "systemd-logind.service" ]; # without it user session not started and xorg can't be run from this tty
|
||||||
|
wantedBy = [ "multi-user.target" ];
|
||||||
|
serviceConfig = {
|
||||||
|
ExecStart = [
|
||||||
|
"" # override upstream default with an empty ExecStart
|
||||||
|
"@${pkgs.utillinux}/sbin/agetty agetty --login-program ${pkgs.shadow}/bin/login --autologin '${cfg.autologin.username}' --noclear %I $TERM"
|
||||||
|
];
|
||||||
|
Restart = "always";
|
||||||
|
Type = "idle";
|
||||||
|
};
|
||||||
|
};
|
||||||
|
};
|
||||||
|
}
|
||||||
20
modules/default.nix
Normal file
20
modules/default.nix
Normal file
|
|
@ -0,0 +1,20 @@
|
||||||
|
{ lib, ... }:
|
||||||
|
|
||||||
|
{
|
||||||
|
options.myConfig = {
|
||||||
|
gui.enable = lib.mkEnableOption "GUI";
|
||||||
|
};
|
||||||
|
|
||||||
|
imports = [
|
||||||
|
./autologin.nix
|
||||||
|
./fonts.nix
|
||||||
|
./localization.nix
|
||||||
|
./nix.nix
|
||||||
|
./obs.nix
|
||||||
|
./pipewire.nix
|
||||||
|
./printers
|
||||||
|
./sdr.nix
|
||||||
|
./sway.nix
|
||||||
|
./tradebyte
|
||||||
|
];
|
||||||
|
}
|
||||||
10
modules/fonts.nix
Normal file
10
modules/fonts.nix
Normal file
|
|
@ -0,0 +1,10 @@
|
||||||
|
{ config, lib, pkgs, ... }:
|
||||||
|
|
||||||
|
{
|
||||||
|
console.font = "Lat2-Terminus16";
|
||||||
|
fonts.fonts = with pkgs; lib.mkIf config.myConfig.gui.enable [
|
||||||
|
powerline-fonts
|
||||||
|
roboto
|
||||||
|
font-awesome
|
||||||
|
];
|
||||||
|
}
|
||||||
19
modules/localization.nix
Normal file
19
modules/localization.nix
Normal file
|
|
@ -0,0 +1,19 @@
|
||||||
|
{
|
||||||
|
i18n = {
|
||||||
|
defaultLocale = "en_GB.UTF-8";
|
||||||
|
extraLocaleSettings = {
|
||||||
|
LC_MONETARY = "de_DE.UTF-8";
|
||||||
|
};
|
||||||
|
};
|
||||||
|
|
||||||
|
console.keyMap = "neo";
|
||||||
|
|
||||||
|
time.timeZone = "UTC";
|
||||||
|
|
||||||
|
location = {
|
||||||
|
latitude = 49.5;
|
||||||
|
longitude = 10.5;
|
||||||
|
};
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
17
modules/nix.nix
Normal file
17
modules/nix.nix
Normal file
|
|
@ -0,0 +1,17 @@
|
||||||
|
{ pkgs, ... }:
|
||||||
|
|
||||||
|
{
|
||||||
|
nix = {
|
||||||
|
trustedUsers = [ "@wheel" ];
|
||||||
|
|
||||||
|
package = pkgs.nixUnstable; # FIXME: can be removed with NixOS 21.11
|
||||||
|
extraOptions = ''
|
||||||
|
experimental-features = nix-command flakes
|
||||||
|
'';
|
||||||
|
|
||||||
|
daemonNiceLevel = 19;
|
||||||
|
daemonIONiceLevel = 7;
|
||||||
|
|
||||||
|
autoOptimiseStore = true;
|
||||||
|
};
|
||||||
|
}
|
||||||
|
|
@ -1,23 +1,22 @@
|
||||||
{ config, lib, pkgs, ... }:
|
{ config, lib, pkgs, ... }:
|
||||||
|
|
||||||
{
|
lib.mkIf config.myConfig.gui.enable {
|
||||||
boot = {
|
boot = {
|
||||||
kernelPackages = pkgs.linuxPackages_latest;
|
|
||||||
extraModulePackages = [
|
|
||||||
(pkgs.linuxPackages_latest.v4l2loopback.overrideAttrs ({ ... }: {
|
|
||||||
src = pkgs.fetchFromGitHub {
|
|
||||||
owner = "umlaeute";
|
|
||||||
repo = "v4l2loopback";
|
|
||||||
# master 2020-04-17
|
|
||||||
rev = "10b1c7e6bda4255fdfaa187ce2b3be13433416d2";
|
|
||||||
sha256 = "0xsn4yzj7lwdg0n7q3rnqpz07i9i011k2pwn06hasd45313zf8j2";
|
|
||||||
};
|
|
||||||
}))
|
|
||||||
];
|
|
||||||
kernelModules = [ "v4l2loopback" ];
|
kernelModules = [ "v4l2loopback" ];
|
||||||
extraModprobeConfig = ''
|
extraModprobeConfig = ''
|
||||||
options v4l2loopback exclusive_caps=1 card_label=OBS video_nr=10
|
options v4l2loopback exclusive_caps=1 card_label=OBS video_nr=10
|
||||||
'';
|
'';
|
||||||
|
extraModulePackages = [
|
||||||
|
(pkgs.linuxPackages.v4l2loopback.overrideAttrs ({ ... }: {
|
||||||
|
src = pkgs.fetchFromGitHub {
|
||||||
|
owner = "umlaeute";
|
||||||
|
repo = "v4l2loopback";
|
||||||
|
rev = "edf0f10bc079e5e3922bddbb8185dc626ab14a1b";
|
||||||
|
sha256 = "nHwC6/miECn8RuAeWoOxYv+9NWcBeeGHlcr0ai827Uo=";
|
||||||
|
fetchSubmodules = false;
|
||||||
|
};
|
||||||
|
}))
|
||||||
|
];
|
||||||
};
|
};
|
||||||
environment.systemPackages = with pkgs; [
|
environment.systemPackages = with pkgs; [
|
||||||
v4l-utils
|
v4l-utils
|
||||||
|
|
@ -1,5 +1,12 @@
|
||||||
{ config, lib, pkgs, ... }:
|
{ config, lib, pkgs, ... }:
|
||||||
{
|
|
||||||
|
lib.mkIf config.myConfig.gui.enable {
|
||||||
|
sound.enable = true;
|
||||||
|
hardware.pulseaudio.enable = false;
|
||||||
|
|
||||||
|
# FIXME
|
||||||
|
#hardware.pulseaudio.extraModules = [ pkgs.pulseaudio-modules-bt ];
|
||||||
|
|
||||||
services.pipewire = {
|
services.pipewire = {
|
||||||
enable = true;
|
enable = true;
|
||||||
pulse = {
|
pulse = {
|
||||||
|
|
@ -18,9 +25,4 @@
|
||||||
pavucontrol
|
pavucontrol
|
||||||
pulseaudio # pacmd and pactl
|
pulseaudio # pacmd and pactl
|
||||||
];
|
];
|
||||||
|
|
||||||
xdg.portal = {
|
|
||||||
enable = true;
|
|
||||||
extraPortals = [pkgs.xdg-desktop-portal-wlr];
|
|
||||||
};
|
|
||||||
}
|
}
|
||||||
7
modules/printers/default.nix
Normal file
7
modules/printers/default.nix
Normal file
|
|
@ -0,0 +1,7 @@
|
||||||
|
{
|
||||||
|
imports = [
|
||||||
|
./hl3172cdw.nix
|
||||||
|
./p-touch_p700.nix
|
||||||
|
];
|
||||||
|
}
|
||||||
|
|
||||||
9
modules/printers/hl3172cdw.nix
Normal file
9
modules/printers/hl3172cdw.nix
Normal file
|
|
@ -0,0 +1,9 @@
|
||||||
|
{ config, lib, pkgs, ... }:
|
||||||
|
|
||||||
|
lib.mkIf config.myConfig.gui.enable {
|
||||||
|
services.printing = {
|
||||||
|
enable = true;
|
||||||
|
drivers = [ pkgs.brlaser ];
|
||||||
|
};
|
||||||
|
}
|
||||||
|
|
||||||
|
|
@ -1,4 +1,4 @@
|
||||||
{ config, lib, pkgs, ... }:
|
{ config, lib, ... }:
|
||||||
|
|
||||||
{
|
{
|
||||||
services.udev.extraRules = ''
|
services.udev.extraRules = ''
|
||||||
19
modules/sdr.nix
Normal file
19
modules/sdr.nix
Normal file
|
|
@ -0,0 +1,19 @@
|
||||||
|
{ config, lib, pkgs, ... }:
|
||||||
|
|
||||||
|
let
|
||||||
|
cfg = config.myConfig;
|
||||||
|
in
|
||||||
|
{
|
||||||
|
options.myConfig = {
|
||||||
|
sdr = {
|
||||||
|
enable = pkgs.lib.mkEnableOption "Enable software defined radio";
|
||||||
|
};
|
||||||
|
};
|
||||||
|
config = lib.mkIf cfg.sdr.enable {
|
||||||
|
services.udev.extraRules = ''
|
||||||
|
# rad10
|
||||||
|
SUBSYSTEMS=="usb", ATTRS{idVendor}=="1d50", ATTRS{idProduct}=="cc15", GROUP="users", MODE="0660"
|
||||||
|
SUBSYSTEMS=="usb", ATTRS{idVendor}=="1d50", ATTRS{idProduct}=="6089", GROUP="users", MODE="0660"
|
||||||
|
'';
|
||||||
|
};
|
||||||
|
}
|
||||||
|
|
@ -1,24 +1,9 @@
|
||||||
{ config, lib, pkgs, ... }:
|
{ config, lib, pkgs, ... }:
|
||||||
|
|
||||||
{
|
lib.mkIf config.myConfig.gui.enable {
|
||||||
# environment.systemPackages = with pkgs; [
|
|
||||||
# sway
|
|
||||||
# ];
|
|
||||||
|
|
||||||
# nixpkgs.overlays = [
|
|
||||||
# (self: super: {
|
|
||||||
# sway = super.neovim.override {
|
|
||||||
# extraOptions = [
|
|
||||||
# "--unsupported-gpu"
|
|
||||||
# ];
|
|
||||||
# };
|
|
||||||
# })
|
|
||||||
# ];
|
|
||||||
programs.sway = {
|
programs.sway = {
|
||||||
enable = true;
|
enable = true;
|
||||||
# extraOptions = [
|
# FIXME: move to home manager
|
||||||
# "--unsupported-gpu"
|
|
||||||
# ];
|
|
||||||
extraPackages = with pkgs; [
|
extraPackages = with pkgs; [
|
||||||
alacritty
|
alacritty
|
||||||
grim
|
grim
|
||||||
|
|
@ -32,15 +17,22 @@
|
||||||
wofi
|
wofi
|
||||||
xwayland
|
xwayland
|
||||||
];
|
];
|
||||||
extraSessionCommands =
|
extraSessionCommands = ''
|
||||||
''
|
export XKB_DEFAULT_LAYOUT=de # TODO: test if we need it
|
||||||
export XKB_DEFAULT_LAYOUT=de
|
export XKB_DEFAULT_VARIANT=neo # TODO: test if we need it
|
||||||
export XKB_DEFAULT_VARIANT=neo
|
|
||||||
export QT_QPA_PLATFORM=wayland
|
export QT_QPA_PLATFORM=wayland
|
||||||
export QT_WAYLAND_DISABLE_WINDOWDECORATION=1
|
export QT_WAYLAND_DISABLE_WINDOWDECORATION=1
|
||||||
export ELM_ENGINE=wayland_shm
|
export ELM_ENGINE=wayland_shm
|
||||||
export GDK_BACKEND=wayland
|
export GDK_BACKEND=wayland
|
||||||
export _JAVA_AWT_WM_NONREPARENTING=1
|
export _JAVA_AWT_WM_NONREPARENTING=1
|
||||||
'';
|
'';
|
||||||
|
};
|
||||||
|
|
||||||
|
xdg = {
|
||||||
|
portal = {
|
||||||
|
enable = true;
|
||||||
|
extraPortals = [ pkgs.xdg-desktop-portal-wlr ];
|
||||||
|
};
|
||||||
|
icons.enable = true;
|
||||||
};
|
};
|
||||||
}
|
}
|
||||||
12
modules/tradebyte/default.nix
Normal file
12
modules/tradebyte/default.nix
Normal file
|
|
@ -0,0 +1,12 @@
|
||||||
|
{ lib, ... }:
|
||||||
|
|
||||||
|
{
|
||||||
|
options.myConfig = {
|
||||||
|
tradebyte.enable = lib.mkEnableOption "TB.config";
|
||||||
|
};
|
||||||
|
|
||||||
|
imports = [
|
||||||
|
./lxc.nix
|
||||||
|
];
|
||||||
|
}
|
||||||
|
|
||||||
|
|
@ -1,4 +1,4 @@
|
||||||
{ config, lib, pkgs, ... }:
|
{ config, lib, pkgs, ... }:
|
||||||
|
|
||||||
let
|
let
|
||||||
dnsmasq = pkgs.dnsmasq;
|
dnsmasq = pkgs.dnsmasq;
|
||||||
|
|
@ -19,7 +19,7 @@ let
|
||||||
server=127.0.0.1
|
server=127.0.0.1
|
||||||
'';
|
'';
|
||||||
in
|
in
|
||||||
{
|
lib.mkIf config.myConfig.tradebyte.enable {
|
||||||
virtualisation = {
|
virtualisation = {
|
||||||
lxc.enable = true;
|
lxc.enable = true;
|
||||||
lxc.defaultConfig = ''
|
lxc.defaultConfig = ''
|
||||||
|
|
@ -50,39 +50,34 @@ in
|
||||||
};
|
};
|
||||||
firewall.extraCommands = ''
|
firewall.extraCommands = ''
|
||||||
iptables -t mangle -A POSTROUTING -o lxcbr0 -p udp -j CHECKSUM --checksum-fill
|
iptables -t mangle -A POSTROUTING -o lxcbr0 -p udp -j CHECKSUM --checksum-fill
|
||||||
'';
|
'';
|
||||||
networkmanager.unmanaged = ["lxcbr0"];
|
networkmanager.unmanaged = [ "lxcbr0" ];
|
||||||
nat = {
|
nat = {
|
||||||
enable = true;
|
enable = true;
|
||||||
internalInterfaces = ["lxcbr0"];
|
internalInterfaces = [ "lxcbr0" ];
|
||||||
internalIPs = ["10.0.3.1"];
|
internalIPs = [ "10.0.3.1" ];
|
||||||
};
|
};
|
||||||
};
|
};
|
||||||
|
|
||||||
systemd.services."dnsmasq-lxc" = {
|
systemd.services."dnsmasq-lxc" = {
|
||||||
description = "Dnsmasq Daemon for LXC";
|
description = "Dnsmasq Daemon for LXC";
|
||||||
after = [ "network.target" "systemd-resolved.service" ];
|
after = [ "network.target" "systemd-resolved.service" ];
|
||||||
wantedBy = [ "multi-user.target" ];
|
wantedBy = [ "multi-user.target" ];
|
||||||
path = [ dnsmasq ];
|
path = [ dnsmasq ];
|
||||||
preStart = ''
|
preStart = ''
|
||||||
mkdir -m 755 -p ${stateDir}
|
mkdir -m 755 -p ${stateDir}
|
||||||
touch ${stateDir}/dnsmasq-lxc.leases
|
touch ${stateDir}/dnsmasq-lxc.leases
|
||||||
dnsmasq --test -C ${dnsmasqConf}
|
dnsmasq --test -C ${dnsmasqConf}
|
||||||
'';
|
'';
|
||||||
#chown -R dnsmasq ${stateDir}
|
serviceConfig = {
|
||||||
#touch /etc/dnsmasq-{conf,resolv}.conf
|
Type = "dbus";
|
||||||
serviceConfig = {
|
BusName = "uk.org.thekelleys.dnsmasq-lxc";
|
||||||
Type = "dbus";
|
ExecStart = "${dnsmasq}/bin/dnsmasq -k --enable-dbus --user=dnsmasq -C ${dnsmasqConf}";
|
||||||
BusName = "uk.org.thekelleys.dnsmasq-lxc";
|
ExecReload = "${pkgs.coreutils}/bin/kill -HUP $MAINPID";
|
||||||
ExecStart = "${dnsmasq}/bin/dnsmasq -k --enable-dbus --user=dnsmasq -C ${dnsmasqConf}";
|
PrivateTmp = true;
|
||||||
ExecReload = "${pkgs.coreutils}/bin/kill -HUP $MAINPID";
|
ProtectSystem = true;
|
||||||
PrivateTmp = true;
|
ProtectHome = true;
|
||||||
ProtectSystem = true;
|
Restart = "on-failure";
|
||||||
ProtectHome = true;
|
};
|
||||||
Restart = "on-failure";
|
|
||||||
};
|
|
||||||
#restartTriggers = [ config.environment.etc.hosts.source ];
|
|
||||||
};
|
};
|
||||||
|
|
||||||
boot.kernelModules = [ "fuse" "kvm-intel" "coretemp" ];
|
|
||||||
}
|
}
|
||||||
|
|
@ -1,16 +0,0 @@
|
||||||
{ config, lib, pkgs, ... }:
|
|
||||||
|
|
||||||
let
|
|
||||||
tap-plugins = pkgs.callPackage pkgs/tap-plugins/default.nix {};
|
|
||||||
enable_bluetooth = config.hardware.bluetooth.enable;
|
|
||||||
in {
|
|
||||||
sound.enable = true;
|
|
||||||
hardware.pulseaudio = {
|
|
||||||
enable = true;
|
|
||||||
extraModules = if enable_bluetooth then [pkgs.pulseaudio-modules-bt] else [];
|
|
||||||
};
|
|
||||||
|
|
||||||
systemd.user.services.pulseaudio.environment = {
|
|
||||||
LD_LIBRARY_PATH = "${tap-plugins}/lib/ladspa";
|
|
||||||
};
|
|
||||||
}
|
|
||||||
16
unstable.nix
16
unstable.nix
|
|
@ -1,16 +0,0 @@
|
||||||
{ config, pkgs, ... }:
|
|
||||||
|
|
||||||
let
|
|
||||||
unstableTarball =
|
|
||||||
fetchTarball
|
|
||||||
https://github.com/NixOS/nixpkgs-channels/archive/nixos-unstable.tar.gz;
|
|
||||||
in
|
|
||||||
{
|
|
||||||
nixpkgs.config = {
|
|
||||||
packageOverrides = pkgs: {
|
|
||||||
unstable = import unstableTarball {
|
|
||||||
config = config.nixpkgs.config;
|
|
||||||
};
|
|
||||||
};
|
|
||||||
};
|
|
||||||
}
|
|
||||||
Loading…
Add table
Add a link
Reference in a new issue