Gen 444: Consolidated desktop/laptop configs into one, differing options are declared in hosts folder
This commit is contained in:
12
modules/sys/default.nix
Normal file
12
modules/sys/default.nix
Normal file
@@ -0,0 +1,12 @@
|
||||
{ inputs, nixpkgs, config, self, username, ... }:
|
||||
|
||||
{
|
||||
imports =
|
||||
[ (import ./hardware/bootloader.nix) ]
|
||||
++ [ (import ./software/fonts.nix) ]
|
||||
++ [ (import ./hardware/network.nix) ]
|
||||
++ [ (import ./software/packages.nix) ]
|
||||
++ [ (import ./software/programs.nix) ]
|
||||
++ [ (import ./software/services.nix) ]
|
||||
++ [ (import ./software/users.nix) ];
|
||||
}
|
||||
10
modules/sys/hardware/bootloader.nix
Normal file
10
modules/sys/hardware/bootloader.nix
Normal file
@@ -0,0 +1,10 @@
|
||||
{ pkgs, ... }:
|
||||
|
||||
{
|
||||
boot = {
|
||||
loader.systemd-boot.enable = true;
|
||||
loader.efi.canTouchEfiVariables = true;
|
||||
loader.systemd-boot.configurationLimit = 10;
|
||||
kernelPackages = pkgs.linuxPackages_latest;
|
||||
};
|
||||
}
|
||||
15
modules/sys/hardware/network.nix
Normal file
15
modules/sys/hardware/network.nix
Normal file
@@ -0,0 +1,15 @@
|
||||
{ pkgs, ... }:
|
||||
|
||||
{
|
||||
networking = {
|
||||
networkmanager.enable = true;
|
||||
hostName = "glasshaus";
|
||||
hosts = {
|
||||
"192.168.1.163" = [ "glasshaus.info" ];
|
||||
};
|
||||
firewall = {
|
||||
enable = true;
|
||||
allowedTCPPorts = [ 30000 ];
|
||||
};
|
||||
};
|
||||
}
|
||||
9
modules/sys/software/fonts.nix
Normal file
9
modules/sys/software/fonts.nix
Normal file
@@ -0,0 +1,9 @@
|
||||
{ pkgs, ... }:
|
||||
|
||||
{
|
||||
fonts.packages = with pkgs; [
|
||||
times-newer-roman
|
||||
nerdfonts
|
||||
jetbrains-mono
|
||||
];
|
||||
}
|
||||
73
modules/sys/software/packages.nix
Normal file
73
modules/sys/software/packages.nix
Normal file
@@ -0,0 +1,73 @@
|
||||
{ pkgs, inputs, ... }:
|
||||
|
||||
{
|
||||
environment.systemPackages = with pkgs; [
|
||||
alsa-lib
|
||||
alsa-utils
|
||||
bc
|
||||
cava
|
||||
clang
|
||||
clang-tools
|
||||
cmake
|
||||
fail2ban
|
||||
feh
|
||||
ffmpeg-full
|
||||
fuse
|
||||
fzf
|
||||
git
|
||||
gnumake
|
||||
gst_all_1.gstreamer
|
||||
htop
|
||||
hyprland
|
||||
hyprland-workspaces
|
||||
hyprpaper
|
||||
hyprpicker
|
||||
imagemagick
|
||||
inetutils
|
||||
kitty
|
||||
libclang
|
||||
libcxx
|
||||
lolcat
|
||||
lsof
|
||||
lua-language-server
|
||||
luarocks
|
||||
mesa
|
||||
mpd
|
||||
mullvad
|
||||
neofetch
|
||||
nix-index
|
||||
nix-prefetch-scripts
|
||||
nixos-option
|
||||
nix-search-cli
|
||||
openssl
|
||||
p7zip
|
||||
jq
|
||||
pamixer
|
||||
parted
|
||||
pass
|
||||
pavucontrol
|
||||
pkg-config
|
||||
playerctl
|
||||
protonmail-bridge
|
||||
protontricks
|
||||
pyright
|
||||
quintom-cursor-theme
|
||||
socat
|
||||
sox
|
||||
stress
|
||||
tor
|
||||
tree
|
||||
unrar
|
||||
unzip
|
||||
usbutils
|
||||
vim
|
||||
vscode-langservers-extracted
|
||||
vulkan-loader
|
||||
wget
|
||||
wine
|
||||
wl-clipboard
|
||||
xpad
|
||||
libnotify
|
||||
file
|
||||
];
|
||||
}
|
||||
20
modules/sys/software/programs.nix
Normal file
20
modules/sys/software/programs.nix
Normal file
@@ -0,0 +1,20 @@
|
||||
{ pkgs, ... }:
|
||||
|
||||
{
|
||||
programs = {
|
||||
steam.enable = true;
|
||||
hyprland.enable = true;
|
||||
zsh.enable = true;
|
||||
nix-ld = {
|
||||
enable = true;
|
||||
libraries = with pkgs; [
|
||||
stdenv.cc.cc
|
||||
ffmpeg-full
|
||||
];
|
||||
};
|
||||
gnupg.agent = {
|
||||
enable = true;
|
||||
enableSSHSupport = true;
|
||||
};
|
||||
};
|
||||
}
|
||||
18
modules/sys/software/services.nix
Normal file
18
modules/sys/software/services.nix
Normal file
@@ -0,0 +1,18 @@
|
||||
{ pkgs, ...}:
|
||||
|
||||
{
|
||||
services = {
|
||||
pipewire = {
|
||||
enable = true;
|
||||
pulse.enable = true;
|
||||
wireplumber.enable = true;
|
||||
alsa.enable = true;
|
||||
alsa.support32Bit = true;
|
||||
};
|
||||
udev.enable = true;
|
||||
dbus.enable = true;
|
||||
mullvad-vpn.enable = true;
|
||||
blueman.enable = true;
|
||||
openssh.enable = true;
|
||||
};
|
||||
}
|
||||
37
modules/sys/software/users.nix
Normal file
37
modules/sys/software/users.nix
Normal file
@@ -0,0 +1,37 @@
|
||||
{ config, inputs, pkgs, username, self, ... }:
|
||||
|
||||
let
|
||||
nur = config.nur;
|
||||
in
|
||||
{
|
||||
imports = [ inputs.home-manager.nixosModules.home-manager ];
|
||||
home-manager = {
|
||||
useUserPackages = true;
|
||||
useGlobalPkgs = true;
|
||||
backupFileExtension = "backup";
|
||||
extraSpecialArgs = { inherit self inputs username nur; };
|
||||
users.${username} = {
|
||||
programs.home-manager.enable = true;
|
||||
imports = [ ./../../home ];
|
||||
home = {
|
||||
username = "${username}";
|
||||
homeDirectory = "/home/${username}";
|
||||
stateVersion = "24.05";
|
||||
pointerCursor = {
|
||||
name = "Quintom_Ink";
|
||||
size = 36;
|
||||
package = pkgs.quintom-cursor-theme;
|
||||
};
|
||||
};
|
||||
};
|
||||
};
|
||||
users.users.${username} = {
|
||||
isNormalUser = true;
|
||||
shell = pkgs.zsh;
|
||||
extraGroups = [ "wheel" ];
|
||||
};
|
||||
security.sudo.extraConfig = ''
|
||||
${username} ALL=(ALL) NOPASSWD: /run/current-system/sw/bin/nixos-rebuild
|
||||
'';
|
||||
nix.settings.allowed-users = [ "${username}" ];
|
||||
}
|
||||
Reference in New Issue
Block a user