diff --git a/.directory b/.directory new file mode 100644 index 0000000..ac52b8a --- /dev/null +++ b/.directory @@ -0,0 +1,2 @@ +[Desktop Entry] +Icon=folder-blue-code diff --git a/README.md b/README.md index 0c596bf..fa8ad97 100644 --- a/README.md +++ b/README.md @@ -1 +1 @@ -My flake configuration files. +MMT = Multimachine Managment Technology diff --git a/common/amd.nix b/common/amd.nix new file mode 100644 index 0000000..efc4f9b --- /dev/null +++ b/common/amd.nix @@ -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; +} \ No newline at end of file diff --git a/common/docker.nix b/common/docker.nix new file mode 100644 index 0000000..2b6c6a2 --- /dev/null +++ b/common/docker.nix @@ -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; +} \ No newline at end of file diff --git a/common/flakeinit.nix b/common/flakeinit.nix new file mode 100644 index 0000000..5ec8070 --- /dev/null +++ b/common/flakeinit.nix @@ -0,0 +1,8 @@ +{ config, pkgs, ... }: + +{ + nix = { + package = pkgs.nixFlakes; + extraOptions = "experimental-features = nix-command flakes"; + }; +} \ No newline at end of file diff --git a/common/flatpak.nix b/common/flatpak.nix new file mode 100644 index 0000000..e85d3b7 --- /dev/null +++ b/common/flatpak.nix @@ -0,0 +1,6 @@ +{ config, pkgs, ... }: + +{ + # Enable Flatpak + services.flatpak.enable = true; +} \ No newline at end of file diff --git a/common/gaming.nix b/common/gaming.nix new file mode 100644 index 0000000..5f6e26f --- /dev/null +++ b/common/gaming.nix @@ -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 + }; +} \ No newline at end of file diff --git a/common/insecure.nix b/common/insecure.nix new file mode 100644 index 0000000..7e638d4 --- /dev/null +++ b/common/insecure.nix @@ -0,0 +1,6 @@ +{ config, pkgs, ... }: + +{ + # Enable Insecure Packages + nixpkgs.config.permittedInsecurePackages = [ "electron-11.5.0" ]; +} \ No newline at end of file diff --git a/communication.nix b/communication.nix deleted file mode 100644 index 95841cf..0000000 --- a/communication.nix +++ /dev/null @@ -1,13 +0,0 @@ - # Communication Packages - -{ pkgs, ... }: - -{ - environment.systemPackages = with pkgs; - [ - dino - discord - element-desktop - jitsi - ]; -} diff --git a/flake.lock b/flake.lock index bac0036..c1dc5c3 100644 --- a/flake.lock +++ b/flake.lock @@ -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": { diff --git a/flake.nix b/flake.nix index 0eddafc..362201c 100644 --- a/flake.nix +++ b/flake.nix @@ -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 diff --git a/flatpak.md b/flatpak.md new file mode 100644 index 0000000..e6e7dfd --- /dev/null +++ b/flatpak.md @@ -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 \ No newline at end of file diff --git a/fonts.nix b/fonts.nix deleted file mode 100644 index 3e0ac98..0000000 --- a/fonts.nix +++ /dev/null @@ -1,14 +0,0 @@ - # Fonts - -{ pkgs, ... }: - -{ - environment.systemPackages = with pkgs; - [ - anonymousPro - roboto - tamsyn - #pkgs.terminus_font - ]; -} - diff --git a/gaming.nix b/gaming.nix deleted file mode 100644 index f947aba..0000000 --- a/gaming.nix +++ /dev/null @@ -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 ?? - ]; -} diff --git a/hosts/home/desktop/configuration.nix b/hosts/home/desktop/configuration.nix new file mode 100644 index 0000000..a11bd02 --- /dev/null +++ b/hosts/home/desktop/configuration.nix @@ -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. 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 = "22.05"; # Did you read the comment? +} diff --git a/configuration.nix b/hosts/home/desktop/configuration.nix.old similarity index 91% rename from configuration.nix rename to hosts/home/desktop/configuration.nix.old index d2d33f8..3eb86fc 100644 --- a/configuration.nix +++ b/hosts/home/desktop/configuration.nix.old @@ -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 - # - - ########################### - # END CUSTOM CONFIGUATION # - ########################### + ./packages.nix ]; # Bootloader. @@ -111,7 +83,7 @@ description = "leeuwarden"; extraGroups = [ "networkmanager" "wheel" "docker" ]; packages = with pkgs; [ -# nix-software-center + ]; }; diff --git a/hardware-configuration.nix b/hosts/home/desktop/hardware-configuration.nix similarity index 100% rename from hardware-configuration.nix rename to hosts/home/desktop/hardware-configuration.nix diff --git a/home-manager.nix b/hosts/home/desktop/home-manager.nix similarity index 59% rename from home-manager.nix rename to hosts/home/desktop/home-manager.nix index d00e099..15487f1 100644 --- a/home-manager.nix +++ b/hosts/home/desktop/home-manager.nix @@ -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 ]; */ }; } diff --git a/home.nix b/hosts/home/desktop/home.nix similarity index 100% rename from home.nix rename to hosts/home/desktop/home.nix diff --git a/hosts/home/desktop/packages.nix b/hosts/home/desktop/packages.nix new file mode 100644 index 0000000..464e815 --- /dev/null +++ b/hosts/home/desktop/packages.nix @@ -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 + ]; +} + + + diff --git a/hosts/home/desktop/packages.nix.old b/hosts/home/desktop/packages.nix.old new file mode 100644 index 0000000..9dc0bd3 --- /dev/null +++ b/hosts/home/desktop/packages.nix.old @@ -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; + +} + + + diff --git a/hosts/home/laptop/configuration.nix b/hosts/home/laptop/configuration.nix new file mode 100644 index 0000000..bc6331a --- /dev/null +++ b/hosts/home/laptop/configuration.nix @@ -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. 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 = "22.11"; # Did you read the comment? + +} diff --git a/hosts/home/laptop/configuration.nix.old b/hosts/home/laptop/configuration.nix.old new file mode 100644 index 0000000..b5b732a --- /dev/null +++ b/hosts/home/laptop/configuration.nix.old @@ -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 "" 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. 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 = "22.11"; # Did you read the comment? + +} diff --git a/hosts/home/laptop/custom.nix.old b/hosts/home/laptop/custom.nix.old new file mode 100644 index 0000000..42ec5d1 --- /dev/null +++ b/hosts/home/laptop/custom.nix.old @@ -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 "" 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 # + ###################### +} \ No newline at end of file diff --git a/hosts/home/laptop/hardware-configuration.nix b/hosts/home/laptop/hardware-configuration.nix new file mode 100644 index 0000000..e04015f --- /dev/null +++ b/hosts/home/laptop/hardware-configuration.nix @@ -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..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; +} diff --git a/hosts/home/laptop/home-manager.nix b/hosts/home/laptop/home-manager.nix new file mode 100644 index 0000000..0f93953 --- /dev/null +++ b/hosts/home/laptop/home-manager.nix @@ -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 + ] + }; +} diff --git a/hosts/home/laptop/home.nix b/hosts/home/laptop/home.nix new file mode 100644 index 0000000..9da2158 --- /dev/null +++ b/hosts/home/laptop/home.nix @@ -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; +} diff --git a/hosts/home/laptop/packages.nix b/hosts/home/laptop/packages.nix new file mode 100644 index 0000000..9e2ca67 --- /dev/null +++ b/hosts/home/laptop/packages.nix @@ -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 + ]; +} + + + diff --git a/internet.nix b/internet.nix deleted file mode 100644 index 13b0693..0000000 --- a/internet.nix +++ /dev/null @@ -1,15 +0,0 @@ - # Communication Packages - -{ pkgs, ... }: - -{ - environment.systemPackages = with pkgs; - [ - #betterbird #No pkg, using flatpak - brave - librewolf - #thunderbird - #tigervnc - tor-browser-bundle-bin - ]; -} diff --git a/kde.nix b/kde.nix deleted file mode 100644 index 66aa3cc..0000000 --- a/kde.nix +++ /dev/null @@ -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 - ]; - -} diff --git a/laptop.nix b/laptop.nix deleted file mode 100644 index 0d5ab2c..0000000 --- a/laptop.nix +++ /dev/null @@ -1,10 +0,0 @@ - # Communication Packages - -{ config, pkgs, ... }: - -{ - environment.systemPackages = with pkgs; - [ - - ]; -} diff --git a/media.nix b/media.nix deleted file mode 100644 index 61c56f7..0000000 --- a/media.nix +++ /dev/null @@ -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 ?? - ]; -} diff --git a/office.nix b/office.nix deleted file mode 100644 index 6bb543e..0000000 --- a/office.nix +++ /dev/null @@ -1,16 +0,0 @@ - # Communication Packages - -{ pkgs, ... }: - -{ - environment.systemPackages = with pkgs; - [ - gImageReader - gnucash - # gnucash requires dconf - dconf - obsidian - onlyoffice-bin - pdfarranger - ]; -} diff --git a/system.nix b/system.nix deleted file mode 100644 index 3143835..0000000 --- a/system.nix +++ /dev/null @@ -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 -# }; -# }; diff --git a/users/leeuwarden/home-manager.nix b/users/leeuwarden/home-manager.nix new file mode 100644 index 0000000..02d2ccf --- /dev/null +++ b/users/leeuwarden/home-manager.nix @@ -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 "" 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}}} + ''; + }; + }; +} \ No newline at end of file diff --git a/users/leeuwarden/syncthing.nix b/users/leeuwarden/syncthing.nix new file mode 100644 index 0000000..5f5517e --- /dev/null +++ b/users/leeuwarden/syncthing.nix @@ -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 + }; + }; +} \ No newline at end of file diff --git a/users/zonsopkomst/home-manager.nix b/users/zonsopkomst/home-manager.nix new file mode 100644 index 0000000..5bcac31 --- /dev/null +++ b/users/zonsopkomst/home-manager.nix @@ -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 "" 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}}} + ''; + }; + }; +} \ No newline at end of file diff --git a/users/zonsopkomst/syncthing.nix b/users/zonsopkomst/syncthing.nix new file mode 100644 index 0000000..abd3404 --- /dev/null +++ b/users/zonsopkomst/syncthing.nix @@ -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 + }; + }; +} \ No newline at end of file