Cleaned and compartmentalized files & hierarchy

This commit is contained in:
Zonsopkomst 2023-01-18 16:53:08 -06:00
parent 76e528d8c1
commit 41c17655a2
38 changed files with 1482 additions and 269 deletions

2
.directory Normal file
View File

@ -0,0 +1,2 @@
[Desktop Entry]
Icon=folder-blue-code

View File

@ -1 +1 @@
My flake configuration files.
MMT = Multimachine Managment Technology

16
common/amd.nix Normal file
View File

@ -0,0 +1,16 @@
{ config, pkgs, ... }:
{
# AMD GPU
boot.initrd.kernelModules = [ "amdgpu" ];
services.xserver.videoDrivers = [ "amdgpu" ];
# Enable OpenCL
hardware.opengl.extraPackages = with pkgs; [
rocm-opencl-icd
rocm-opencl-runtime
];
# Enable Vulkan
hardware.opengl.driSupport = true;
}

7
common/docker.nix Normal file
View File

@ -0,0 +1,7 @@
{ config, pkgs, ... }:
{
# Enable the Docker Service
# Note added "docker" group to user's extraGroups in configuration.nix
virtualisation.docker.enable = true;
}

8
common/flakeinit.nix Normal file
View File

@ -0,0 +1,8 @@
{ config, pkgs, ... }:
{
nix = {
package = pkgs.nixFlakes;
extraOptions = "experimental-features = nix-command flakes";
};
}

6
common/flatpak.nix Normal file
View File

@ -0,0 +1,6 @@
{ config, pkgs, ... }:
{
# Enable Flatpak
services.flatpak.enable = true;
}

31
common/gaming.nix Normal file
View File

@ -0,0 +1,31 @@
{ config, pkgs, ... }:
{
# Enable GE-Proton (GloriousEggroll)
environment.sessionVariables = rec {
XDG_CACHE_HOME = "\${HOME}/.cache";
XDG_CONFIG_HOME = "\${HOME}/.config";
XDG_BIN_HOME = "\${HOME}/.local/bin";
XDG_DATA_HOME = "\${HOME}/.local/share";
# Steam needs this to find Proton-GE
STEAM_EXTRA_COMPAT_TOOLS_PATHS = "\${HOME}/.steam/root/compatibilitytools.d";
# note: this doesn't replace PATH, it just adds this to it
PATH = [
"\${XDG_BIN_HOME}"
];
};
# Enable Gamemode
programs.gamemode.enable = true;
# Enable Epic Games Store in Lutris
# TODO: This caused errors, using Flatpak until I can figure out a NixOS method
# hardware.opengl.driSupport32Bit = true
# Enable Steam
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
};
}

6
common/insecure.nix Normal file
View File

@ -0,0 +1,6 @@
{ config, pkgs, ... }:
{
# Enable Insecure Packages
nixpkgs.config.permittedInsecurePackages = [ "electron-11.5.0" ];
}

View File

@ -1,13 +0,0 @@
# Communication Packages
{ pkgs, ... }:
{
environment.systemPackages = with pkgs;
[
dino
discord
element-desktop
jitsi
];
}

View File

