The godconfig dear god
parent
d9fa0a8858
commit
daece86e42
|
@ -0,0 +1,11 @@
|
||||||
|
# This is your system's configuration file.
|
||||||
|
# Use this to configure your system environment (it replaces /etc/nixos/configuration.nix)
|
||||||
|
{ outputs, lib, config, pkgs, ... }:
|
||||||
|
|
||||||
|
{
|
||||||
|
# Set hostname
|
||||||
|
networking.hostName = "puter";
|
||||||
|
|
||||||
|
# https://nixos.wiki/wiki/FAQ/When_do_I_update_stateVersion
|
||||||
|
system.stateVersion = "23.05";
|
||||||
|
}
|
|
@ -0,0 +1,40 @@
|
||||||
|
# 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 = [ "xhci_pci" "thunderbolt" "nvme" ];
|
||||||
|
boot.initrd.kernelModules = [ ];
|
||||||
|
boot.kernelModules = [ "kvm-intel" ];
|
||||||
|
boot.extraModulePackages = [ ];
|
||||||
|
|
||||||
|
fileSystems."/" =
|
||||||
|
{ device = "/dev/disk/by-uuid/d42a3a57-a48e-442c-8c39-eaa4d908c655";
|
||||||
|
fsType = "ext4";
|
||||||
|
};
|
||||||
|
|
||||||
|
boot.initrd.luks.devices."luks-528cf9f0-1010-4643-b33d-4556cbbd8e12".device = "/dev/disk/by-uuid/528cf9f0-1010-4643-b33d-4556cbbd8e12";
|
||||||
|
|
||||||
|
fileSystems."/boot" =
|
||||||
|
{ device = "/dev/disk/by-uuid/42F5-ED7B";
|
||||||
|
fsType = "vfat";
|
||||||
|
};
|
||||||
|
|
||||||
|
swapDevices = [ ];
|
||||||
|
|
||||||
|
# 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.wlp170s0.useDHCP = lib.mkDefault true;
|
||||||
|
|
||||||
|
nixpkgs.hostPlatform = lib.mkDefault "x86_64-linux";
|
||||||
|
powerManagement.cpuFreqGovernor = lib.mkDefault "powersave";
|
||||||
|
hardware.cpu.intel.updateMicrocode = lib.mkDefault config.hardware.enableRedistributableFirmware;
|
||||||
|
}
|
|
@ -0,0 +1,30 @@
|
||||||
|
{ config, pkgs, inputs, ... }:
|
||||||
|
|
||||||
|
{
|
||||||
|
# Allow unfree packages
|
||||||
|
nixpkgs.config = {
|
||||||
|
permittedInsecurePackages = [
|
||||||
|
"electron-24.8.6"
|
||||||
|
"electron-22.3.27"
|
||||||
|
];
|
||||||
|
};
|
||||||
|
# Fonts
|
||||||
|
fonts.packages = [
|
||||||
|
pkgs.ibm-plex
|
||||||
|
];
|
||||||
|
environment = {
|
||||||
|
# Systemwide installed packages
|
||||||
|
systemPackages = with pkgs; [
|
||||||
|
# System
|
||||||
|
gnome.gnome-control-center
|
||||||
|
gnome.nautilus
|
||||||
|
gnome.file-roller
|
||||||
|
alacritty
|
||||||
|
gnome-text-editor
|
||||||
|
warp
|
||||||
|
tor-browser-bundle-bin
|
||||||
|
# Utils
|
||||||
|
popsicle
|
||||||
|
];
|
||||||
|
};
|
||||||
|
}
|
|
@ -0,0 +1,28 @@
|
||||||
|
{ config, pkgs, ... }:
|
||||||
|
|
||||||
|
{
|
||||||
|
networking.hostName = "HermitCollective";
|
||||||
|
networking.domain = "hermitcollective.net";
|
||||||
|
|
||||||
|
# Configure keymap in X11
|
||||||
|
services.xserver = {
|
||||||
|
layout = "us";
|
||||||
|
xkbVariant = "";
|
||||||
|
};
|
||||||
|
|
||||||
|
# Accept ACME terms
|
||||||
|
security.acme.acceptTerms = true;
|
||||||
|
security.acme.defaults.email = "hertog@fsfe.org";
|
||||||
|
|
||||||
|
# Open ports in the firewall.
|
||||||
|
networking.firewall.allowedTCPPorts = [ 22 80 443 8080 8181 1935 ];
|
||||||
|
# networking.firewall.allowedUDPPorts = [ ... ];
|
||||||
|
|
||||||
|
# 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?
|
||||||
|
}
|
|
@ -0,0 +1,43 @@
|
||||||
|
# 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 = [ "xhci_pci" "ahci" "sd_mod" ];
|
||||||
|
boot.initrd.kernelModules = [ ];
|
||||||
|
boot.kernelModules = [ ];
|
||||||
|
boot.extraModulePackages = [ ];
|
||||||
|
|
||||||
|
fileSystems."/" =
|
||||||
|
{ device = "/dev/disk/by-uuid/94c7af9d-2a39-4ae1-9447-91b1bacec334";
|
||||||
|
fsType = "ext4";
|
||||||
|
};
|
||||||
|
|
||||||
|
fileSystems."/boot" =
|
||||||
|
{ device = "/dev/disk/by-uuid/B7A8-E52E";
|
||||||
|
fsType = "vfat";
|
||||||
|
};
|
||||||
|
|
||||||
|
fileSystems."/mnt/sdb" =
|
||||||
|
{ device = "/dev/disk/by-uuid/e5d63d88-bbc6-4532-9636-69587868ca6b";
|
||||||
|
fsType = "ext4";
|
||||||
|
};
|
||||||
|
|
||||||
|
swapDevices = [ ];
|
||||||
|
|
||||||
|
# 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.enp6s0.useDHCP = lib.mkDefault true;
|
||||||
|
|
||||||
|
nixpkgs.hostPlatform = lib.mkDefault "x86_64-linux";
|
||||||
|
powerManagement.cpuFreqGovernor = lib.mkDefault "powersave";
|
||||||
|
hardware.cpu.intel.updateMicrocode = lib.mkDefault config.hardware.enableRedistributableFirmware;
|
||||||
|
}
|
|
@ -0,0 +1,12 @@
|
||||||
|
{ config, pkgs, inputs, ... }:
|
||||||
|
|
||||||
|
{
|
||||||
|
environment = {
|
||||||
|
# Systemwide installed packages
|
||||||
|
systemPackages = with pkgs; [
|
||||||
|
iftop
|
||||||
|
openssl
|
||||||
|
git
|
||||||
|
];
|
||||||
|
};
|
||||||
|
}
|
|
@ -0,0 +1,13 @@
|
||||||
|
{ config, pkgs, ... }:
|
||||||
|
|
||||||
|
{
|
||||||
|
programs.firefox = {
|
||||||
|
enable = true;
|
||||||
|
profiles.hertog = {
|
||||||
|
isDefault = true;
|
||||||
|
name = "Hertog";
|
||||||
|
path = "/home/hertog/.mozilla/firefox/7p5jc0z4.default";
|
||||||
|
|
||||||
|
};
|
||||||
|
};
|
||||||
|
}
|
|
@ -0,0 +1,11 @@
|
||||||
|
{ pkgs, ... }:
|
||||||
|
|
||||||
|
{
|
||||||
|
# Git configuration
|
||||||
|
programs.git = {
|
||||||
|
enable = true;
|
||||||
|
userName = "Johannes Hendrik Gerard van der Weide";
|
||||||
|
userEmail = "hertog@fsfe.org";
|
||||||
|
};
|
||||||
|
}
|
||||||
|
|
|
@ -0,0 +1,13 @@
|
||||||
|
{ pkgs, ... }:
|
||||||
|
|
||||||
|
{
|
||||||
|
# Helix configuration
|
||||||
|
programs.helix = {
|
||||||
|
enable = true;
|
||||||
|
defaultEditor = false;
|
||||||
|
settings = {
|
||||||
|
theme = "adwaita-dark";
|
||||||
|
};
|
||||||
|
};
|
||||||
|
}
|
||||||
|
|
|
@ -0,0 +1,15 @@
|
||||||
|
{ pkgs, config, ... }:
|
||||||
|
|
||||||
|
{
|
||||||
|
# Hyfetch config :3
|
||||||
|
programs.hyfetch = {
|
||||||
|
enable = true;
|
||||||
|
settings = {
|
||||||
|
preset = "bisexual";
|
||||||
|
mode = "rgb";
|
||||||
|
color_align = {
|
||||||
|
mode = "horizontal";
|
||||||
|
};
|
||||||
|
};
|
||||||
|
};
|
||||||
|
}
|
|
@ -0,0 +1,27 @@
|
||||||
|
{ config, pkgs, ... }:
|
||||||
|
|
||||||
|
{
|
||||||
|
programs.neovim = {
|
||||||
|
enable = true;
|
||||||
|
defaultEditor = true;
|
||||||
|
vimAlias = true;
|
||||||
|
coc = {
|
||||||
|
enable = true;
|
||||||
|
};
|
||||||
|
# VimRC
|
||||||
|
extraConfig = ''
|
||||||
|
set background=dark
|
||||||
|
colorscheme PaperColor
|
||||||
|
'';
|
||||||
|
extraLuaConfig = ''
|
||||||
|
print("Welcome to Vim Hertog! :3")
|
||||||
|
'';
|
||||||
|
# Plugins
|
||||||
|
plugins = with pkgs.vimPlugins; [
|
||||||
|
vim-nix
|
||||||
|
nvim-treesitter-parsers.cpp
|
||||||
|
papercolor-theme
|
||||||
|
];
|
||||||
|
};
|
||||||
|
}
|
||||||
|
|
|
@ -0,0 +1,9 @@
|
||||||
|
{ pkgs, ... }:
|
||||||
|
|
||||||
|
{
|
||||||
|
# OBS studio configuration
|
||||||
|
programs.obs-studio = {
|
||||||
|
enable = true;
|
||||||
|
};
|
||||||
|
}
|
||||||
|
|
|
@ -0,0 +1,38 @@
|
||||||
|
{ pkgs, ... }:
|
||||||
|
|
||||||
|
{
|
||||||
|
# Zsh config
|
||||||
|
programs.zsh = {
|
||||||
|
enable = true;
|
||||||
|
initExtra = "
|
||||||
|
hyfetch
|
||||||
|
";
|
||||||
|
shellAliases = {
|
||||||
|
ll = "ls -l";
|
||||||
|
please = "sudo";
|
||||||
|
update = "sudo nixos-rebuild switch --flake /etc/nixos/";
|
||||||
|
};
|
||||||
|
plugins = [
|
||||||
|
{
|
||||||
|
name = "zsh-nix-shell";
|
||||||
|
file = "nix-shell.plugin.zsh";
|
||||||
|
src = pkgs.fetchFromGitHub {
|
||||||
|
owner = "chisui";
|
||||||
|
repo = "zsh-nix-shell";
|
||||||
|
rev = "v0.7.0";
|
||||||
|
sha256 = "149zh2rm59blr2q458a5irkfh82y3dwdich60s9670kl3cl5h2m1";
|
||||||
|
};
|
||||||
|
}
|
||||||
|
];
|
||||||
|
oh-my-zsh = {
|
||||||
|
enable = true;
|
||||||
|
plugins = [
|
||||||
|
"git"
|
||||||
|
"thefuck"
|
||||||
|
"sudo"
|
||||||
|
];
|
||||||
|
theme = "mh";
|
||||||
|
};
|
||||||
|
};
|
||||||
|
}
|
||||||
|
|
|
@ -8,4 +8,4 @@
|
||||||
recommendedProxySettings = true;
|
recommendedProxySettings = true;
|
||||||
recommendedTlsSettings = true;
|
recommendedTlsSettings = true;
|
||||||
};
|
};
|
||||||
}
|
}
|
|
@ -26,7 +26,7 @@
|
||||||
tt_rss-users tt_rss tt_rss
|
tt_rss-users tt_rss tt_rss
|
||||||
'';
|
'';
|
||||||
};
|
};
|
||||||
|
|
||||||
services.nginx.virtualHosts."feeds.hermitcollective.net" = { # TT-RSS hostname
|
services.nginx.virtualHosts."feeds.hermitcollective.net" = { # TT-RSS hostname
|
||||||
enableACME = true; # Use ACME certs
|
enableACME = true; # Use ACME certs
|
||||||
forceSSL = true; # Force SSL
|
forceSSL = true; # Force SSL
|
|
@ -7,4 +7,4 @@
|
||||||
enableACME = true;
|
enableACME = true;
|
||||||
root = "/var/www/blog.hermitcollective.net/docs";
|
root = "/var/www/blog.hermitcollective.net/docs";
|
||||||
};
|
};
|
||||||
}
|
}
|
|
@ -5,6 +5,6 @@
|
||||||
services.nginx.virtualHosts."hermitcollective.net" = {
|
services.nginx.virtualHosts."hermitcollective.net" = {
|
||||||
forceSSL = true;
|
forceSSL = true;
|
||||||
enableACME = true;
|
enableACME = true;
|
||||||
root = "/var/www/hermitcollective.net";
|
root = "/var/www/hermitcollective.net/docs";
|
||||||
};
|
};
|
||||||
}
|
}
|
|
@ -7,4 +7,4 @@
|
||||||
enableACME = true;
|
enableACME = true;
|
||||||
root = "/var/www/hertog.hermitcollective.net";
|
root = "/var/www/hertog.hermitcollective.net";
|
||||||
};
|
};
|
||||||
}
|
}
|
|
@ -0,0 +1,12 @@
|
||||||
|
{ config, ... }:
|
||||||
|
|
||||||
|
{
|
||||||
|
# Enable support for flashing zsa keyboards and the flipperzero their firmware
|
||||||
|
hardware = {
|
||||||
|
keyboard.zsa.enable = true;
|
||||||
|
flipperzero.enable = true;
|
||||||
|
};
|
||||||
|
|
||||||
|
# Enable CUPS to print documents.
|
||||||
|
services.printing.enable = true;
|
||||||
|
}
|
|
@ -0,0 +1,20 @@
|
||||||
|
{ config, ... }:
|
||||||
|
|
||||||
|
{
|
||||||
|
# Enable sound with pipewire.
|
||||||
|
sound.enable = true;
|
||||||
|
hardware.pulseaudio.enable = false;
|
||||||
|
security.rtkit.enable = true;
|
||||||
|
services.pipewire = {
|
||||||
|
enable = true;
|
||||||
|
alsa.enable = true;
|
||||||
|
alsa.support32Bit = true;
|
||||||
|
pulse.enable = true;
|
||||||
|
# If you want to use JACK applications, uncomment this
|
||||||
|
#jack.enable = true;
|
||||||
|
|
||||||
|
# use the example session manager (no others are packaged yet so this is enabled by default,
|
||||||
|
# no need to redefine it in your config for now)
|
||||||
|
#media-session.enable = true;
|
||||||
|
};
|
||||||
|
}
|
|
@ -0,0 +1,39 @@
|
||||||
|
# This is your system's configuration file.
|
||||||
|
# Use this to configure your system environment (it replaces /etc/nixos/configuration.nix)
|
||||||
|
{ outputs, lib, config, pkgs, ... }:
|
||||||
|
|
||||||
|
{
|
||||||
|
nix = {
|
||||||
|
settings = {
|
||||||
|
# Enable flakes and new 'nix' command
|
||||||
|
experimental-features = "nix-command flakes";
|
||||||
|
# Deduplicate and optimize nix store
|
||||||
|
auto-optimise-store = true;
|
||||||
|
};
|
||||||
|
};
|
||||||
|
|
||||||
|
# Bootloader.
|
||||||
|
boot.loader.efi.canTouchEfiVariables = true;
|
||||||
|
boot.loader.systemd-boot = {
|
||||||
|
enable = true;
|
||||||
|
editor = false;
|
||||||
|
};
|
||||||
|
|
||||||
|
# Set your time zone.
|
||||||
|
time.timeZone = "Europe/Amsterdam";
|
||||||
|
|
||||||
|
# Select internationalisation properties.
|
||||||
|
i18n.defaultLocale = "nl_NL.UTF-8";
|
||||||
|
|
||||||
|
i18n.extraLocaleSettings = {
|
||||||
|
LC_ADDRESS = "nl_NL.UTF-8";
|
||||||
|
LC_IDENTIFICATION = "nl_NL.UTF-8";
|
||||||
|
LC_MEASUREMENT = "nl_NL.UTF-8";
|
||||||
|
LC_MONETARY = "nl_NL.UTF-8";
|
||||||
|
LC_NAME = "nl_NL.UTF-8";
|
||||||
|
LC_NUMERIC = "nl_NL.UTF-8";
|
||||||
|
LC_PAPER = "nl_NL.UTF-8";
|
||||||
|
LC_TELEPHONE = "nl_NL.UTF-8";
|
||||||
|
LC_TIME = "nl_NL.UTF-8";
|
||||||
|
};
|
||||||
|
}
|
|
@ -0,0 +1,8 @@
|
||||||
|
{ config, lib, ... }:
|
||||||
|
|
||||||
|
{
|
||||||
|
services.getty = {
|
||||||
|
helpLine = "";
|
||||||
|
greetingLine = "Welcome hermit!";
|
||||||
|
};
|
||||||
|
}
|
|
@ -0,0 +1,22 @@
|
||||||
|
{ config, pkgs, ... }:
|
||||||
|
|
||||||
|
{
|
||||||
|
# Enable the X11 windowing system.
|
||||||
|
services.xserver = {
|
||||||
|
enable = true;
|
||||||
|
layout = "nl";
|
||||||
|
xkbVariant = "us";
|
||||||
|
libinput.enable = true;
|
||||||
|
displayManager.gdm.enable = true;
|
||||||
|
desktopManager = {
|
||||||
|
gnome.enable = true;
|
||||||
|
xterm.enable = false;
|
||||||
|
};
|
||||||
|
};
|
||||||
|
|
||||||
|
# Disable gnome default apps while keeping the gnome settings daemon
|
||||||
|
services.gnome = {
|
||||||
|
core-utilities.enable = false;
|
||||||
|
};
|
||||||
|
services.udev.packages = with pkgs; [ gnome.gnome-settings-daemon ];
|
||||||
|
}
|
|
@ -0,0 +1,39 @@
|
||||||
|
{ config, pkgs, inputs, ... }:
|
||||||
|
|
||||||
|
{
|
||||||
|
# Allow unfree packages
|
||||||
|
nixpkgs.config = {
|
||||||
|
allowUnfree = true;
|
||||||
|
};
|
||||||
|
# Set zsh (config is still per user)
|
||||||
|
programs.zsh.enable = true;
|
||||||
|
users.defaultUserShell = pkgs.zsh;
|
||||||
|
environment = {
|
||||||
|
# Default shell
|
||||||
|
shells = [ pkgs.zsh ];
|
||||||
|
# Other defaults
|
||||||
|
variables = {
|
||||||
|
EDITOR = "vi";
|
||||||
|
SYSTEMD_EDITOR = "vi";
|
||||||
|
VISUAL = "vi";
|
||||||
|
};
|
||||||
|
# Nixos default installed packages (this is set to get rid of nano >:3 )
|
||||||
|
defaultPackages = with pkgs; [
|
||||||
|
nvi
|
||||||
|
perl
|
||||||
|
rsync
|
||||||
|
strace
|
||||||
|
];
|
||||||
|
# Systemwide installed packages
|
||||||
|
systemPackages = with pkgs; [
|
||||||
|
ranger
|
||||||
|
parted
|
||||||
|
util-linux
|
||||||
|
bottom
|
||||||
|
curl
|
||||||
|
wget
|
||||||
|
gitui
|
||||||
|
lynx
|
||||||
|
];
|
||||||
|
};
|
||||||
|
}
|
|
@ -0,0 +1,13 @@
|
||||||
|
{ config, pkgs, ... }:
|
||||||
|
|
||||||
|
{
|
||||||
|
programs.firefox = {
|
||||||
|
enable = true;
|
||||||
|
profiles.hertog = {
|
||||||
|
isDefault = true;
|
||||||
|
name = "Hertog";
|
||||||
|
path = "/home/hertog/.mozilla/firefox/7p5jc0z4.default";
|
||||||
|
|
||||||
|
};
|
||||||
|
};
|
||||||
|
}
|
|
@ -0,0 +1,11 @@
|
||||||
|
{ pkgs, ... }:
|
||||||
|
|
||||||
|
{
|
||||||
|
# Git configuration
|
||||||
|
programs.git = {
|
||||||
|
enable = true;
|
||||||
|
userName = "Johannes Hendrik Gerard van der Weide";
|
||||||
|
userEmail = "hertog@fsfe.org";
|
||||||
|
};
|
||||||
|
}
|
||||||
|
|
|
@ -0,0 +1,13 @@
|
||||||
|
{ pkgs, ... }:
|
||||||
|
|
||||||
|
{
|
||||||
|
# Helix configuration
|
||||||
|
programs.helix = {
|
||||||
|
enable = true;
|
||||||
|
defaultEditor = false;
|
||||||
|
settings = {
|
||||||
|
theme = "adwaita-dark";
|
||||||
|
};
|
||||||
|
};
|
||||||
|
}
|
||||||
|
|
|
@ -0,0 +1,66 @@
|
||||||
|
{ config, pkgs, ... }:
|
||||||
|
{
|
||||||
|
home = {
|
||||||
|
stateVersion = "23.05";
|
||||||
|
username = "hertog";
|
||||||
|
homeDirectory = "/home/hertog";
|
||||||
|
packages = with pkgs; [
|
||||||
|
# Base
|
||||||
|
epiphany
|
||||||
|
firefox
|
||||||
|
thunderbird
|
||||||
|
telegram-desktop
|
||||||
|
vlc
|
||||||
|
bottles
|
||||||
|
# Office
|
||||||
|
slack
|
||||||
|
onlyoffice-bin
|
||||||
|
marker
|
||||||
|
# Security
|
||||||
|
keepassxc
|
||||||
|
# Entertainment
|
||||||
|
steam
|
||||||
|
cartridges
|
||||||
|
prismlauncher-qt5
|
||||||
|
qFlipper
|
||||||
|
protonup-qt
|
||||||
|
stremio
|
||||||
|
spotify
|
||||||
|
# Art
|
||||||
|
inkscape
|
||||||
|
gimp
|
||||||
|
# Shell
|
||||||
|
thefuck
|
||||||
|
pmbootstrap
|
||||||
|
wally-cli
|
||||||
|
# Programming
|
||||||
|
godot_4
|
||||||
|
superTuxKart
|
||||||
|
signal-desktop
|
||||||
|
logseq
|
||||||
|
apostrophe
|
||||||
|
blanket
|
||||||
|
bookworm
|
||||||
|
retroarch
|
||||||
|
libretro.flycast
|
||||||
|
endeavour
|
||||||
|
R
|
||||||
|
rstudio
|
||||||
|
qemu
|
||||||
|
qemu_kvm
|
||||||
|
nixos-generators
|
||||||
|
];
|
||||||
|
};
|
||||||
|
|
||||||
|
imports = [
|
||||||
|
# Home-manager configured program files
|
||||||
|
./neovim.nix
|
||||||
|
./helix.nix
|
||||||
|
./obs.nix
|
||||||
|
./hyfetch.nix
|
||||||
|
./zsh.nix
|
||||||
|
./git.nix
|
||||||
|
];
|
||||||
|
|
||||||
|
programs.home-manager.enable = true;
|
||||||
|
}
|
|
@ -0,0 +1,22 @@
|
||||||
|
{ config, pkgs, ... }:
|
||||||
|
{
|
||||||
|
home = {
|
||||||
|
stateVersion = "23.05";
|
||||||
|
username = "hertog";
|
||||||
|
homeDirectory = "/home/hertog";
|
||||||
|
packages = with pkgs; [
|
||||||
|
# Base
|
||||||
|
thefuck
|
||||||
|
];
|
||||||
|
};
|
||||||
|
|
||||||
|
imports = [
|
||||||
|
# Home-manager configured program files
|
||||||
|
./neovim.nix
|
||||||
|
./hyfetch.nix
|
||||||
|
./zsh.nix
|
||||||
|
./git.nix
|
||||||
|
];
|
||||||
|
|
||||||
|
programs.home-manager.enable = true;
|
||||||
|
}
|
|
@ -0,0 +1,15 @@
|
||||||
|
{ pkgs, config, ... }:
|
||||||
|
|
||||||
|
{
|
||||||
|
# Hyfetch config :3
|
||||||
|
programs.hyfetch = {
|
||||||
|
enable = true;
|
||||||
|
settings = {
|
||||||
|
preset = "bisexual";
|
||||||
|
mode = "rgb";
|
||||||
|
color_align = {
|
||||||
|
mode = "horizontal";
|
||||||
|
};
|
||||||
|
};
|
||||||
|
};
|
||||||
|
}
|
|
@ -0,0 +1,27 @@
|
||||||
|
{ config, pkgs, ... }:
|
||||||
|
|
||||||
|
{
|
||||||
|
programs.neovim = {
|
||||||
|
enable = true;
|
||||||
|
defaultEditor = true;
|
||||||
|
vimAlias = true;
|
||||||
|
coc = {
|
||||||
|
enable = true;
|
||||||
|
};
|
||||||
|
# VimRC
|
||||||
|
extraConfig = ''
|
||||||
|
set background=dark
|
||||||
|
colorscheme PaperColor
|
||||||
|
'';
|
||||||
|
extraLuaConfig = ''
|
||||||
|
print("Welcome to Vim Hertog! :3")
|
||||||
|
'';
|
||||||
|
# Plugins
|
||||||
|
plugins = with pkgs.vimPlugins; [
|
||||||
|
vim-nix
|
||||||
|
nvim-treesitter-parsers.cpp
|
||||||
|
papercolor-theme
|
||||||
|
];
|
||||||
|
};
|
||||||
|
}
|
||||||
|
|
|
@ -0,0 +1,9 @@
|
||||||
|
{ pkgs, ... }:
|
||||||
|
|
||||||
|
{
|
||||||
|
# OBS studio configuration
|
||||||
|
programs.obs-studio = {
|
||||||
|
enable = true;
|
||||||
|
};
|
||||||
|
}
|
||||||
|
|
|
@ -0,0 +1,14 @@
|
||||||
|
{ config, pkgs, ... }:
|
||||||
|
|
||||||
|
{
|
||||||
|
users.users.hertog = {
|
||||||
|
# Left empty so no password is needed in iso
|
||||||
|
initialPassword = "";
|
||||||
|
isNormalUser = true;
|
||||||
|
description = "Johannes Hendrik Gerard van der Weide";
|
||||||
|
extraGroups = [ "networkmanager" "wheel" "sudo" "adm" "video" ];
|
||||||
|
openssh.authorizedKeys.keys = [
|
||||||
|
"ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAIEjpvCSpIUMsZ8pmz2LbvsJUdYroenTp6PYXw9ACiYBq hertog@fsfe.org"
|
||||||
|
];
|
||||||
|
};
|
||||||
|
}
|
|
@ -0,0 +1,38 @@
|
||||||
|
{ pkgs, ... }:
|
||||||
|
|
||||||
|
{
|
||||||
|
# Zsh config
|
||||||
|
programs.zsh = {
|
||||||
|
enable = true;
|
||||||
|
initExtra = "
|
||||||
|
hyfetch
|
||||||
|
";
|
||||||
|
shellAliases = {
|
||||||
|
ll = "ls -l";
|
||||||
|
please = "sudo";
|
||||||
|
update = "sudo nixos-rebuild switch --flake /etc/nixos/";
|
||||||
|
};
|
||||||
|
plugins = [
|
||||||
|
{
|
||||||
|
name = "zsh-nix-shell";
|
||||||
|
file = "nix-shell.plugin.zsh";
|
||||||
|
src = pkgs.fetchFromGitHub {
|
||||||
|
owner = "chisui";
|
||||||
|
repo = "zsh-nix-shell";
|
||||||
|
rev = "v0.7.0";
|
||||||
|
sha256 = "149zh2rm59blr2q458a5irkfh82y3dwdich60s9670kl3cl5h2m1";
|
||||||
|
};
|
||||||
|
}
|
||||||
|
];
|
||||||
|
oh-my-zsh = {
|
||||||
|
enable = true;
|
||||||
|
plugins = [
|
||||||
|
"git"
|
||||||
|
"thefuck"
|
||||||
|
"sudo"
|
||||||
|
];
|
||||||
|
theme = "mh";
|
||||||
|
};
|
||||||
|
};
|
||||||
|
}
|
||||||
|
|
|
@ -0,0 +1,11 @@
|
||||||
|
{ pkgs, ... }:
|
||||||
|
|
||||||
|
{
|
||||||
|
# Git configuration
|
||||||
|
programs.git = {
|
||||||
|
enable = true;
|
||||||
|
userName = "Sara Gerretsen";
|
||||||
|
userEmail = "sara@saragerretsen.nl";
|
||||||
|
};
|
||||||
|
}
|
||||||
|
|
|
@ -0,0 +1,43 @@
|
||||||
|
{ config, pkgs, ... }:
|
||||||
|
{
|
||||||
|
home = {
|
||||||
|
stateVersion = "23.05";
|
||||||
|
username = "sara";
|
||||||
|
homeDirectory = "/home/sara";
|
||||||
|
packages = with pkgs; [
|
||||||
|
# Base
|
||||||
|
firefox
|
||||||
|
thunderbird
|
||||||
|
signal-desktop
|
||||||
|
# Office
|
||||||
|
onlyoffice-bin
|
||||||
|
# Security
|
||||||
|
keepassxc
|
||||||
|
# Entertainment
|
||||||
|
stremio
|
||||||
|
spotify
|
||||||
|
# Art
|
||||||
|
inkscape
|
||||||
|
# Shell
|
||||||
|
thefuck
|
||||||
|
# Programming
|
||||||
|
gcc
|
||||||
|
cmake
|
||||||
|
make
|
||||||
|
godot_4
|
||||||
|
rustc
|
||||||
|
rustup
|
||||||
|
cargo
|
||||||
|
];
|
||||||
|
};
|
||||||
|
|
||||||
|
imports = [
|
||||||
|
# Home-manager configured program files
|
||||||
|
./neovim.nix
|
||||||
|
./hyfetch.nix
|
||||||
|
./zsh.nix
|
||||||
|
./git.nix
|
||||||
|
];
|
||||||
|
|
||||||
|
programs.home-manager.enable = true;
|
||||||
|
}
|
|
@ -0,0 +1,22 @@
|
||||||
|
{ config, pkgs, ... }:
|
||||||
|
{
|
||||||
|
home = {
|
||||||
|
stateVersion = "23.05";
|
||||||
|
username = "sara";
|
||||||
|
homeDirectory = "/home/sara";
|
||||||
|
packages = with pkgs; [
|
||||||
|
# Base
|
||||||
|
thefuck
|
||||||
|
];
|
||||||
|
};
|
||||||
|
|
||||||
|
imports = [
|
||||||
|
# Home-manager configured program files
|
||||||
|
./neovim.nix
|
||||||
|
./hyfetch.nix
|
||||||
|
./zsh.nix
|
||||||
|
./git.nix
|
||||||
|
];
|
||||||
|
|
||||||
|
programs.home-manager.enable = true;
|
||||||
|
}
|
|
@ -0,0 +1,15 @@
|
||||||
|
{ pkgs, config, ... }:
|
||||||
|
|
||||||
|
{
|
||||||
|
# Hyfetch config :3
|
||||||
|
programs.hyfetch = {
|
||||||
|
enable = true;
|
||||||
|
settings = {
|
||||||
|
preset = "trans";
|
||||||
|
mode = "rgb";
|
||||||
|
color_align = {
|
||||||
|
mode = "horizontal";
|
||||||
|
};
|
||||||
|
};
|
||||||
|
};
|
||||||
|
}
|
|
@ -0,0 +1,27 @@
|
||||||
|
{ config, pkgs, ... }:
|
||||||
|
|
||||||
|
{
|
||||||
|
programs.neovim = {
|
||||||
|
enable = true;
|
||||||
|
defaultEditor = true;
|
||||||
|
vimAlias = true;
|
||||||
|
coc = {
|
||||||
|
enable = true;
|
||||||
|
};
|
||||||
|
# VimRC
|
||||||
|
extraConfig = ''
|
||||||
|
set background=dark
|
||||||
|
colorscheme PaperColor
|
||||||
|
'';
|
||||||
|
extraLuaConfig = ''
|
||||||
|
print("Welcome to Vim Sara! :3")
|
||||||
|
'';
|
||||||
|
# Plugins
|
||||||
|
plugins = with pkgs.vimPlugins; [
|
||||||
|
vim-nix
|
||||||
|
nvim-treesitter-parsers.cpp
|
||||||
|
papercolor-theme
|
||||||
|
];
|
||||||
|
};
|
||||||
|
}
|
||||||
|
|
|
@ -0,0 +1,14 @@
|
||||||
|
{ config, pkgs, ... }:
|
||||||
|
|
||||||
|
{
|
||||||
|
users.users.sara = {
|
||||||
|
# Left empty so no password is needed in iso
|
||||||
|
initialPassword = "";
|
||||||
|
isNormalUser = true;
|
||||||
|
description = "Sara Gerretsen";
|
||||||
|
extraGroups = [ "networkmanager" "wheel" "sudo" "adm" "video" ];
|
||||||
|
openssh.authorizedKeys.keys = [
|
||||||
|
"ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAIBhmYV/SSGScbig1xXa7EHFwaxtD0e0QCorPUromR0nM sara@fedora-fw"
|
||||||
|
];
|
||||||
|
};
|
||||||
|
}
|
|
@ -0,0 +1,38 @@
|
||||||
|
{ pkgs, ... }:
|
||||||
|
|
||||||
|
{
|
||||||
|
# Zsh config
|
||||||
|
programs.zsh = {
|
||||||
|
enable = true;
|
||||||
|
initExtra = "
|
||||||
|
hyfetch
|
||||||
|
";
|
||||||
|
shellAliases = {
|
||||||
|
ll = "ls -l";
|
||||||
|
please = "sudo";
|
||||||
|
};
|
||||||
|
plugins = [
|
||||||
|
{
|
||||||
|
name = "zsh-nix-shell";
|
||||||
|
file = "nix-shell.plugin.zsh";
|
||||||
|
src = pkgs.fetchFromGitHub {
|
||||||
|
owner = "chisui";
|
||||||
|
repo = "zsh-nix-shell";
|
||||||
|
rev = "v0.7.0";
|
||||||
|
sha256 = "149zh2rm59blr2q458a5irkfh82y3dwdich60s9670kl3cl5h2m1";
|
||||||
|
};
|
||||||
|
}
|
||||||
|
];
|
||||||
|
oh-my-zsh = {
|
||||||
|
enable = true;
|
||||||
|
plugins = [
|
||||||
|
"git"
|
||||||
|
"thefuck"
|
||||||
|
"sudo"
|
||||||
|
];
|
||||||
|
# Set the theme here
|
||||||
|
#theme = "mh";
|
||||||
|
};
|
||||||
|
};
|
||||||
|
}
|
||||||
|
|
|
@ -1,79 +0,0 @@
|
||||||
{ config, pkgs, ... }:
|
|
||||||
|
|
||||||
{
|
|
||||||
imports =
|
|
||||||
[
|
|
||||||
./hardware-configuration.nix
|
|
||||||
|
|
||||||
# Services
|
|
||||||
./services/ssh.nix
|
|
||||||
./services/nginx.nix
|
|
||||||
./services/uptime-kuma.nix
|
|
||||||
./services/nextcloud.nix
|
|
||||||
./services/tt-rss.nix
|
|
||||||
./services/owncast.nix
|
|
||||||
|
|
||||||
# Sites
|
|
||||||
./sites/hermitcollective.net
|
|
||||||
./sites/blog.hermitcollective.net
|
|
||||||
./sites/hertog.hermitcollective.net
|
|
||||||
|
|
||||||
# Users
|
|
||||||
./users/hertog.nix
|
|
||||||
./users/sara.nix
|
|
||||||
];
|
|
||||||
|
|
||||||
# Bootloader.
|
|
||||||
boot.loader.systemd-boot.enable = true;
|
|
||||||
boot.loader.efi.canTouchEfiVariables = true;
|
|
||||||
|
|
||||||
networking.hostName = "HermitCollective";
|
|
||||||
networking.domain = "hermitcollective.net";
|
|
||||||
|
|
||||||
# Enable networking
|
|
||||||
networking.networkmanager.enable = true;
|
|
||||||
|
|
||||||
# Set your time zone.
|
|
||||||
time.timeZone = "Europe/Amsterdam";
|
|
||||||
|
|
||||||
# Select internationalisation properties.
|
|
||||||
i18n.defaultLocale = "en_US.UTF-8";
|
|
||||||
|
|
||||||
# Configure keymap in X11
|
|
||||||
services.xserver = {
|
|
||||||
layout = "us";
|
|
||||||
xkbVariant = "";
|
|
||||||
};
|
|
||||||
|
|
||||||
# Allow unfree packages
|
|
||||||
nixpkgs.config.allowUnfree = true;
|
|
||||||
|
|
||||||
# Accept ACME terms
|
|
||||||
security.acme.acceptTerms = true;
|
|
||||||
security.acme.defaults.email = "hertog@fsfe.org";
|
|
||||||
|
|
||||||
environment.systemPackages = with pkgs; [
|
|
||||||
neofetch
|
|
||||||
helix
|
|
||||||
hyfetch
|
|
||||||
bottom
|
|
||||||
iftop
|
|
||||||
openssl
|
|
||||||
git
|
|
||||||
];
|
|
||||||
|
|
||||||
# Open ports in the firewall.
|
|
||||||
networking.firewall.allowedTCPPorts = [ 22 80 443 8080 8181 1935 ];
|
|
||||||
# networking.firewall.allowedUDPPorts = [ ... ];
|
|
||||||
# Or disable the firewall altogether.
|
|
||||||
# networking.firewall.enable = false;
|
|
||||||
|
|
||||||
# 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?
|
|
||||||
nix.settings.experimental-features = [ "nix-command" "flakes" ];
|
|
||||||
}
|
|
|
@ -0,0 +1,48 @@
|
||||||
|
{
|
||||||
|
"nodes": {
|
||||||
|
"home-manager": {
|
||||||
|
"inputs": {
|
||||||
|
"nixpkgs": [
|
||||||
|
"nixpkgs"
|
||||||
|
]
|
||||||
|
},
|
||||||
|
"locked": {
|
||||||
|
"lastModified": 1698670511,
|
||||||
|
"narHash": "sha256-jQIu3UhBMPHXzVkHQO1O2gg8SVo5lqAVoC6mOaLQcLQ=",
|
||||||
|
"owner": "nix-community",
|
||||||
|
"repo": "home-manager",
|
||||||
|
"rev": "8e5416b478e465985eec274bc3a018024435c106",
|
||||||
|
"type": "github"
|
||||||
|
},
|
||||||
|
"original": {
|
||||||
|
"owner": "nix-community",
|
||||||
|
"ref": "master",
|
||||||
|
"repo": "home-manager",
|
||||||
|
"type": "github"
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"nixpkgs": {
|
||||||
|
"locked": {
|
||||||
|
"lastModified": 1699099776,
|
||||||
|
"narHash": "sha256-X09iKJ27mGsGambGfkKzqvw5esP1L/Rf8H3u3fCqIiU=",
|
||||||
|
"owner": "NixOS",
|
||||||
|
"repo": "nixpkgs",
|
||||||
|
"rev": "85f1ba3e51676fa8cc604a3d863d729026a6b8eb",
|
||||||
|
"type": "github"
|
||||||
|
},
|
||||||
|
"original": {
|
||||||
|
"id": "nixpkgs",
|
||||||
|
"ref": "nixos-unstable",
|
||||||
|
"type": "indirect"
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"root": {
|
||||||
|
"inputs": {
|
||||||
|
"home-manager": "home-manager",
|
||||||
|
"nixpkgs": "nixpkgs"
|
||||||
|
}
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"root": "root",
|
||||||
|
"version": 7
|
||||||
|
}
|
|
@ -0,0 +1,100 @@
|
||||||
|
{
|
||||||
|
description = "NixOS system configuration";
|
||||||
|
|
||||||
|
inputs = {
|
||||||
|
nixpkgs.url = "nixpkgs/nixos-unstable";
|
||||||
|
home-manager = {
|
||||||
|
url = "github:nix-community/home-manager/master";
|
||||||
|
inputs.nixpkgs.follows = "nixpkgs";
|
||||||
|
};
|
||||||
|
};
|
||||||
|
|
||||||
|
outputs = { self, nixpkgs, home-manager, ... }@inputs:
|
||||||
|
let
|
||||||
|
system = "x86_64-linux";
|
||||||
|
currentSystem = system;
|
||||||
|
pkgs = import nixpkgs {
|
||||||
|
inherit system;
|
||||||
|
};
|
||||||
|
|
||||||
|
lib = nixpkgs.lib;
|
||||||
|
|
||||||
|
in {
|
||||||
|
nixosConfigurations = {
|
||||||
|
# Configuration for my framework 13 inch 11gen laptop
|
||||||
|
laptop = lib.nixosSystem {
|
||||||
|
inherit system;
|
||||||
|
modules = [
|
||||||
|
# Set hardware config for the right host
|
||||||
|
./Hosts/hertog-laptop/hardware-configuration.nix
|
||||||
|
# System
|
||||||
|
./System/configuration.nix
|
||||||
|
./Hosts/hertog-laptop/configuration.nix
|
||||||
|
# Comment out what's needed based on host
|
||||||
|
#./System/getty.nix
|
||||||
|
./System/gnome.nix
|
||||||
|
./System/audio.nix
|
||||||
|
# Appliances is where printer support is enabled but also things like flipperzero flashing
|
||||||
|
./System/appliances.nix
|
||||||
|
# Systemwide installed pacakges userpackages are set through home-manager
|
||||||
|
./System/packages.nix
|
||||||
|
./Hosts/hertog-laptop/packages.nix
|
||||||
|
# Users still need to be set outside of home-manager
|
||||||
|
./Users/Hertog/user.nix
|
||||||
|
# Home manager imports
|
||||||
|
home-manager.nixosModules.home-manager {
|
||||||
|
home-manager = {
|
||||||
|
useGlobalPkgs = true;
|
||||||
|
useUserPackages = true;
|
||||||
|
users.hertog = import ./Users/Hertog/homeFull.nix;
|
||||||
|
};
|
||||||
|
}
|
||||||
|
];
|
||||||
|
specialArgs = {
|
||||||
|
inputs = inputs;
|
||||||
|
inherit system;
|
||||||
|
};
|
||||||
|
};
|
||||||
|
# HermitCollective Server config
|
||||||
|
server = lib.nixosSystem {
|
||||||
|
inherit system;
|
||||||
|
modules = [
|
||||||
|
# System configuration
|
||||||
|
./Hosts/hertog-server/hardware-configuration.nix
|
||||||
|
./System/configuration.nix
|
||||||
|
./Hosts/hertog-server/configuration.nix
|
||||||
|
./System/getty.nix
|
||||||
|
./System/packages.nix
|
||||||
|
./Hosts/hertog-server/packages.nix
|
||||||
|
# Services
|
||||||
|
./Services/ssh.nix
|
||||||
|
./Services/nginx.nix
|
||||||
|
./Services/nextcloud.nix
|
||||||
|
./Services/tt-rss.nix
|
||||||
|
./Services/owncast.nix
|
||||||
|
./Services/uptime-kuma.nix
|
||||||
|
# Sites
|
||||||
|
./Sites/hermitcollective.net
|
||||||
|
./Sites/blog.hermitcollective.net
|
||||||
|
./Sites/hertog.hermitcollective.net
|
||||||
|
# Users
|
||||||
|
./Users/Hertog/user.nix
|
||||||
|
./Users/Sara/user.nix
|
||||||
|
home-manager.nixosModules.home-manager {
|
||||||
|
home-manager = {
|
||||||
|
useGlobalPkgs = true;
|
||||||
|
useUserPackages = true;
|
||||||
|
users.hertog = import ./Users/Hertog/homeMinimal.nix;
|
||||||
|
users.sara = import ./Users/Sara/homeMinimal.nix;
|
||||||
|
};
|
||||||
|
}
|
||||||
|
];
|
||||||
|
specialArgs = {
|
||||||
|
inputs = inputs;
|
||||||
|
inherit system;
|
||||||
|
};
|
||||||
|
};
|
||||||
|
};
|
||||||
|
};
|
||||||
|
}
|
||||||
|
|
|
@ -1,10 +0,0 @@
|
||||||
{ config, pkgs, ... }:
|
|
||||||
{
|
|
||||||
users.users.hertog = {
|
|
||||||
isNormalUser = true;
|
|
||||||
description = "Johannes Hendrik Gerard van der Weide";
|
|
||||||
extraGroups = [ "networkmanager" "wheel" "podman" ];
|
|
||||||
openssh.authorizedKeys.keys = ["ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAIEjpvCSpIUMsZ8pmz2LbvsJUdYroenTp6PYXw9ACiYBq hertog@fsfe.org"];
|
|
||||||
packages = with pkgs; [];
|
|
||||||
};
|
|
||||||
}
|
|
|
@ -1,12 +0,0 @@
|
||||||
{ config, pkgs, ... }:
|
|
||||||
{
|
|
||||||
users.users.sara = {
|
|
||||||
isNormalUser = true;
|
|
||||||
description = "Sara Gerretsen";
|
|
||||||
extraGroups = [ "networkmanager" "wheel" "podman" ];
|
|
||||||
openssh.authorizedKeys.keys = ["ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAIBhmYV/SSGScbig1xXa7EHFwaxtD0e0QCorPUromR0nM sara@fedora-fw"];
|
|
||||||
packages = with pkgs; [
|
|
||||||
# User packages go here
|
|
||||||
];
|
|
||||||
};
|
|
||||||
}
|
|
Loading…
Reference in New Issue