Add working conf
commit
8d4fa36b2c
|
@ -0,0 +1,273 @@
|
|||
{ config, pkgs, lib, ... }:
|
||||
##### Variable definitions #####
|
||||
let
|
||||
|
||||
burekVariable = "burek";
|
||||
|
||||
in {
|
||||
|
||||
imports = [ ./hardware.nix ];
|
||||
|
||||
##### Environment Variables #####
|
||||
environment = {
|
||||
variables = {
|
||||
# PROXY SETTINGS
|
||||
# http_proxy = "http://proxy.site";
|
||||
# https_proxy = "https://proxy.site";
|
||||
EXTRA_LDFLAGS = "-L/lib -L${pkgs.linuxPackages.nvidia_x11}/lib";
|
||||
CUDA_PATH = "${pkgs.cudatoolkit}";
|
||||
QT_STYLE_OVERRIDE = "kvantum";
|
||||
QT_QPA_PLATFORMTHEME = "qt5ct";
|
||||
EXTRA_CCFLAGS = "-I/usr/include";
|
||||
};
|
||||
|
||||
sessionVariables = {
|
||||
LD_LIBRARY_PATH = with pkgs;
|
||||
"${stdenv.cc.cc.lib.outPath}/lib:${linuxPackages.nvidia_x11}/lib:${stdenv.cc.cc.lib}/lib:${pkgs.zlib}/lib:${pkgs.libGL}/lib:${pkgs.libGLU}/lib:${pkgs.glibc}/lib:${pkgs.glib.out}/lib";
|
||||
};
|
||||
|
||||
};
|
||||
|
||||
home-manager = {
|
||||
users = { spagnologasper = ./home.nix; };
|
||||
useGlobalPkgs = true;
|
||||
};
|
||||
|
||||
##### General system settings #####
|
||||
time.timeZone = "Europe/Ljubljana";
|
||||
i18n.defaultLocale = "en_US.UTF-8";
|
||||
system.stateVersion = "23.11";
|
||||
system.autoUpgrade.enable = false;
|
||||
system.autoUpgrade.allowReboot = false;
|
||||
nixpkgs.config.allowUnfree = true;
|
||||
|
||||
##### Hardware and bootloader configurations #####
|
||||
boot.loader.systemd-boot.enable = true;
|
||||
boot.loader.efi.canTouchEfiVariables = true;
|
||||
boot.kernelModules = [ "kvm-intel" "wireguard" ];
|
||||
boot.blacklistedKernelModules = [ "nouveau" ];
|
||||
boot.extraModulePackages = [ pkgs.linuxPackages.nvidia_x11 ];
|
||||
|
||||
### CUDA ###
|
||||
nixpkgs.config.cudaSupport = true;
|
||||
services.xserver.videoDrivers = [ "amdgpu" "nvidia" ];
|
||||
virtualisation.docker.enableNvidia = true; # Enable GPU support in container
|
||||
|
||||
hardware.nvidia = {
|
||||
|
||||
# Modesetting is required.
|
||||
modesetting.enable = true;
|
||||
|
||||
# Nvidia power management. Experimental, and can cause sleep/suspend to fail.
|
||||
powerManagement.enable = false;
|
||||
# Fine-grained power management. Turns off GPU when not in use.
|
||||
# Experimental and only works on modern Nvidia GPUs (Turing or newer).
|
||||
powerManagement.finegrained = false;
|
||||
|
||||
# Use the NVidia open source kernel module (not to be confused with the
|
||||
# independent third-party "nouveau" open source driver).
|
||||
# Support is limited to the Turing and later architectures. Full list of
|
||||
# supported GPUs is at:
|
||||
# https://github.com/NVIDIA/open-gpu-kernel-modules#compatible-gpus
|
||||
# Only available from driver 515.43.04+
|
||||
# Do not disable this unless your GPU is unsupported or if you have a good reason to.
|
||||
open = true;
|
||||
|
||||
# Enable the Nvidia settings menu,
|
||||
# accessible via `nvidia-settings`.
|
||||
nvidiaSettings = true;
|
||||
|
||||
# Optionally, you may need to select the appropriate driver version for your specific GPU.
|
||||
package = config.boot.kernelPackages.nvidiaPackages.stable;
|
||||
};
|
||||
|
||||
# Bluetooth
|
||||
hardware.bluetooth.enable = true;
|
||||
|
||||
hardware.opengl = {
|
||||
enable = true;
|
||||
driSupport = true;
|
||||
driSupport32Bit = true;
|
||||
extraPackages = with pkgs; [ libGLU libGL ];
|
||||
};
|
||||
|
||||
# Enable UDisks2 service for automounting
|
||||
services.udisks2.enable = true;
|
||||
|
||||
### KVM ###
|
||||
services.qemuGuest.enable = true;
|
||||
virtualisation.docker.enable = true;
|
||||
|
||||
virtualisation.libvirtd = {
|
||||
qemu = {
|
||||
ovmf.enable = true;
|
||||
runAsRoot = true;
|
||||
};
|
||||
enable = true;
|
||||
onBoot = "ignore";
|
||||
onShutdown = "shutdown";
|
||||
};
|
||||
|
||||
# Enable virt-manager
|
||||
programs.virt-manager.enable = true;
|
||||
programs.dconf.enable = true; # virt-manager requires dconf to remember settings
|
||||
|
||||
##### Networking settings #####
|
||||
networking.hostName = "nixos";
|
||||
networking.networkmanager.enable = true;
|
||||
|
||||
networking.extraHosts = "";
|
||||
|
||||
##### Services ####
|
||||
services.pipewire = {
|
||||
enable = true;
|
||||
alsa.enable = true;
|
||||
alsa.support32Bit = true;
|
||||
pulse.enable = true;
|
||||
};
|
||||
|
||||
services.xserver = { enable = true; };
|
||||
|
||||
xdg.portal = {
|
||||
enable = true;
|
||||
wlr.enable = true;
|
||||
# gtk portal needed to make gtk apps happy
|
||||
extraPortals = [ pkgs.xdg-desktop-portal-gtk ];
|
||||
config.common.default = "*";
|
||||
};
|
||||
|
||||
services.dbus.enable = true;
|
||||
services.printing.enable = true;
|
||||
|
||||
# start polkit on login
|
||||
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;
|
||||
};
|
||||
};
|
||||
};
|
||||
security.polkit.enable = true;
|
||||
sound.enable = true;
|
||||
hardware.pulseaudio.enable = false;
|
||||
security.rtkit.enable = true;
|
||||
|
||||
##### System packages #####
|
||||
environment.systemPackages = with pkgs; [
|
||||
dconf
|
||||
linuxPackages.nvidia_x11
|
||||
cudatoolkit
|
||||
alacritty
|
||||
wayland
|
||||
xdg-utils
|
||||
glib
|
||||
vim
|
||||
tmux
|
||||
docker-compose
|
||||
libguestfs
|
||||
libvirt
|
||||
coreutils
|
||||
binutils
|
||||
pciutils
|
||||
dmidecode
|
||||
autoconf
|
||||
gcc
|
||||
gnumake
|
||||
llvm
|
||||
libclang
|
||||
clang
|
||||
cmake
|
||||
libtool
|
||||
libvterm
|
||||
ncurses5
|
||||
stdenv.cc
|
||||
wget
|
||||
curl
|
||||
curl.dev
|
||||
git-lfs
|
||||
man
|
||||
mkpasswd
|
||||
unzip
|
||||
direnv
|
||||
lshw
|
||||
zsh
|
||||
oh-my-zsh
|
||||
fzf
|
||||
fd
|
||||
python3
|
||||
ruby
|
||||
rbenv
|
||||
go
|
||||
jdk
|
||||
pulumi
|
||||
bluez
|
||||
git
|
||||
wireguard-tools
|
||||
polkit_gnome
|
||||
openvpn
|
||||
zlib
|
||||
glib
|
||||
glibc
|
||||
file
|
||||
ffmpeg
|
||||
wirelesstools
|
||||
udisks2
|
||||
];
|
||||
|
||||
nixpkgs.config.permittedInsecurePackages =
|
||||
[ "electron-12.2.3" "electron-19.1.9" ];
|
||||
|
||||
##### Extra #####
|
||||
programs.zsh.enable = true;
|
||||
qt.platformTheme = "qt5ct";
|
||||
|
||||
programs.mtr.enable = true;
|
||||
programs.gnupg.agent = {
|
||||
enable = true;
|
||||
enableSSHSupport = true;
|
||||
};
|
||||
|
||||
# Steam cannot be installed using home-manager, so let it be global for now
|
||||
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
|
||||
};
|
||||
|
||||
nix = {
|
||||
package = pkgs.nixFlakes;
|
||||
extraOptions = ''
|
||||
experimental-features = nix-command flakes
|
||||
'';
|
||||
};
|
||||
|
||||
##### User configurations ######
|
||||
users.users.spagnologasper = {
|
||||
shell = pkgs.zsh;
|
||||
isNormalUser = true;
|
||||
description = "spagnologasper";
|
||||
extraGroups = [
|
||||
"wheel"
|
||||
"disk"
|
||||
"libvirtd"
|
||||
"docker"
|
||||
"audio"
|
||||
"video"
|
||||
"input"
|
||||
"systemd-journal"
|
||||
"networkmanager"
|
||||
"network"
|
||||
];
|
||||
};
|
||||
}
|
|
@ -0,0 +1,48 @@
|
|||
{
|
||||
"nodes": {
|
||||
"home-manager": {
|
||||
"inputs": {
|
||||
"nixpkgs": [
|
||||
"nixpkgs"
|
||||
]
|
||||
},
|
||||
"locked": {
|
||||
"lastModified": 1708451036,
|
||||
"narHash": "sha256-tgZ38NummEdnXvxj4D0StHBzXgceAw8CptytHljH790=",
|
||||
"owner": "nix-community",
|
||||
"repo": "home-manager",
|
||||
"rev": "517601b37c6d495274454f63c5a483c8e3ca6be1",
|
||||
"type": "github"
|
||||
},
|
||||
"original": {
|
||||
"owner": "nix-community",
|
||||
"repo": "home-manager",
|
||||
"type": "github"
|
||||
}
|
||||
},
|
||||
"nixpkgs": {
|
||||
"locked": {
|
||||
"lastModified": 1708294118,
|
||||
"narHash": "sha256-evZzmLW7qoHXf76VCepvun1esZDxHfVRFUJtumD7L2M=",
|
||||
"owner": "NixOS",
|
||||
"repo": "nixpkgs",
|
||||
"rev": "e0da498ad77ac8909a980f07eff060862417ccf7",
|
||||
"type": "github"
|
||||
},
|
||||
"original": {
|
||||
"owner": "NixOS",
|
||||
"ref": "nixos-23.11",
|
||||
"repo": "nixpkgs",
|
||||
"type": "github"
|
||||
}
|
||||
},
|
||||
"root": {
|
||||
"inputs": {
|
||||
"home-manager": "home-manager",
|
||||
"nixpkgs": "nixpkgs"
|
||||
}
|
||||
}
|
||||
},
|
||||
"root": "root",
|
||||
"version": 7
|
||||
}
|
|
@ -0,0 +1,31 @@
|
|||
{
|
||||
description = "My NixOS flake configuration";
|
||||
|
||||
inputs = {
|
||||
nixpkgs.url = "github:NixOS/nixpkgs/nixos-23.11";
|
||||
home-manager = {
|
||||
url = "github:nix-community/home-manager";
|
||||
inputs.nixpkgs.follows = "nixpkgs";
|
||||
};
|
||||
};
|
||||
|
||||
outputs = { self, nixpkgs, home-manager, ... }: {
|
||||
formatter.x86_64-linux = nixpkgs.legacyPackages.x86_64-linux.nixpkgs-fmt;
|
||||
|
||||
overlays.my = import ./pkgs;
|
||||
|
||||
nixosConfigurations = {
|
||||
yoga = nixpkgs.lib.nixosSystem {
|
||||
system = "x86_64-linux";
|
||||
modules = [ home-manager.nixosModules.home-manager ./systems/yoga/configuration.nix ];
|
||||
};
|
||||
};
|
||||
|
||||
homeConfigurations = {
|
||||
spagnologasper = home-manager.lib.homeManagerConfiguration {
|
||||
pkgs = nixpkgs.legacyPackages."x86_64-linux";
|
||||
modules = [ ./home.nix ];
|
||||
};
|
||||
};
|
||||
};
|
||||
}
|
|
@ -0,0 +1,38 @@
|
|||
# Do not modify this file! It was generated by ‘nixos-generate-config’
|
||||
# and may be overwritten by future invocations. Please make changes
|
||||
# to /etc/nixos/configuration.nix instead.
|
||||
{ config, lib, pkgs, modulesPath, ... }:
|
||||
|
||||
{
|
||||
imports = [ (modulesPath + "/installer/scan/not-detected.nix") ];
|
||||
|
||||
boot.initrd.availableKernelModules =
|
||||
[ "nvme" "xhci_pci" "usb_storage" "sd_mod" ];
|
||||
boot.initrd.kernelModules = [ ];
|
||||
boot.kernelModules = [ "kvm-amd" ];
|
||||
boot.extraModulePackages = [ ];
|
||||
|
||||
fileSystems."/" = {
|
||||
device = "/dev/disk/by-uuid/0899771d-54fe-4a08-917d-4e31fc6b4d3d";
|
||||
fsType = "ext4";
|
||||
};
|
||||
|
||||
fileSystems."/boot" = {
|
||||
device = "/dev/disk/by-uuid/D414-BBFF";
|
||||
fsType = "vfat";
|
||||
};
|
||||
|
||||
swapDevices =
|
||||
[{ device = "/dev/disk/by-uuid/a439d0f1-e65c-4178-abd8-d0d31dc9ba18"; }];
|
||||
|
||||
# Enables DHCP on each ethernet and wireless interface. In case of scripted networking
|
||||
# (the default) this is the recommended approach. When using systemd-networkd it's
|
||||
# still possible to use this option, but it's recommended to use it in conjunction
|
||||
# with explicit per-interface declarations with `networking.interfaces.<interface>.useDHCP`.
|
||||
networking.useDHCP = lib.mkDefault true;
|
||||
# networking.interfaces.wlp2s0.useDHCP = lib.mkDefault true;
|
||||
|
||||
nixpkgs.hostPlatform = lib.mkDefault "x86_64-linux";
|
||||
hardware.cpu.amd.updateMicrocode =
|
||||
lib.mkDefault config.hardware.enableRedistributableFirmware;
|
||||
}
|
|
@ -0,0 +1,6 @@
|
|||
{
|
||||
home.stateVersion = "23.11";
|
||||
imports = [
|
||||
./starship
|
||||
];
|
||||
}
|
|
@ -0,0 +1,21 @@
|
|||
{
|
||||
programs.starship = {
|
||||
enable = true;
|
||||
settings = {
|
||||
aws.style = "bold #ffb86c";
|
||||
cmd_duration.style = "bold #f1fa8c";
|
||||
directory.style = "bold #50fa7b";
|
||||
hostname.style = "bold #ff5555";
|
||||
git_branch.style = "bold #ff79c6";
|
||||
git_status.style = "bold #ff5555";
|
||||
username = {
|
||||
format = "[$user]($style) on ";
|
||||
style_user = "bold #bd93f9";
|
||||
};
|
||||
character = {
|
||||
success_symbol = "[λ](bold #f8f8f2)";
|
||||
error_symbol = "[λ](bold #ff5555)";
|
||||
};
|
||||
};
|
||||
};
|
||||
}
|
|
@ -0,0 +1,269 @@
|
|||
{ config, pkgs, lib, ... }:
|
||||
##### Variable definitions #####
|
||||
let
|
||||
|
||||
burekVariable = "burek";
|
||||
|
||||
in {
|
||||
|
||||
imports = [ ./hardware-configuration.nix ];
|
||||
|
||||
##### Environment Variables #####
|
||||
environment = {
|
||||
variables = {
|
||||
# PROXY SETTINGS
|
||||
# http_proxy = "http://proxy.site";
|
||||
# https_proxy = "https://proxy.site";
|
||||
EXTRA_LDFLAGS = "-L/lib -L${pkgs.linuxPackages.nvidia_x11}/lib";
|
||||
CUDA_PATH = "${pkgs.cudatoolkit}";
|
||||
QT_STYLE_OVERRIDE = "kvantum";
|
||||
QT_QPA_PLATFORMTHEME = "qt5ct";
|
||||
EXTRA_CCFLAGS = "-I/usr/include";
|
||||
};
|
||||
|
||||
sessionVariables = {
|
||||
LD_LIBRARY_PATH = with pkgs;
|
||||
"${stdenv.cc.cc.lib.outPath}/lib:${linuxPackages.nvidia_x11}/lib:${stdenv.cc.cc.lib}/lib:${pkgs.zlib}/lib:${pkgs.libGL}/lib:${pkgs.libGLU}/lib:${pkgs.glibc}/lib:${pkgs.glib.out}/lib";
|
||||
};
|
||||
|
||||
};
|
||||
|
||||
home-manager = {
|
||||
users = { spagnologasper = ../../home.nix; };
|
||||
useGlobalPkgs = true;
|
||||
};
|
||||
|
||||
##### General system settings #####
|
||||
time.timeZone = "Europe/Ljubljana";
|
||||
i18n.defaultLocale = "en_US.UTF-8";
|
||||
system.stateVersion = "23.11";
|
||||
system.autoUpgrade.enable = false;
|
||||
system.autoUpgrade.allowReboot = false;
|
||||
nixpkgs.config.allowUnfree = true;
|
||||
|
||||
##### Hardware and bootloader configurations #####
|
||||
boot.loader.systemd-boot.enable = true;
|
||||
boot.loader.efi.canTouchEfiVariables = true;
|
||||
boot.kernelModules = [ "kvm-intel" "wireguard" ];
|
||||
boot.blacklistedKernelModules = [ "nouveau" ];
|
||||
boot.extraModulePackages = [ pkgs.linuxPackages.nvidia_x11 ];
|
||||
|
||||
### CUDA ###
|
||||
nixpkgs.config.cudaSupport = true;
|
||||
services.xserver.videoDrivers = [ "amdgpu" "nvidia" ];
|
||||
virtualisation.docker.enableNvidia = true; # Enable GPU support in container
|
||||
|
||||
hardware.nvidia = {
|
||||
|
||||
# Modesetting is required.
|
||||
modesetting.enable = true;
|
||||
|
||||
# Nvidia power management. Experimental, and can cause sleep/suspend to fail.
|
||||
powerManagement.enable = false;
|
||||
# Fine-grained power management. Turns off GPU when not in use.
|
||||
# Experimental and only works on modern Nvidia GPUs (Turing or newer).
|
||||
powerManagement.finegrained = false;
|
||||
|
||||
# Use the NVidia open source kernel module (not to be confused with the
|
||||
# independent third-party "nouveau" open source driver).
|
||||
# Support is limited to the Turing and later architectures. Full list of
|
||||
# supported GPUs is at:
|
||||
# https://github.com/NVIDIA/open-gpu-kernel-modules#compatible-gpus
|
||||
# Only available from driver 515.43.04+
|
||||
# Do not disable this unless your GPU is unsupported or if you have a good reason to.
|
||||
open = true;
|
||||
|
||||
# Enable the Nvidia settings menu,
|
||||
# accessible via `nvidia-settings`.
|
||||
nvidiaSettings = true;
|
||||
|
||||
# Optionally, you may need to select the appropriate driver version for your specific GPU.
|
||||
package = config.boot.kernelPackages.nvidiaPackages.stable;
|
||||
};
|
||||
|
||||
# Bluetooth
|
||||
hardware.bluetooth.enable = true;
|
||||
|
||||
hardware.opengl = {
|
||||
enable = true;
|
||||
driSupport = true;
|
||||
driSupport32Bit = true;
|
||||
extraPackages = with pkgs; [ libGLU libGL ];
|
||||
};
|
||||
|
||||
# Enable UDisks2 service for automounting
|
||||
services.udisks2.enable = true;
|
||||
|
||||
### KVM ###
|
||||
services.qemuGuest.enable = true;
|
||||
virtualisation.docker.enable = true;
|
||||
|
||||
virtualisation.libvirtd = {
|
||||
qemu = {
|
||||
ovmf.enable = true;
|
||||
runAsRoot = true;
|
||||
};
|
||||
enable = true;
|
||||
onBoot = "ignore";
|
||||
onShutdown = "shutdown";
|
||||
};
|
||||
|
||||
##### Networking settings #####
|
||||
networking.hostName = "nixos";
|
||||
networking.networkmanager.enable = true;
|
||||
|
||||
networking.extraHosts = "";
|
||||
|
||||
##### Services ####
|
||||
services.pipewire = {
|
||||
enable = true;
|
||||
alsa.enable = true;
|
||||
alsa.support32Bit = true;
|
||||
pulse.enable = true;
|
||||
};
|
||||
|
||||
services.xserver = { enable = true; };
|
||||
|
||||
xdg.portal = {
|
||||
enable = true;
|
||||
wlr.enable = true;
|
||||
# gtk portal needed to make gtk apps happy
|
||||
extraPortals = [ pkgs.xdg-desktop-portal-gtk ];
|
||||
config.common.default = "*";
|
||||
};
|
||||
|
||||
services.dbus.enable = true;
|
||||
services.printing.enable = true;
|
||||
|
||||
# start polkit on login
|
||||
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;
|
||||
};
|
||||
};
|
||||
};
|
||||
security.polkit.enable = true;
|
||||
sound.enable = true;
|
||||
hardware.pulseaudio.enable = false;
|
||||
security.rtkit.enable = true;
|
||||
|
||||
##### System packages #####
|
||||
environment.systemPackages = with pkgs; [
|
||||
linuxPackages.nvidia_x11
|
||||
cudatoolkit
|
||||
alacritty
|
||||
wayland
|
||||
xdg-utils
|
||||
glib
|
||||
vim
|
||||
tmux
|
||||
docker-compose
|
||||
virt-manager
|
||||
libguestfs
|
||||
libvirt
|
||||
coreutils
|
||||
binutils
|
||||
pciutils
|
||||
dmidecode
|
||||
autoconf
|
||||
gcc
|
||||
gnumake
|
||||
llvm
|
||||
libclang
|
||||
clang
|
||||
cmake
|
||||
libtool
|
||||
libvterm
|
||||
ncurses5
|
||||
stdenv.cc
|
||||
wget
|
||||
curl
|
||||
curl.dev
|
||||
git-lfs
|
||||
man
|
||||
mkpasswd
|
||||
unzip
|
||||
direnv
|
||||
lshw
|
||||
zsh
|
||||
oh-my-zsh
|
||||
fzf
|
||||
fd
|
||||
python3
|
||||
ruby
|
||||
rbenv
|
||||
go
|
||||
jdk
|
||||
pulumi
|
||||
bluez
|
||||
git
|
||||
wireguard-tools
|
||||
polkit_gnome
|
||||
openvpn
|
||||
zlib
|
||||
glib
|
||||
glibc
|
||||
file
|
||||
ffmpeg
|
||||
wirelesstools
|
||||
udisks2
|
||||
];
|
||||
|
||||
nixpkgs.config.permittedInsecurePackages =
|
||||
[ "electron-12.2.3" "electron-19.1.9" ];
|
||||
|
||||
##### Extra #####
|
||||
programs.zsh.enable = true;
|
||||
qt.platformTheme = "qt5ct";
|
||||
|
||||
programs.mtr.enable = true;
|
||||
programs.gnupg.agent = {
|
||||
enable = true;
|
||||
enableSSHSupport = true;
|
||||
};
|
||||
|
||||
# Steam cannot be installed using home-manager, so let it be global for now
|
||||
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
|
||||
};
|
||||
|
||||
nix = {
|
||||
package = pkgs.nixFlakes;
|
||||
extraOptions = ''
|
||||
experimental-features = nix-command flakes
|
||||
'';
|
||||
};
|
||||
|
||||
##### User configurations ######
|
||||
users.users.spagnologasper = {
|
||||
shell = pkgs.zsh;
|
||||
isNormalUser = true;
|
||||
description = "spagnologasper";
|
||||
extraGroups = [
|
||||
"wheel"
|
||||
"disk"
|
||||
"libvirtd"
|
||||
"docker"
|
||||
"audio"
|
||||
"video"
|
||||
"input"
|
||||
"systemd-journal"
|
||||
"networkmanager"
|
||||
"network"
|
||||
];
|
||||
};
|
||||
}
|
|
@ -0,0 +1,38 @@
|
|||
# Do not modify this file! It was generated by ‘nixos-generate-config’
|
||||
# and may be overwritten by future invocations. Please make changes
|
||||
# to /etc/nixos/configuration.nix instead.
|
||||
{ config, lib, pkgs, modulesPath, ... }:
|
||||
|
||||
{
|
||||
imports = [ (modulesPath + "/installer/scan/not-detected.nix") ];
|
||||
|
||||
boot.initrd.availableKernelModules =
|
||||
[ "nvme" "xhci_pci" "usb_storage" "sd_mod" ];
|
||||
boot.initrd.kernelModules = [ ];
|
||||
boot.kernelModules = [ "kvm-amd" ];
|
||||
boot.extraModulePackages = [ ];
|
||||
|
||||
fileSystems."/" = {
|
||||
device = "/dev/disk/by-uuid/0899771d-54fe-4a08-917d-4e31fc6b4d3d";
|
||||
fsType = "ext4";
|
||||
};
|
||||
|
||||
fileSystems."/boot" = {
|
||||
device = "/dev/disk/by-uuid/D414-BBFF";
|
||||
fsType = "vfat";
|
||||
};
|
||||
|
||||
swapDevices =
|
||||
[{ device = "/dev/disk/by-uuid/a439d0f1-e65c-4178-abd8-d0d31dc9ba18"; }];
|
||||
|
||||
# Enables DHCP on each ethernet and wireless interface. In case of scripted networking
|
||||
# (the default) this is the recommended approach. When using systemd-networkd it's
|
||||
# still possible to use this option, but it's recommended to use it in conjunction
|
||||
# with explicit per-interface declarations with `networking.interfaces.<interface>.useDHCP`.
|
||||
networking.useDHCP = lib.mkDefault true;
|
||||
# networking.interfaces.wlp2s0.useDHCP = lib.mkDefault true;
|
||||
|
||||
nixpkgs.hostPlatform = lib.mkDefault "x86_64-linux";
|
||||
hardware.cpu.amd.updateMicrocode =
|
||||
lib.mkDefault config.hardware.enableRedistributableFirmware;
|
||||
}
|
Loading…
Reference in New Issue