@ -8,11 +8,11 @@
"utils": "utils"
},
"locked": {
"lastModified": 1673211936,
"narHash": "sha256-ba7jhl5BhLtpSooDHllgC0Y29vc0AiYWWsxQVtjlc7o=",
"lastModified": 1672780900,
"narHash": "sha256-DxuSn6BdkZapIbg76xzYx1KhVPEZeBexMkt1q/sMVPA=",
"owner": "nix-community",
"repo": "home-manager",
"rev": "684bdb386cec7d4f16e0da9f694c8ab50ad2cf2a",
"rev": "54245e1820caabd8a0b53ce4d47e4d0fefe04cd4",
"type": "github"
},
"original": {
@ -23,11 +23,11 @@
},
"nixpkgs": {
"locked": {
"lastModified": 1672953546,
"narHash": "sha256-oz757DnJ1ITvwyTovuwG3l9cX6j9j6/DH9eH+cXFJmc=",
"lastModified": 1672617983,
"narHash": "sha256-68WDiCBs631mbDDk4UAKdGURKcsfW6hjb7wgudTAe5o=",
"owner": "nixos",
"repo": "nixpkgs",
"rev": "a518c77148585023ff56022f09c4b2c418a51ef5",
"rev": "0fc9fca9c8d43edd79d33fea0dd8409d7c4580f4",
"type": "github"
},
"original": {

View File

@ -1,5 +1,5 @@
{
description = "A very special flake";
description = "MMT = Multimachine Manager Technology";
inputs = {
# Attribute set of all the dependencies used in the flake
@ -10,19 +10,16 @@
outputs = inputs@{ nixpkgs, home-manager, ... }: {
# Function of an argument that uses the inputs for reference
# Place packages, configurations, modules here
nixosConfigurations = {
nixos = nixpkgs.lib.nixosSystem {
system = "x86_64-linux";
# TODO?
# config.allowUnfree = true;
modules = [
./configuration.nix
./hosts/home/laptop/configuration.nix
home-manager.nixosModules.home-manager
{
home-manager.useGlobalPkgs = true;
home-manager.useUserPackages = true;
home-manager.users.leeuwarden = import ./home.nix;
home-manager.users.zonsopkomst = import ./hosts/home/laptop/home.nix;
# Optionally, use home-manager.extraSpecialArgs to pass
# arguments to home.nix

7
flatpak.md Normal file
View File

@ -0,0 +1,7 @@
# Flatpak Installation Files
# Apps
flatpak install eu.betterbird.Betterbird com.brave.Browser com.github.cassidyjames.clairvoyant com.github.tchx84.Flatseal com.github.zocker_160.SyncThingy
# Gnome Theme
flatpak install org.gtk.Gtk3theme.adw-gtk3 org.gtk.Gtk3theme.adw-gtk3-dark

View File

@ -1,14 +0,0 @@
# Fonts
{ pkgs, ... }:
{
environment.systemPackages = with pkgs;
[
anonymousPro
roboto
tamsyn
#pkgs.terminus_font
];
}

View File

@ -1,42 +0,0 @@
# Gaming Packages
{ pkgs, ... }:
{
environment.systemPackages = with pkgs;
[
airshipper
#assaultcube
#alienarena
#cataclysm-dda
#factorio
#freeciv
#freenukum #Issues with screen size
gamemode
#gzdoom
#hedgewars
#heroic # Issues with authenticating, package out of date, using Flatpak
itch
#legendary-gl
#lutris # Issues with Origin installation, using Flatpak
#openttd
#redeclipse
retroarchFull
#sauerbraten
#scorched3d
shattered-pixel-dungeon
steam
#supertux
#supertuxkart
#tuxpaint
#warzone2100
#warsow
#wesnoth
#ufoai
#xonotic
#zdoom
#zeroad
#zero ballistics ??
#the dark mod ??
];
}

View File

@ -0,0 +1,138 @@
# 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, ... }:
{
imports =
[ # Include the results of the hardware scan.
./hardware-configuration.nix
./packages.nix
../../../common/amd.nix
../../../common/docker.nix
../../../common/flakeinit.nix
../../../common/flatpak.nix
../../../common/gaming.nix
../../../common/insecure.nix
../../../users/leeuwarden/home-manager.nix
../../../users/leeuwarden/syncthing.nix
];
# Bootloader.
boot.loader.systemd-boot.enable = true;
boot.loader.efi.canTouchEfiVariables = true;
boot.loader.efi.efiSysMountPoint = "/boot/efi";
# Setup keyfile
boot.initrd.secrets = {
"/crypto_keyfile.bin" = null;
};
# Enable swap on luks
boot.initrd.luks.devices."luks-57e53b6e-eb27-4bdc-961e-069ecf677d6b".device = "/dev/disk/by-uuid/57e53b6e-eb27-4bdc-961e-069ecf677d6b";
boot.initrd.luks.devices."luks-57e53b6e-eb27-4bdc-961e-069ecf677d6b".keyFile = "/crypto_keyfile.bin";
networking.hostName = "nixos"; # Define your hostname.
# networking.wireless.enable = true; # Enables wireless support via wpa_supplicant.
# Configure network proxy if necessary
# networking.proxy.default = "http://user:password@proxy:port/";
# networking.proxy.noProxy = "127.0.0.1,localhost,internal.domain";
# Enable networking
networking.networkmanager.enable = true;
# Set your time zone.
time.timeZone = "America/Chicago";
# Select internationalisation properties.
i18n.defaultLocale = "en_US.utf8";
# Enable the X11 windowing system.
services.xserver.enable = true;
# Enable the KDE Plasma Desktop Environment.
services.xserver.displayManager.sddm.enable = true;
services.xserver.desktopManager.plasma5.enable = true;
# Configure keymap in X11
services.xserver = {
layout = "us";
xkbVariant = "";
};
# Enable CUPS to print documents.
services.printing.enable = true;
# 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;
};
# Enable touchpad support (enabled default in most desktopManager).
# services.xserver.libinput.enable = true;
# Define a user account. Don't forget to set a password with passwd.
users.users.leeuwarden = {
isNormalUser = true;
description = "leeuwarden";
extraGroups = [ "networkmanager" "wheel" "docker" ];
packages = with pkgs; [
];
};
# Enable automatic login for the user.
services.xserver.displayManager.autoLogin.enable = true;
services.xserver.displayManager.autoLogin.user = "leeuwarden";
# Allow unfree packages
nixpkgs.config.allowUnfree = true;
# List packages installed in system profile. To search, run:
# $ nix search wget
environment.systemPackages = with pkgs; [
# vim # Do not forget to add an editor to edit configuration.nix! The Nano editor is also installed by default.
# wget
];
# Some programs need SUID wrappers, can be configured further or are
# started in user sessions.
# programs.mtr.enable = true;
# programs.gnupg.agent = {
# enable = true;
# enableSSHSupport = true;
# };
# List services that you want to enable:
# Enable the OpenSSH daemon.
# services.openssh.enable = true;
# Open ports in the firewall.
# networking.firewall.allowedTCPPorts = [ ... ];
# 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. Its 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 = "22.05"; # Did you read the comment?
}

View File

@ -4,39 +4,11 @@
{ config, pkgs, ... }:
# Setup Nix-Software-Center
#let
# nix-software-center = (import (pkgs.fetchFromGitHub {
# owner = "vlinkz";
# repo = "nix-software-center";
# rev = "0.0.3";
# sha256 = "sha256-r5xOi/dd/hW/gdi0X0tHFFt2w82S9PFhZSXPeCA69ig=";
# })) {};
#in
{
imports =
[ # Include the results of the hardware scan.
./hardware-configuration.nix
##############################
# BEGIN CUSTOM CONFIGURATION #
##############################
./communication.nix
./fonts.nix
./gaming.nix
./internet.nix
./media.nix
./office.nix
./system.nix
./kde.nix
# TODO Clean up old code
# <home-manager/nixos>
###########################
# END CUSTOM CONFIGUATION #
###########################
./packages.nix
];
# Bootloader.
@ -111,7 +83,7 @@
description = "leeuwarden";
extraGroups = [ "networkmanager" "wheel" "docker" ];
packages = with pkgs; [
# nix-software-center
];
};

View File

@ -1,6 +1,6 @@
{ config, pkgs, ... }:
let
# home-manager = builtins.fetchTarball "https://github.com/nix-community/home-manager/archive/master.tar.gz";
in
{
# imports = [
@ -9,7 +9,7 @@ in
#
home.stateVersion = 22.05;
home-manager.users.leeuwarden = {
home-manager.users.zonsopkomst = {
/* Here goes your home-manager config, eg home.packages = [ pkgs.foo ]; */
};
}

View File

@ -0,0 +1,202 @@
########################
# Full System Packages #
########################
{ config, pkgs, ... }:
{
environment.systemPackages = with pkgs;
[
#################
# Communication #
#################
dino # XMPP Client
discord # Discord Client
element-desktop # Matrix Client
#jitsi # Video Calls & Chat
###########
# Cursors #
###########
phinger-cursors
#########
# Fonts #
#########
anonymousPro # TrueType Font Set for Source Code
roboto # Android Family of Fonts
tamsyn # Monospace Bitmap Font for Programmers
#########
# Games #
#########
#airshipper # Veloren RPG Updater
#assaultcube # First-Person Shooter
#alienarena # First-Person Shooter
#cataclysm-dda # Zombie Rogue-Like
#factorio # Build & Maintain Factories
#freeciv # Civilization Strategy Clone
#freenukum # Duke Nukum 1 Clone
gamemode # Optimse Linux System Performance
#gzdoom # Doom Clone based on ZDoom
#hedgewars # Worms Clone
#openttd # Transport Tycoon Deluxe Clone
#redeclipse # First-Person Shooter
retroarchFull # Multi-Platform Emulator
#sauerbraten # First-Person Shooter, successor of Cube
#scorched3d # Scorched Earth 3D Clone
shattered-pixel-dungeon # Roguelike Dungeon Crawl
#supertux # Super Mario Clone
#supertuxkart # Super Mario Kart Clone
#tuxpaint # Drawing for Children
#warzone2100 # Real-Time Strategy
#warsow # First-Person Shooter
#wesnoth # Fantasy Strategy
#ufoai # X-Com Clone
#xonotic # First-Person Shooter
#zdoom # Doom Clone
#zeroad # Ancient Warfare Strategy
# Todo:
#zero ballistics # ??
#the dark mod # ??
#########
# Gnome #
#########
#adw-gtk3 # GTK3 libadwaita Theme ported to GTK-3
dconf # Gnome Configuration
#gnome.gnome-tweaks # Gnome Customization Tool
##################
# Game Launchers #
##################
#heroic # GOG & Epic Games Launcher
# NOTE: Issues with authenticating, package out of date, using Flatpak
itch # itch.io Games Launcher
#legendary-gl # Epic Games Launcher Alternative
#lutris # Issues with Origin installation,
# using Flatpak
steam # Steam Game Launcher, using xxx
############
# Internet #
############
#betterbird # Email Client, No pkg,
# using flatpak
#brave # Thunderbird Fork, issues
# w/ BAT, using flatpak
librewolf # Firefox Web Browser Fork
#thunderbird # Email Client
#tigervnc # VNC Client
tor-browser-bundle-bin # Privacy Web Browser
#######
# KDE #
#######
kate # Text Editor
kde-gtk-config # KDE GTK Configuration
#libsForQt5.applet-window-buttons # KDE Applet
libsForQt5.breeze-gtk # GTK Breeze Theming
libsForQt5.breeze-qt5 # QT5 Breeze Theming
libsForQt5.breeze-icons # Breeze Icons
libsForQt5.filelight # Storage Usage Application
libsForQt5.kaccounts-providers # KDE Accounts#libsForQt5.qtstyleplugin-kvantum # KDE Theming
libsForQt5.kdecoration # KDE Theming
libsForQt5.powerdevil # Power Manager
libsForQt5.sddm # SDDM Libraries
libsForQt5.sddm-kcm # SDDM Libraries
# Enable KDE Wallet PAM
security.pam.services.leeuwarden.enableKwallet = true;
#########
# Media #
#########
ardour # DAW
bibletime # Bible Study Tool
blender # 3D Animation/Publishing
calibre # eBook Library
#foliate # eBook Reader
freetube # YouTube Front-End
gimp # GNU Image Manipulation Program
gpodder # Podcast Manager
handbrake # Video Conversion Tool
inkscape # Vector Graphics Editor
libsForQt5.kolourpaint # Painting Application
krita # Painting Application
libsForQt5.k3b # Disk Burning Application
gmic-qt-krita # Painting Application
makemkv # Blu-Ray and DVD to MKV Converter
mpv # Media Player
#nuclear # Music Player,
# Package not updated
obs-studio # Recording/Streaming Application
libsForQt5.okular # Document Viewer
smplayer # Media Player
strawberry # Media Player
tenacity # Sound Editor
#zotero # Research Sourcer
#hypnotix ?? # IPTV Streaming Application
##########
# Office #
##########
gImageReader # Tesseract-OCR Front-End
gnucash # Double Entry Accounting Software
# Gnucash requires dconf, see Gnome section above
obsidian # Markdown Editor
onlyoffice-bin # Office Suite
pdfarranger # PDF Arranger
###############################
# Printers, Copiers, Scanners #
###############################
#hplip # HP Print Drivers
##########
# System #
##########
# alacritty # Terminal Emulator
appimage-run # Appimage Runner
bleachbit # PC Cleaner
#bottles # Wineprefix Manager
btop # Resource Monitor
cpu-x # PC Information
crow-translate # Language Translator
#genymotion # NOTE: Issues with loading
git # Distributed Version Control System
gsmartcontrol # Disk Health Inspection Tool
htop # Process Viewer
i2c-tools # Network Utilities
inetutils # Network Utilities
keepassxc # GUI Password Manager with Cryptography
#kitty # Terminal Emulator
openrgb # RGB Manager
neofetch # System Information
#nix-software-center # Nix Software Center
nox # Nix Tools
ntfs3g # FUSE Client
p7zip # File Archiver
papirus-icon-theme # Icons
powertop # Power Manager
protonup # Proton Installer
qemu_full # Virtual Machine
solaar # Logitech Unifying Receiver
speedcrunch # Calculator
syncthing # File Synchronization
#syncthing-tray # Tray for Syncthing
tixati # Torrent Application
tldr # Simplified man pages
#waydroid # Android Emulator
# Only works on wayland
ventoy-bin # USB Boot App
veracrypt # Filesystem Encryption
#virtualbox # Virtual Machine
# Only needed with genymotion
vscodium # Code Editor
xorg.xkill # Kill Windows w/ Mouse
];
}

View File

@ -0,0 +1,166 @@
# Communication Packages
{ config, pkgs, ... }:
{
environment.systemPackages = with pkgs;
[
# Communication
dino
discord
element-desktop
jitsi
# Fonts
anonymousPro
roboto
tamsyn
#pkgs.terminus_font
# Gaming
airshipper
#assaultcube
#alienarena
#cataclysm-dda
#factorio
#freeciv
#freenukum #Issues with screen size
gamemode
#gzdoom
#hedgewars
#heroic # Issues with authenticating, package out of date, using Flatpak
itch
#legendary-gl
#lutris # Issues with Origin installation, using Flatpak
#openttd
#redeclipse
retroarchFull
#sauerbraten
#scorched3d
shattered-pixel-dungeon
steam
#supertux
#supertuxkart
#tuxpaint
#warzone2100
#warsow
#wesnoth
#ufoai
#xonotic
#zdoom
#zeroad
#zero ballistics ??
#the dark mod ??
# Internet
#betterbird #No pkg, using flatpak
brave
librewolf
#thunderbird
#tigervnc
tor-browser-bundle-bin
# KDE
kde-gtk-config
libsForQt5.sddm
libsForQt5.sddm-kcm
libsForQt5.kaccounts-providers
libsForQt5.breeze-gtk
libsForQt5.breeze-qt5
libsForQt5.breeze-icons
# Media
ardour
bibletime
blender
calibre
#foliate
freetube
gimp
gpodder
handbrake
inkscape
libsForQt5.kolourpaint
krita
libsForQt5.k3b
gmic-qt-krita
makemkv
mpv
#nuclear #Package not updated
obs-studio
libsForQt5.okular
smplayer
strawberry
tenacity
#zotero
#hypnotix ??
# Office
gImageReader
gnucash # gnucash requires dconf
dconf
obsidian
onlyoffice-bin
pdfarranger
# System
#genymotion # Issues with loading
alacritty # TODO try moving to home-manager when setup
appimage-run
bleachbit
bottles
btop
cpu-x
crow-translate
git
htop
i2c-tools
inetutils
kate
libsForQt5.applet-window-buttons
libsForQt5.filelight
libsForQt5.kdecoration
libsForQt5.qtstyleplugin-kvantum
libsForQt5.powerdevil
openrgb
neofetch
#nix-software-center
nox
ntfs3g
p7zip
papirus-icon-theme
powertop
protonup
qemu_full
solaar
speedcrunch
syncthing
#syncthing-tray
tixati
tldr
#waydroid # Only works on wayland
ventoy-bin
veracrypt
#virtualbox # Only needed with genymotion
];
# **********************
# LAPTOP RELATED
# **********************
# Laptop AMD GPU
boot.initrd.kernelModules = [ "amdgpu" ];
services.xserver.videoDrivers = [ "amdgpu" ];
# Laptop Enable OpenCL
hardware.opengl.extraPackages = with pkgs; [
rocm-opencl-icd
rocm-opencl-runtime
];
# Laptop Enable Vulkan
hardware.opengl.driSupport = true;
}

View File

@ -0,0 +1,149 @@
# 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, ... }:
{
imports =
[ # Include the results of the hardware scan.
./hardware-configuration.nix
./packages.nix
../../../common/amd.nix
../../../common/docker.nix
../../../common/flakeinit.nix
../../../common/flatpak.nix
../../../common/gaming.nix
../../../common/insecure.nix
../../../users/zonsopkomst/home-manager.nix
../../../users/zonsopkomst/syncthing.nix
];
# Bootloader.
boot.loader.systemd-boot.enable = true;
boot.loader.efi.canTouchEfiVariables = true;
boot.loader.efi.efiSysMountPoint = "/boot/efi";
# Setup keyfile
boot.initrd.secrets = {
"/crypto_keyfile.bin" = null;
};
# Enable swap on luks
boot.initrd.luks.devices."luks-b0ef797e-169e-4930-b687-98322f94f92d".device = "/dev/disk/by-uuid/b0ef797e-169e-4930-b687-98322f94f92d";
boot.initrd.luks.devices."luks-b0ef797e-169e-4930-b687-98322f94f92d".keyFile = "/crypto_keyfile.bin";
networking.hostName = "nixos"; # Define your hostname.
# networking.wireless.enable = true; # Enables wireless support via wpa_supplicant.
# Configure network proxy if necessary
# networking.proxy.default = "http://user:password@proxy:port/";
# networking.proxy.noProxy = "127.0.0.1,localhost,internal.domain";
# Enable networking
networking.networkmanager.enable = true;
# Set your time zone.
time.timeZone = "America/Chicago";
# Select internationalisation properties.
i18n.defaultLocale = "en_US.UTF-8";
i18n.extraLocaleSettings = {
LC_ADDRESS = "en_US.UTF-8";
LC_IDENTIFICATION = "en_US.UTF-8";
LC_MEASUREMENT = "en_US.UTF-8";
LC_MONETARY = "en_US.UTF-8";
LC_NAME = "en_US.UTF-8";
LC_NUMERIC = "en_US.UTF-8";
LC_PAPER = "en_US.UTF-8";
LC_TELEPHONE = "en_US.UTF-8";
LC_TIME = "en_US.UTF-8";
};
# Enable the X11 windowing system.
services.xserver.enable = true;
# Enable the GNOME Desktop Environment.
services.xserver.displayManager.gdm.enable = true;
services.xserver.desktopManager.gnome.enable = true;
# Configure keymap in X11
services.xserver = {
layout = "us";
xkbVariant = "";
};
# Enable CUPS to print documents.
services.printing.enable = true;
services.printing.drivers = [ pkgs.hplip ];
# 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;
};
# Enable touchpad support (enabled default in most desktopManager).
# services.xserver.libinput.enable = true;
# Define a user account. Don't forget to set a password with passwd.
users.users.zonsopkomst = {
isNormalUser = true;
description = "Zonsopkomst";
extraGroups = [ "networkmanager" "wheel" ];
packages = with pkgs; [
# firefox
# thunderbird
];
};
# Allow unfree packages
nixpkgs.config.allowUnfree = true;
# List packages installed in system profile. To search, run:
# $ nix search wget
environment.systemPackages = with pkgs; [
# vim # Do not forget to add an editor to edit configuration.nix! The Nano editor is also installed by default.
# wget
];
# Some programs need SUID wrappers, can be configured further or are
# started in user sessions.
# programs.mtr.enable = true;
# programs.gnupg.agent = {
# enable = true;
# enableSSHSupport = true;
# };
# List services that you want to enable:
# Enable the OpenSSH daemon.
# services.openssh.enable = true;
# Open ports in the firewall.
# networking.firewall.allowedTCPPorts = [ ... ];
# 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. Its 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 = "22.11"; # Did you read the comment?
}

View File

@ -0,0 +1,253 @@
# 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, ... }:
{
imports =
[ # Include the results of the hardware scan.
./hardware-configuration.nix
./packages.nix
];
# Bootloader.
boot.loader.systemd-boot.enable = true;
boot.loader.efi.canTouchEfiVariables = true;
boot.loader.efi.efiSysMountPoint = "/boot/efi";
networking.hostName = "nixos"; # Define your hostname.
# networking.wireless.enable = true; # Enables wireless support via wpa_supplicant.
# Configure network proxy if necessary
# networking.proxy.default = "http://user:password@proxy:port/";
# networking.proxy.noProxy = "127.0.0.1,localhost,internal.domain";
# Enable networking
networking.networkmanager.enable = true;
# Set your time zone.
time.timeZone = "America/Chicago";
# Select internationalisation properties.
i18n.defaultLocale = "en_US.UTF-8";
i18n.extraLocaleSettings = {
LC_ADDRESS = "en_US.UTF-8";
LC_IDENTIFICATION = "en_US.UTF-8";
LC_MEASUREMENT = "en_US.UTF-8";
LC_MONETARY = "en_US.UTF-8";
LC_NAME = "en_US.UTF-8";
LC_NUMERIC = "en_US.UTF-8";
LC_PAPER = "en_US.UTF-8";
LC_TELEPHONE = "en_US.UTF-8";
LC_TIME = "en_US.UTF-8";
};
# Enable the X11 windowing system.
services.xserver.enable = true;
# Enable the GNOME Desktop Environment.
services.xserver.displayManager.gdm.enable = true;
services.xserver.desktopManager.gnome.enable = true;
# Configure keymap in X11
services.xserver = {
layout = "us";
xkbVariant = "";
};
# Enable CUPS to print documents.
services.printing.enable = true;
# 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;
};
# Enable touchpad support (enabled default in most desktopManager).
# services.xserver.libinput.enable = true;
# Define a user account. Don't forget to set a password with passwd.
users.users.zonsopkomst = {
isNormalUser = true;
description = "Zonsopkomst";
extraGroups = [ "networkmanager" "wheel" "docker"];
packages = with pkgs; [
# firefox
# thunderbird
];
};
# Allow unfree packages
nixpkgs.config.allowUnfree = true;
# List packages installed in system profile. To search, run:
# $ nix search wget
environment.systemPackages = with pkgs; [
# vim # Do not forget to add an editor to edit configuration.nix! The Nano editor is also installed by default.
# wget
];
########################
# BEGIN CUSTOM CHANGES #
########################
# **********************
# FLAKES RELATED
# **********************
nix = {
package = pkgs.nixFlakes;
extraOptions = "experimental-features = nix-command flakes";
};
# **********************
# HOME-MANAGER RELATED
# **********************
# Currently using to manage my config files on multiple systems
# See https://github.com/nix-community/home -manager for manual and configuration options
# 1) Remember to add unstable channel (in this case) in the terminal:
# sudo nix-channel --add https://github.com/nix-community/home-manager/archive/master.tar.gz home-manager
# 2) sudo nix-channel --update
# 3) Include "<home-manager/nixos>" in "Imports" section above
home-manager.users.zonsopkomst = { pkgs, ... }: {
home.packages = with pkgs; [
# Begin packages and options
alacritty
];
# Need to enable home.stateVersion for it to work correctly:
home.stateVersion = "22.11";
# Begin configuration or script declarations
home.file = {
".config/alacritty/alacritty.yml".text = ''
{window: {opacity: 0.8}, font: {normal: {family: tamsyn, style: Regular}}}
'';
};
};
# **********************
# GAMING RELATED
# **********************
# Enable GE-Proton (GloriousEggroll)
environment.sessionVariables = rec {
XDG_CACHE_HOME = "\${HOME}/.cache";
XDG_CONFIG_HOME = "\${HOME}/.config";
XDG_BIN_HOME = "\${HOME}/.local/bin";
XDG_DATA_HOME = "\${HOME}/.local/share";
# Steam needs this to find Proton-GE
STEAM_EXTRA_COMPAT_TOOLS_PATHS = "\${HOME}/.steam/root/compatibilitytools.d";
# note: this doesn't replace PATH, it just adds this to it
PATH = [
"\${XDG_BIN_HOME}"
];
};
# Enable Gamemode
programs.gamemode.enable = true;
# Enable Epic Games Store in Lutris
# TODO: This caused errors, using Flatpak until I can figure out a NixOS method
# hardware.opengl.driSupport32Bit = true
# # Enable Steam
# 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
# };
# **********************
# LAPTOP RELATED
# **********************
# Laptop AMD GPU
boot.initrd.kernelModules = [ "amdgpu" ];
services.xserver.videoDrivers = [ "amdgpu" ];
# Laptop Enable OpenCL
hardware.opengl.extraPackages = with pkgs; [
rocm-opencl-icd
rocm-opencl-runtime
];
# Laptop Enable Vulkan
hardware.opengl.driSupport = true;
# **********************
# SYSTEM RELATED
# **********************
# Enable Insecure Packages
nixpkgs.config.permittedInsecurePackages = [ "electron-11.5.0" ];
# Enable Flatpak
services.flatpak.enable = true;
# Enable KDE Wallet PAM
# security.pam.services.zonsopkomst.enableKwallet = true;
# **********************
# WEB APPLICATION RELATED
# **********************
# Enable the Docker Service
# Note added "docker" group to user's extraGroups above
virtualisation.docker.enable = true;
services = {
syncthing = {
enable = true;
user = "zonsopkomst";
dataDir = "/home/zonsopkomst/Syncthing"; # Default folder for new synced folders
configDir = "/home/zonsopkomst/Documents/.config/syncthing"; # Folder for Syncthing's settings and keys
};
};
######################
# END CUSTOM CHANGES #
######################
# Some programs need SUID wrappers, can be configured further or are
# started in user sessions.
# programs.mtr.enable = true;
# programs.gnupg.agent = {
# enable = true;
# enableSSHSupport = true;
# };
# List services that you want to enable:
# Enable the OpenSSH daemon.
# services.openssh.enable = true;
# Open ports in the firewall.
# networking.firewall.allowedTCPPorts = [ ... ];
# 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. Its 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 = "22.11"; # Did you read the comment?
}

View File

@ -0,0 +1,125 @@
{ config, pkgs, ... }:
{
########################
# BEGIN CUSTOM CHANGES #
########################
# **********************
# FLAKES RELATED
# **********************
nix = {
package = pkgs.nixFlakes;
extraOptions = "experimental-features = nix-command flakes";
};
# **********************
# HOME-MANAGER RELATED
# **********************
# Currently using to manage my config files on multiple systems
# See https://github.com/nix-community/home -manager for manual and configuration options
# 1) Remember to add unstable channel (in this case) in the terminal:
# sudo nix-channel --add https://github.com/nix-community/home-manager/archive/master.tar.gz home-manager
# 2) sudo nix-channel --update
# 3) Include "<home-manager/nixos>" in "Imports" section above
home-manager.users.zonsopkomst = { pkgs, ... }: {
home.packages = with pkgs; [
# Begin packages and options
alacritty
];
# Need to enable home.stateVersion for it to work correctly:
home.stateVersion = "22.11";
# Begin configuration or script declarations
home.file = {
".config/alacritty/alacritty.yml".text = ''
{window: {opacity: 0.8}, font: {normal: {family: tamsyn, style: Regular}}}
'';
};
};
# **********************
# GAMING RELATED
# **********************
# Enable GE-Proton (GloriousEggroll)
environment.sessionVariables = rec {
XDG_CACHE_HOME = "\${HOME}/.cache";
XDG_CONFIG_HOME = "\${HOME}/.config";
XDG_BIN_HOME = "\${HOME}/.local/bin";
XDG_DATA_HOME = "\${HOME}/.local/share";
# Steam needs this to find Proton-GE
STEAM_EXTRA_COMPAT_TOOLS_PATHS = "\${HOME}/.steam/root/compatibilitytools.d";
# note: this doesn't replace PATH, it just adds this to it
PATH = [
"\${XDG_BIN_HOME}"
];
};
# Enable Gamemode
programs.gamemode.enable = true;
# Enable Epic Games Store in Lutris
# TODO: This caused errors, using Flatpak until I can figure out a NixOS method
# hardware.opengl.driSupport32Bit = true
# # Enable Steam
# 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
# };
# **********************
# LAPTOP RELATED
# **********************
# Laptop AMD GPU
boot.initrd.kernelModules = [ "amdgpu" ];
services.xserver.videoDrivers = [ "amdgpu" ];
# Laptop Enable OpenCL
hardware.opengl.extraPackages = with pkgs; [
rocm-opencl-icd
rocm-opencl-runtime
];
# Laptop Enable Vulkan
hardware.opengl.driSupport = true;
# **********************
# SYSTEM RELATED
# **********************
# Enable Insecure Packages
nixpkgs.config.permittedInsecurePackages = [ "electron-11.5.0" ];
# Enable Flatpak
services.flatpak.enable = true;
# Enable KDE Wallet PAM
# security.pam.services.zonsopkomst.enableKwallet = true;
# **********************
# WEB APPLICATION RELATED
# **********************
# Enable the Docker Service
# Note added "docker" group to user's extraGroups above
virtualisation.docker.enable = true;
services = {
syncthing = {
enable = true;
user = "zonsopkomst";
dataDir = "/home/zonsopkomst/Syncthing"; # Default folder for new synced folders
configDir = "/home/zonsopkomst/Documents/.config/syncthing"; # Folder for Syncthing's settings and keys
};
};
######################
# END CUSTOM CHANGES #
######################
}

View File

@ -0,0 +1,41 @@
# 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" "ahci" "usb_storage" "sd_mod" ];
boot.initrd.kernelModules = [ ];
boot.kernelModules = [ "kvm-amd" ];
boot.extraModulePackages = [ ];
fileSystems."/" =
{ device = "/dev/disk/by-uuid/aea57849-b3e3-4f22-b6de-3302de9f1222";
fsType = "ext4";
};
boot.initrd.luks.devices."luks-5897cf90-d51f-404c-b18e-f9edd78d2140".device = "/dev/disk/by-uuid/5897cf90-d51f-404c-b18e-f9edd78d2140";
fileSystems."/boot/efi" =
{ device = "/dev/disk/by-uuid/C608-737F";
fsType = "vfat";
};
swapDevices =
[ { device = "/dev/disk/by-uuid/506d38f2-9619-40d7-a497-750c0bd03e0a"; }
];
# 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;
}

View File

@ -0,0 +1,18 @@
{ config, pkgs, ... }:
let
in
{
# imports = [
# (import "${home-manager}/nixos")
# ];
#
home.stateVersion = 22.11;
home-manager.users.zonsopkomst = {
# Begin packages and options
home.packages = with pkgs; [
dconf2nix
]
};
}

View File

@ -0,0 +1,21 @@
{ config, pkgs, ... }:
{
# Home Manager needs a bit of information about you and the
# paths it should manage.
home.username = "zonsopkomst";
home.homeDirectory = "/home/zonsopkomst";
# This value determines the Home Manager release that your
# configuration is compatible with. This helps avoid breakage
# when a new Home Manager release introduces backwards
# incompatible changes.
#
# You can update Home Manager without changing this value. See
# the Home Manager release notes for a list of state version
# changes in each release.
home.stateVersion = "22.11";
# Let Home Manager install and manage itself.
programs.home-manager.enable = true;
}

View File

@ -0,0 +1,202 @@
########################
# Full System Packages #
########################
{ config, pkgs, ... }:
{
environment.systemPackages = with pkgs;
[
#################
# Communication #
#################
dino # XMPP Client
discord # Discord Client
element-desktop # Matrix Client
#jitsi # Video Calls & Chat
###########
# Cursors #
###########
phinger-cursors
#########
# Fonts #
#########
anonymousPro # TrueType Font Set for Source Code
roboto # Android Family of Fonts
tamsyn # Monospace Bitmap Font for Programmers
#########
# Games #
#########
#airshipper # Veloren RPG Updater
#assaultcube # First-Person Shooter
#alienarena # First-Person Shooter
#cataclysm-dda # Zombie Rogue-Like
#factorio # Build & Maintain Factories
#freeciv # Civilization Strategy Clone
#freenukum # Duke Nukum 1 Clone
#gamemode # Optimse Linux System Performance
#gzdoom # Doom Clone based on ZDoom
#hedgewars # Worms Clone
#openttd # Transport Tycoon Deluxe Clone
#redeclipse # First-Person Shooter
retroarchFull # Multi-Platform Emulator
#sauerbraten # First-Person Shooter, successor of Cube
#scorched3d # Scorched Earth 3D Clone
#shattered-pixel-dungeon # Roguelike Dungeon Crawl
#supertux # Super Mario Clone
#supertuxkart # Super Mario Kart Clone
#tuxpaint # Drawing for Children
#warzone2100 # Real-Time Strategy
#warsow # First-Person Shooter
#wesnoth # Fantasy Strategy
#ufoai # X-Com Clone
#xonotic # First-Person Shooter
#zdoom # Doom Clone
#zeroad # Ancient Warfare Strategy
# Todo:
#zero ballistics # ??
#the dark mod # ??
#########
# Gnome #
#########
adw-gtk3 # GTK3 libadwaita Theme ported to GTK-3
dconf # Gnome Configuration
gnome.gnome-tweaks # Gnome Customization Tool
##################
# Game Launchers #
##################
#heroic # GOG & Epic Games Launcher
# NOTE: Issues with authenticating, package out of date, using Flatpak
#itch # itch.io Games Launcher
#legendary-gl # Epic Games Launcher Alternative
#lutris # Issues with Origin installation,
# using Flatpak
#steam # Steam Game Launcher, using xxx
############
# Internet #
############
#betterbird # Email Client, No pkg,
# using flatpak
#brave # Thunderbird Fork, issues
# w/ BAT, using flatpak
librewolf # Firefox Web Browser Fork
#thunderbird # Email Client
#tigervnc # VNC Client
tor-browser-bundle-bin # Privacy Web Browser
#######
# KDE #
#######
#kate # Text Editor
#kde-gtk-config # KDE GTK Configuration
#libsForQt5.applet-window-buttons # KDE Applet
#libsForQt5.breeze-gtk # GTK Breeze Theming
#libsForQt5.breeze-qt5 # QT5 Breeze Theming
#libsForQt5.breeze-icons # Breeze Icons
#libsForQt5.filelight # Storage Usage Application
#libsForQt5.kaccounts-providers # KDE Accounts#libsForQt5.qtstyleplugin-kvantum # KDE Theming
#libsForQt5.kdecoration # KDE Theming
#libsForQt5.powerdevil # Power Manager
#libsForQt5.sddm # SDDM Libraries
#libsForQt5.sddm-kcm # SDDM Libraries
# Enable KDE Wallet PAM
#security.pam.services.zonsopkomst.enableKwallet = true;
#########
# Media #
#########
#ardour # DAW
bibletime # Bible Study Tool
#blender # 3D Animation/Publishing
calibre # eBook Library
#foliate # eBook Reader
freetube # YouTube Front-End
#gimp # GNU Image Manipulation Program
gpodder # Podcast Manager
#handbrake # Video Conversion Tool
#inkscape # Vector Graphics Editor
libsForQt5.kolourpaint # Painting Application
#krita # Painting Application
libsForQt5.k3b # Disk Burning Application
#gmic-qt-krita # Painting Application
#makemkv # Blu-Ray and DVD to MKV Converter
mpv # Media Player
#nuclear # Music Player,
# Package not updated
#obs-studio # Recording/Streaming Application
libsForQt5.okular # Document Viewer
smplayer # Media Player
strawberry # Media Player
#tenacity # Sound Editor
#zotero # Research Sourcer
#hypnotix ?? # IPTV Streaming Application
##########
# Office #
##########
gImageReader # Tesseract-OCR Front-End
gnucash # Double Entry Accounting Software
# Gnucash requires dconf, see Gnome section above
obsidian # Markdown Editor
onlyoffice-bin # Office Suite
pdfarranger # PDF Arranger
###############################
# Printers, Copiers, Scanners #
###############################
hplip # HP Print Drivers
##########
# System #
##########
# alacritty # Terminal Emulator
appimage-run # Appimage Runner
bleachbit # PC Cleaner
#bottles # Wineprefix Manager
btop # Resource Monitor
cpu-x # PC Information
crow-translate # Language Translator
#genymotion # NOTE: Issues with loading
git # Distributed Version Control System
gsmartcontrol # Disk Health Inspection Tool
htop # Process Viewer
i2c-tools # Network Utilities
inetutils # Network Utilities
keepassxc # GUI Password Manager with Cryptography
#kitty # Terminal Emulator
#openrgb # RGB Manager
neofetch # System Information
#nix-software-center # Nix Software Center
nox # Nix Tools
ntfs3g # FUSE Client
p7zip # File Archiver
papirus-icon-theme # Icons
powertop # Power Manager
protonup # Proton Installer
#qemu_full # Virtual Machine
solaar # Logitech Unifying Receiver
speedcrunch # Calculator
syncthing # File Synchronization
#syncthing-tray # Tray for Syncthing
tixati # Torrent Application
tldr # Simplified man pages
#waydroid # Android Emulator
# Only works on wayland
ventoy-bin # USB Boot App
veracrypt # Filesystem Encryption
#virtualbox # Virtual Machine
# Only needed with genymotion
vscodium # Code Editor
xorg.xkill # Kill Windows w/ Mouse
];
}

View File

@ -1,15 +0,0 @@
# Communication Packages
{ pkgs, ... }:
{
environment.systemPackages = with pkgs;
[
#betterbird #No pkg, using flatpak
brave
librewolf
#thunderbird
#tigervnc
tor-browser-bundle-bin
];
}

17
kde.nix
View File

@ -1,17 +0,0 @@
# KDE Packages
{ config, lib, pkgs, ... }:
{
environment.systemPackages = with pkgs;
[
kde-gtk-config
libsForQt5.sddm
libsForQt5.sddm-kcm
libsForQt5.kaccounts-providers
libsForQt5.breeze-gtk
libsForQt5.breeze-qt5
libsForQt5.breeze-icons
];
}

View File

@ -1,10 +0,0 @@
# Communication Packages
{ config, pkgs, ... }:
{
environment.systemPackages = with pkgs;
[
];
}

View File

@ -1,33 +0,0 @@
# Communication Packages
{ pkgs, ... }:
{
environment.systemPackages = with pkgs;
[
ardour
bibletime
blender
calibre
foliate
freetube
gimp
gpodder
handbrake
inkscape
libsForQt5.kolourpaint
krita
libsForQt5.k3b
gmic-qt-krita
#makemkv
mpv
#nuclear #Package not updated
obs-studio
libsForQt5.okular
smplayer
strawberry
tenacity
#zotero
#hypnotix ??
];
}

View File

@ -1,16 +0,0 @@
# Communication Packages
{ pkgs, ... }:
{
environment.systemPackages = with pkgs;
[
gImageReader
gnucash
# gnucash requires dconf
dconf
obsidian
onlyoffice-bin
pdfarranger
];
}

View File

@ -1,64 +0,0 @@
# Communication Packages
{ config, pkgs, ... }:
{
environment.systemPackages = with pkgs;
[
#genymotion # Issues with loading
alacritty #TODO try moving to home-manager when setup
appimage-run
bleachbit
bottles
btop
cpu-x
crow-translate
git
htop
i2c-tools
inetutils
kate
libsForQt5.applet-window-buttons
libsForQt5.filelight
libsForQt5.kdecoration
libsForQt5.qtstyleplugin-kvantum
libsForQt5.powerdevil
openrgb
neofetch
#nix-software-center
nox
ntfs3g
p7zip
papirus-icon-theme
powertop
protonup
qemu_full
solaar
speedcrunch
syncthing
syncthing-tray
tixati
tldr
#waydroid # Only works on wayland
ventoy-bin
veracrypt
#virtualbox # Only needed with genymotion
];
}
# Enable Flatpak
# services.flatpak.enable = true;
# Enable the Docker Service
# Note added "docker" group to extraGroups in configuration.nix
# virtualisation.docker.enable = true;
# services = {
# syncthing = {
# enable = true;
# user = "zonsopkomst";
# dataDir = "/home/zonsopkomst/Syncthing"; # Default folder for new synced folders
# configDir = "/home/zonsopkomst/Documents/.config/syncthing"; # Folder for Syncthing's settings and keys
# };
# };

View File

@ -0,0 +1,24 @@
{ config, pkgs, ... }:
{
# Currently using to manage my config files on multiple systems
# See https://github.com/nix-community/home-manager for manual and configuration options
# 1) Remember to add unstable channel (in this case) in the terminal:
# sudo nix-channel --add https://github.com/nix-community/home-manager/archive/master.tar.gz home-manager
# 2) sudo nix-channel --update
# 3) Include "<home-manager/nixos>" in "Imports" section above
home-manager.users.leeuwarden = { pkgs, ... }: {
home.packages = with pkgs; [
# Begin packages and options
alacritty
];
# Need to enable home.stateVersion for it to work correctly:
home.stateVersion = "22.05";
# Begin configuration or script declarations
home.file = {
".config/alacritty/alacritty.yml".text = ''
{window: {opacity: 0.8}, font: {normal: {family: tamsyn, style: Regular}}}
'';
};
};
}

View File

@ -0,0 +1,12 @@
{ config, pkgs, ... }:
{
services = {
syncthing = {
enable = true;
user = "leeuwarden";
dataDir = "/home/leeuwarden/Syncthing"; # Default folder for new synced folders
configDir = "/home/leeuwarden/Documents/.config/syncthing"; # Folder for Syncthing's settings and keys
};
};
}

View File

@ -0,0 +1,24 @@
{ config, pkgs, ... }:
{
# Currently using to manage my config files on multiple systems
# See https://github.com/nix-community/home -manager for manual and configuration options
# 1) Remember to add unstable channel (in this case) in the terminal:
# sudo nix-channel --add https://github.com/nix-community/home-manager/archive/master.tar.gz home-manager
# 2) sudo nix-channel --update
# 3) Include "<home-manager/nixos>" in "Imports" section above
home-manager.users.zonsopkomst = { pkgs, ... }: {
home.packages = with pkgs; [
# Begin packages and options
alacritty
];
# Need to enable home.stateVersion for it to work correctly:
home.stateVersion = "22.11";
# Begin configuration or script declarations
home.file = {
".config/alacritty/alacritty.yml".text = ''
{window: {opacity: 0.8}, font: {normal: {family: tamsyn, style: Regular}}}
'';
};
};
}

View File

@ -0,0 +1,10 @@
{
services = {
syncthing = {
enable = true;
user = "zonsopkomst";
dataDir = "/home/zonsopkomst/Syncthing"; # Default folder for new synced folders
configDir = "/home/zonsopkomst/Documents/.config/syncthing"; # Folder for Syncthing's settings and keys
};
};
}