Refactor as prep for multiple hosts
This commit is contained in:
parent
3e82609242
commit
1fc5d8b70f
11 changed files with 268 additions and 292 deletions
22
README.md
22
README.md
|
@ -62,28 +62,22 @@ Here's a brief rundown of the directory structure:
|
|||
### Top-Level Files
|
||||
|
||||
- `flake.nix`: Nix Flake configuration file.
|
||||
- `configuration.nix`: Main NixOS system configuration entry point.
|
||||
- `disko.nix`: Disk and filesystem configuration.
|
||||
- `hardware.nix`: Hardware-related configurations like drivers.
|
||||
- `home.nix`: Configurations related to user home directories. (home-manager)
|
||||
- `users.nix`: User account and privilege settings.
|
||||
|
||||
### `home-mods` Directory
|
||||
#### `home-mods` Directory
|
||||
|
||||
Stores modules related to specific user applications or environments.
|
||||
|
||||
- `dev/default.nix`: Developer-specific configurations.
|
||||
- `firefox/default.nix`: Firefox browser settings.
|
||||
- `plasma/default.nix`: KDE Plasma desktop settings.
|
||||
- `virt/default.nix`: Virtualization-related settings.
|
||||
#### `os-mods` Directory
|
||||
|
||||
### `os-mods` Directory
|
||||
Holds system-level modules for network, virtualization, desktop etc.
|
||||
|
||||
Holds system-level modules for network, virtualization, etc.
|
||||
#### `users` Directory
|
||||
|
||||
- `network/default.nix`: Network-related settings.
|
||||
- `virt/default.nix`: OS-level virtualization settings.
|
||||
Holds home-manager configuration for the users listed in `users.nix`
|
||||
|
||||
#### `systems` Directory
|
||||
|
||||
Holds system specific nixos configuration (e.g. hardware quirks).
|
||||
|
||||
## 🙏 Made possible by
|
||||
|
||||
|
|
|
@ -1,171 +0,0 @@
|
|||
{
|
||||
config,
|
||||
pkgs,
|
||||
inputs,
|
||||
system,
|
||||
...
|
||||
}: {
|
||||
imports = [
|
||||
./hardware.nix
|
||||
./os-mods/network
|
||||
./os-mods/virt
|
||||
];
|
||||
|
||||
nix = {
|
||||
gc = {
|
||||
automatic = true;
|
||||
dates = "weekly";
|
||||
options = "--delete-older-than 2w";
|
||||
};
|
||||
settings.auto-optimise-store = true;
|
||||
package = pkgs.nixFlakes;
|
||||
extraOptions = ''
|
||||
experimental-features = nix-command flakes
|
||||
'';
|
||||
};
|
||||
|
||||
fonts.fontDir.enable = true;
|
||||
fonts.fonts = with pkgs; [
|
||||
emacs-all-the-icons-fonts
|
||||
corefonts
|
||||
vistafonts
|
||||
noto-fonts
|
||||
noto-fonts-cjk
|
||||
noto-fonts-emoji
|
||||
liberation_ttf
|
||||
fira
|
||||
fira-code
|
||||
fira-code-symbols
|
||||
mplus-outline-fonts.githubRelease
|
||||
dina-font
|
||||
proggyfonts
|
||||
(nerdfonts.override {fonts = ["FiraCode" "DroidSansMono" "NerdFontsSymbolsOnly"];})
|
||||
];
|
||||
|
||||
networking.hostName = "nixos-pulse";
|
||||
|
||||
services.fwupd.enable = true;
|
||||
|
||||
time.timeZone = "Europe/Berlin";
|
||||
|
||||
i18n = {
|
||||
defaultLocale = "en_US.UTF-8";
|
||||
|
||||
extraLocaleSettings = {
|
||||
LANG = "en_US.UTF-8";
|
||||
LC_ADDRESS = "de_DE.UTF-8";
|
||||
LC_COLLATE = "de_DE.UTF-8";
|
||||
LC_CTYPE = "en_US.UTF-8";
|
||||
LC_IDENTIFICATION = "de_DE.UTF-8";
|
||||
LC_MEASUREMENT = "de_DE.UTF-8";
|
||||
LC_MESSAGES = "en_US.UTF-8";
|
||||
LC_MONETARY = "de_DE.UTF-8";
|
||||
LC_NAME = "de_DE.UTF-8";
|
||||
LC_NUMERIC = "de_DE.UTF-8";
|
||||
LC_PAPER = "de_DE.UTF-8";
|
||||
LC_TELEPHONE = "de_DE.UTF-8";
|
||||
LC_TIME = "de_DE.UTF-8";
|
||||
};
|
||||
};
|
||||
|
||||
services.xserver = {
|
||||
enable = true;
|
||||
layout = "us";
|
||||
xkbVariant = "alt-intl";
|
||||
|
||||
desktopManager.plasma5.enable = true;
|
||||
|
||||
displayManager = {
|
||||
defaultSession = "plasmawayland";
|
||||
|
||||
sddm.enable = true;
|
||||
|
||||
# autoLogin = {
|
||||
# enable = true;
|
||||
# user = "tristand";
|
||||
# };
|
||||
};
|
||||
};
|
||||
|
||||
services.printing.enable = true;
|
||||
services.printing.drivers = with pkgs; [
|
||||
gutenprint
|
||||
gutenprintBin
|
||||
hplipWithPlugin
|
||||
brlaser
|
||||
brgenml1cupswrapper
|
||||
];
|
||||
|
||||
sound.enable = true;
|
||||
hardware.bluetooth.enable = true;
|
||||
hardware.pulseaudio.enable = false;
|
||||
security.rtkit.enable = true;
|
||||
security.sudo.wheelNeedsPassword = false;
|
||||
services.pipewire = {
|
||||
enable = true;
|
||||
alsa.enable = true;
|
||||
alsa.support32Bit = true;
|
||||
pulse.enable = true;
|
||||
jack.enable = true;
|
||||
};
|
||||
|
||||
environment.sessionVariables = {
|
||||
EDITOR = "nvim";
|
||||
};
|
||||
|
||||
environment.systemPackages = with pkgs; [
|
||||
cifs-utils
|
||||
neovim
|
||||
veracrypt
|
||||
vim
|
||||
];
|
||||
|
||||
programs.nix-ld.dev.enable = true;
|
||||
|
||||
programs.command-not-found.enable = false;
|
||||
programs.nix-index-database.comma.enable = true;
|
||||
programs.dconf.enable = true;
|
||||
programs.fish.enable = true;
|
||||
programs.gnupg.agent = {
|
||||
enable = true;
|
||||
enableSSHSupport = true;
|
||||
};
|
||||
|
||||
programs.steam = {
|
||||
enable = true;
|
||||
remotePlay.openFirewall = true; # Open ports in the firewall for Steam Remote Play
|
||||
dedicatedServer.openFirewall = true; # Open ports in the firewall for Source Dedicated Server
|
||||
};
|
||||
|
||||
services.btrfs.autoScrub.enable = true;
|
||||
# For SMB
|
||||
services.gvfs.enable = true;
|
||||
services.avahi.enable = true;
|
||||
services.avahi.nssmdns = true;
|
||||
##
|
||||
|
||||
services.openssh.enable = true;
|
||||
|
||||
networking.firewall.allowedTCPPorts = [22];
|
||||
# networking.firewall.allowedUDPPorts = [ ... ];
|
||||
|
||||
# Samba
|
||||
networking.firewall.extraCommands = ''iptables -t raw -A OUTPUT -p udp -m udp --dport 137 -j CT --helper netbios-ns'';
|
||||
|
||||
powerManagement.powertop.enable = true;
|
||||
systemd.services.powertop.postStart = ''
|
||||
HIDDEVICES=$(ls /sys/bus/usb/drivers/usbhid | grep -oE '^[0-9]+-[0-9\.]+' | sort -u)
|
||||
for i in $HIDDEVICES; do
|
||||
echo -n "Enabling " | cat - /sys/bus/usb/devices/$i/product
|
||||
echo 'on' > /sys/bus/usb/devices/$i/power/control
|
||||
done
|
||||
'';
|
||||
|
||||
# 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
|
||||
# this value at the release version of the first install of this system.
|
||||
# Before changing this value read the documentation for this option
|
||||
# (e.g. man configuration.nix or on https://nixos.org/nixos/options.html).
|
||||
system.stateVersion = "23.05"; # Did you read the comment?
|
||||
}
|
49
flake.lock
generated
49
flake.lock
generated
|
@ -42,27 +42,6 @@
|
|||
"type": "github"
|
||||
}
|
||||
},
|
||||
"envfs": {
|
||||
"inputs": {
|
||||
"flake-parts": "flake-parts",
|
||||
"nixpkgs": [
|
||||
"nixpkgs"
|
||||
]
|
||||
},
|
||||
"locked": {
|
||||
"lastModified": 1696892863,
|
||||
"narHash": "sha256-Gs8dvjM6zFqJmoKWl2CMdfavF49E29lSnvN2Q9Fdm9c=",
|
||||
"owner": "Mic92",
|
||||
"repo": "envfs",
|
||||
"rev": "fe2be4f5c4885ddbbce583395ab34a7bb4daf4b7",
|
||||
"type": "github"
|
||||
},
|
||||
"original": {
|
||||
"owner": "Mic92",
|
||||
"repo": "envfs",
|
||||
"type": "github"
|
||||
}
|
||||
},
|
||||
"flake-compat": {
|
||||
"flake": false,
|
||||
"locked": {
|
||||
|
@ -95,27 +74,6 @@
|
|||
"type": "github"
|
||||
}
|
||||
},
|
||||
"flake-parts": {
|
||||
"inputs": {
|
||||
"nixpkgs-lib": [
|
||||
"envfs",
|
||||
"nixpkgs"
|
||||
]
|
||||
},
|
||||
"locked": {
|
||||
"lastModified": 1673362319,
|
||||
"narHash": "sha256-Pjp45Vnj7S/b3BRpZEVfdu8sqqA6nvVjvYu59okhOyI=",
|
||||
"owner": "hercules-ci",
|
||||
"repo": "flake-parts",
|
||||
"rev": "82c16f1682cf50c01cb0280b38a1eed202b3fe9f",
|
||||
"type": "github"
|
||||
},
|
||||
"original": {
|
||||
"owner": "hercules-ci",
|
||||
"repo": "flake-parts",
|
||||
"type": "github"
|
||||
}
|
||||
},
|
||||
"flake-utils": {
|
||||
"inputs": {
|
||||
"systems": "systems"
|
||||
|
@ -336,11 +294,11 @@
|
|||
},
|
||||
"nur": {
|
||||
"locked": {
|
||||
"lastModified": 1697470606,
|
||||
"narHash": "sha256-TP3UN5RktQpqDVj5mA6rb1Nu4vGTnctWkbe5sef4LEw=",
|
||||
"lastModified": 1697496340,
|
||||
"narHash": "sha256-u2RgKrd/54mXdJh/Iwu9KpZODZ3BsVzJFuff/2EyM3Q=",
|
||||
"owner": "nix-community",
|
||||
"repo": "NUR",
|
||||
"rev": "cc83a858d3dbf50a934a4f74fe5508ac2fa72bc5",
|
||||
"rev": "e12ac1f3da3af8568ff715dead8a9dfdce1b95f8",
|
||||
"type": "github"
|
||||
},
|
||||
"original": {
|
||||
|
@ -404,7 +362,6 @@
|
|||
"inputs": {
|
||||
"disko": "disko",
|
||||
"emacs-overlay": "emacs-overlay",
|
||||
"envfs": "envfs",
|
||||
"home-manager": "home-manager",
|
||||
"nix-index-database": "nix-index-database",
|
||||
"nix-ld": "nix-ld",
|
||||
|
|
100
flake.nix
100
flake.nix
|
@ -49,25 +49,31 @@
|
|||
inputs.nixpkgs.follows = "nixpkgs";
|
||||
inputs.home-manager.follows = "home-manager";
|
||||
};
|
||||
envfs = {
|
||||
url = "github:Mic92/envfs";
|
||||
inputs.nixpkgs.follows = "nixpkgs";
|
||||
};
|
||||
nix-ld = {
|
||||
url = "github:Mic92/nix-ld";
|
||||
inputs.nixpkgs.follows = "nixpkgs";
|
||||
};
|
||||
};
|
||||
|
||||
outputs = {self, nixpkgs, ...}@inputs: let
|
||||
outputs = {
|
||||
self,
|
||||
nixpkgs,
|
||||
nixpkgs-unstable,
|
||||
home-manager,
|
||||
emacs-overlay,
|
||||
nur,
|
||||
nix-index-database,
|
||||
disko,
|
||||
...
|
||||
} @ inputs: let
|
||||
system = "x86_64-linux";
|
||||
unstable-pkgs = import inputs.nixpkgs-unstable pkgs-args;
|
||||
unstable-pkgs = import nixpkgs-unstable pkgs-args;
|
||||
unstable-overlay = final: prev: {
|
||||
unstable = unstable-pkgs.pkgs;
|
||||
};
|
||||
overlays = [
|
||||
inputs.emacs-overlay.overlay
|
||||
unstable-overlay
|
||||
emacs-overlay.overlay
|
||||
];
|
||||
pkgs-args = {
|
||||
system = system;
|
||||
|
@ -77,61 +83,59 @@
|
|||
};
|
||||
};
|
||||
pkgs = import nixpkgs pkgs-args;
|
||||
hmModules = [
|
||||
nix-index-database.hmModules.nix-index
|
||||
nur.hmModules.nur
|
||||
inputs.plasma-manager.homeManagerModules.plasma-manager
|
||||
];
|
||||
osModules = [
|
||||
disko.nixosModules.disko
|
||||
home-manager.nixosModules.home-manager
|
||||
nix-index-database.nixosModules.nix-index
|
||||
nur.nixosModules.nur
|
||||
inputs.nix-ld.nixosModules.nix-ld
|
||||
inputs.tuxedo-nixos.nixosModules.default
|
||||
];
|
||||
args = {
|
||||
inherit inputs;
|
||||
inherit system;
|
||||
};
|
||||
in {
|
||||
formatter = {
|
||||
${system} = pkgs.alejandra;
|
||||
};
|
||||
diskoConfigurations = {
|
||||
nixos-pulse = import ./disko.nix;
|
||||
nixos-pulse = import ./systems/nixos-pulse/disko.nix;
|
||||
};
|
||||
homeConfigurations = {
|
||||
"tristand" = inputs.home-manager.lib.homeManagerConfiguration {
|
||||
"tristand" = home-manager.lib.homeManagerConfiguration {
|
||||
inherit pkgs;
|
||||
|
||||
modules = [
|
||||
./home.nix
|
||||
inputs.plasma-manager.homeManagerModules.plasma-manager
|
||||
inputs.nix-index-database.hmModules.nix-index
|
||||
inputs.nur.hmModules.nur
|
||||
{
|
||||
_module.args.inputs = inputs;
|
||||
_module.args.system = system;
|
||||
}
|
||||
];
|
||||
modules =
|
||||
[
|
||||
./users/tristand.nix
|
||||
{
|
||||
_module = {inherit args;};
|
||||
}
|
||||
]
|
||||
++ hmModules;
|
||||
};
|
||||
};
|
||||
nixosConfigurations = {
|
||||
nixos-pulse = inputs.nixpkgs.lib.nixosSystem {
|
||||
modules = [
|
||||
./configuration.nix
|
||||
./users.nix
|
||||
./disko.nix
|
||||
inputs.disko.nixosModules.disko
|
||||
inputs.envfs.nixosModules.envfs
|
||||
inputs.home-manager.nixosModules.home-manager
|
||||
inputs.nix-index-database.nixosModules.nix-index
|
||||
inputs.nix-ld.nixosModules.nix-ld
|
||||
inputs.nur.nixosModules.nur
|
||||
inputs.tuxedo-nixos.nixosModules.default
|
||||
{
|
||||
_module.args.inputs = inputs;
|
||||
_module.args.system = system;
|
||||
nix.registry.nixpkgs.flake = inputs.nixpkgs;
|
||||
nixos-pulse = nixpkgs.lib.nixosSystem {
|
||||
modules =
|
||||
[
|
||||
./systems/nixos-pulse
|
||||
{
|
||||
_module = {inherit args;};
|
||||
|
||||
nixpkgs.pkgs = pkgs;
|
||||
nix.registry.nixpkgs.flake = nixpkgs;
|
||||
nixpkgs.pkgs = pkgs;
|
||||
|
||||
home-manager.useUserPackages = true;
|
||||
home-manager.useGlobalPkgs = true;
|
||||
home-manager.sharedModules = [
|
||||
inputs.plasma-manager.homeManagerModules.plasma-manager
|
||||
inputs.nix-index-database.hmModules.nix-index
|
||||
inputs.nur.hmModules.nur
|
||||
];
|
||||
|
||||
hardware.tuxedo-control-center.enable = true;
|
||||
hardware.tuxedo-control-center.package = inputs.tuxedo-nixos.packages.${system}.default;
|
||||
}
|
||||
];
|
||||
home-manager.sharedModules = hmModules;
|
||||
}
|
||||
]
|
||||
++ osModules;
|
||||
};
|
||||
};
|
||||
};
|
||||
|
|
|
@ -14,7 +14,7 @@
|
|||
personalDoomConfSrc = builtins.fetchGit {
|
||||
url = "https://git.vlt81.de/tristan/doom";
|
||||
ref = "main";
|
||||
rev = "3973c2a97e549640f14ed073bbb8102ebd8a839b";
|
||||
rev = "e6d22f794c68a5f3ac56861e7e2ed6642cdef16a";
|
||||
};
|
||||
in {
|
||||
xdg.enable = true;
|
||||
|
|
81
os-mods/base/default.nix
Normal file
81
os-mods/base/default.nix
Normal file
|
@ -0,0 +1,81 @@
|
|||
{
|
||||
config,
|
||||
pkgs,
|
||||
...
|
||||
}: {
|
||||
nix = {
|
||||
gc = {
|
||||
automatic = true;
|
||||
dates = "weekly";
|
||||
options = "--delete-older-than 2w";
|
||||
};
|
||||
settings.auto-optimise-store = true;
|
||||
package = pkgs.nixFlakes;
|
||||
extraOptions = ''
|
||||
experimental-features = nix-command flakes
|
||||
'';
|
||||
};
|
||||
|
||||
services.fwupd.enable = true;
|
||||
|
||||
# locale
|
||||
time.timeZone = "Europe/Berlin";
|
||||
|
||||
i18n = {
|
||||
defaultLocale = "en_US.UTF-8";
|
||||
|
||||
extraLocaleSettings = {
|
||||
LANG = "en_US.UTF-8";
|
||||
LC_ADDRESS = "de_DE.UTF-8";
|
||||
LC_COLLATE = "de_DE.UTF-8";
|
||||
LC_CTYPE = "en_US.UTF-8";
|
||||
LC_IDENTIFICATION = "de_DE.UTF-8";
|
||||
LC_MEASUREMENT = "de_DE.UTF-8";
|
||||
LC_MESSAGES = "en_US.UTF-8";
|
||||
LC_MONETARY = "de_DE.UTF-8";
|
||||
LC_NAME = "de_DE.UTF-8";
|
||||
LC_NUMERIC = "de_DE.UTF-8";
|
||||
LC_PAPER = "de_DE.UTF-8";
|
||||
LC_TELEPHONE = "de_DE.UTF-8";
|
||||
LC_TIME = "de_DE.UTF-8";
|
||||
};
|
||||
};
|
||||
####################
|
||||
|
||||
security.rtkit.enable = true;
|
||||
security.sudo.wheelNeedsPassword = false;
|
||||
|
||||
environment.sessionVariables = {
|
||||
EDITOR = "nvim";
|
||||
};
|
||||
|
||||
environment.systemPackages = with pkgs; [
|
||||
neovim # editor
|
||||
veracrypt
|
||||
vim # fallback ed
|
||||
];
|
||||
|
||||
# nix convenience
|
||||
services.envfs.enable = true;
|
||||
programs.nix-ld.dev.enable = true;
|
||||
programs.command-not-found.enable = false;
|
||||
programs.nix-index-database.comma.enable = true;
|
||||
###################
|
||||
|
||||
programs.fish.enable = true;
|
||||
programs.gnupg.agent = {
|
||||
enable = true;
|
||||
enableSSHSupport = true;
|
||||
};
|
||||
|
||||
services.openssh.enable = true;
|
||||
|
||||
# For SMB ####
|
||||
services.gvfs.enable = true;
|
||||
services.avahi.enable = true;
|
||||
services.avahi.nssmdns = true;
|
||||
|
||||
# netbios dns
|
||||
networking.firewall.extraCommands = ''iptables -t raw -A OUTPUT -p udp -m udp --dport 137 -j CT --helper netbios-ns'';
|
||||
##############
|
||||
}
|
83
os-mods/desktop/default.nix
Normal file
83
os-mods/desktop/default.nix
Normal file
|
@ -0,0 +1,83 @@
|
|||
{
|
||||
config,
|
||||
lib,
|
||||
pkgs,
|
||||
...
|
||||
}: {
|
||||
programs.dconf.enable = true;
|
||||
|
||||
# fonts
|
||||
|
||||
fonts.fontDir.enable = true;
|
||||
fonts.fonts = with pkgs; [
|
||||
emacs-all-the-icons-fonts
|
||||
corefonts
|
||||
vistafonts
|
||||
noto-fonts
|
||||
noto-fonts-cjk
|
||||
noto-fonts-emoji
|
||||
liberation_ttf
|
||||
fira
|
||||
fira-code
|
||||
fira-code-symbols
|
||||
mplus-outline-fonts.githubRelease
|
||||
dina-font
|
||||
proggyfonts
|
||||
(nerdfonts.override {fonts = ["FiraCode" "DroidSansMono" "NerdFontsSymbolsOnly"];})
|
||||
];
|
||||
|
||||
# Desktop env
|
||||
services.xserver = {
|
||||
enable = true;
|
||||
layout = "us";
|
||||
xkbVariant = "alt-intl";
|
||||
|
||||
desktopManager.plasma5.enable = true;
|
||||
|
||||
displayManager = {
|
||||
defaultSession = "plasmawayland";
|
||||
|
||||
sddm.enable = true;
|
||||
|
||||
# autoLogin = {
|
||||
# enable = true;
|
||||
# user = "tristand";
|
||||
# };
|
||||
};
|
||||
};
|
||||
#########################
|
||||
|
||||
## audio
|
||||
sound.enable = true;
|
||||
hardware.bluetooth.enable = true;
|
||||
hardware.pulseaudio.enable = false;
|
||||
services.pipewire = {
|
||||
enable = true;
|
||||
alsa.enable = true;
|
||||
alsa.support32Bit = true;
|
||||
pulse.enable = true;
|
||||
jack.enable = true;
|
||||
};
|
||||
#########
|
||||
|
||||
## printing
|
||||
|
||||
services.printing.enable = true;
|
||||
services.printing.drivers = with pkgs; [
|
||||
gutenprint
|
||||
gutenprintBin
|
||||
hplipWithPlugin
|
||||
brlaser
|
||||
brgenml1cupswrapper
|
||||
];
|
||||
|
||||
environment.systemPackages = with pkgs; [
|
||||
cifs-utils
|
||||
];
|
||||
|
||||
programs.steam = {
|
||||
enable = true;
|
||||
remotePlay.openFirewall = true;
|
||||
dedicatedServer.openFirewall = true;
|
||||
};
|
||||
}
|
|
@ -4,20 +4,28 @@
|
|||
pkgs,
|
||||
modulesPath,
|
||||
system,
|
||||
inputs,
|
||||
...
|
||||
}: {
|
||||
imports = [
|
||||
(modulesPath + "/installer/scan/not-detected.nix")
|
||||
../../os-mods/base
|
||||
../../os-mods/desktop
|
||||
../../os-mods/network
|
||||
../../os-mods/virt
|
||||
../../users
|
||||
./disko.nix
|
||||
];
|
||||
system.stateVersion = "23.05";
|
||||
|
||||
zramSwap.enable = true;
|
||||
nixpkgs.hostPlatform = lib.mkDefault system;
|
||||
|
||||
boot = {
|
||||
kernelPackages = pkgs.linuxPackages_latest;
|
||||
loader = {
|
||||
systemd-boot = {
|
||||
enable = true;
|
||||
configurationLimit = 20;
|
||||
configurationLimit = 32;
|
||||
};
|
||||
efi.canTouchEfiVariables = true;
|
||||
};
|
||||
|
@ -32,9 +40,11 @@
|
|||
extraModulePackages = [];
|
||||
};
|
||||
|
||||
services.btrfs.autoScrub.enable = true;
|
||||
services.xserver.videoDrivers = ["amdgpu"];
|
||||
|
||||
networking = {
|
||||
hostName = "nixos-pulse";
|
||||
useDHCP = lib.mkDefault true;
|
||||
interfaces = {
|
||||
enp5s0f4u1u1c2 = {
|
||||
|
@ -70,9 +80,21 @@
|
|||
ACTION=="remove", KERNEL=="enp5s0f4u1u1c2", RUN+="${pkgs.systemd}/bin/systemctl stop network-addresses-enp5s0f4u1u1c2.service"
|
||||
'';
|
||||
|
||||
nixpkgs.hostPlatform = lib.mkDefault system;
|
||||
# energy saving stuff
|
||||
powerManagement.powertop.enable = true;
|
||||
systemd.services.powertop.postStart = ''
|
||||
HIDDEVICES=$(ls /sys/bus/usb/drivers/usbhid | grep -oE '^[0-9]+-[0-9\.]+' | sort -u)
|
||||
for i in $HIDDEVICES; do
|
||||
echo -n "Enabling " | cat - /sys/bus/usb/devices/$i/product
|
||||
echo 'on' > /sys/bus/usb/devices/$i/power/control
|
||||
done
|
||||
'';
|
||||
|
||||
hardware = {
|
||||
tuxedo-control-center = {
|
||||
enable = true;
|
||||
package = inputs.tuxedo-nixos.packages.${system}.default;
|
||||
};
|
||||
opengl = {
|
||||
driSupport = true;
|
||||
driSupport32Bit = true;
|
||||
|
@ -88,4 +110,6 @@
|
|||
systemd.tmpfiles.rules = [
|
||||
"L+ /opt/rocm/hip - - - - ${pkgs.hip}"
|
||||
];
|
||||
|
||||
zramSwap.enable = true;
|
||||
}
|
|
@ -14,10 +14,14 @@
|
|||
hashedPassword = "$6$Wj.XY8JgH5EWuog4$HnbtPJXDEqKXFrzkPVEjih3PytcpBCrkfL7TAwkXd0IFced7kGMlZNliNsAqQ3XqfyUzAYiiKTIqoPVJEk.s..";
|
||||
};
|
||||
|
||||
home-manager.users.tristand = import ./home.nix {
|
||||
inherit pkgs;
|
||||
inherit config;
|
||||
inherit inputs;
|
||||
inherit system;
|
||||
home-manager = {
|
||||
useUserPackages = true;
|
||||
useGlobalPkgs = true;
|
||||
users.tristand = import ./tristand.nix {
|
||||
inherit pkgs;
|
||||
inherit config;
|
||||
inherit inputs;
|
||||
inherit system;
|
||||
};
|
||||
};
|
||||
}
|
|
@ -12,10 +12,10 @@
|
|||
wallpaperPath = "${wallpaper}/share/wallpapers/nixos-wallpaper.png";
|
||||
in {
|
||||
imports = [
|
||||
./home-mods/dev
|
||||
./home-mods/firefox
|
||||
./home-mods/plasma
|
||||
./home-mods/virt
|
||||
../home-mods/dev
|
||||
../home-mods/firefox
|
||||
../home-mods/plasma
|
||||
../home-mods/virt
|
||||
];
|
||||
|
||||
home.file.".background".source = wallpaperPath;
|
Loading…
Add table
Reference in a new issue