From 597050643703136283885c6cc37f47ac56bcea8f Mon Sep 17 00:00:00 2001 From: ISnortPennies Date: Sun, 5 Feb 2023 18:50:32 -0500 Subject: [PATCH] created config for my mom's laptop --- README.md | 3 ++ flake.nix | 16 +++++++++ modules/gnome.nix | 1 + modules/packages.nix | 1 - modules/xfce.nix | 60 ++++++++++++++++++++++++++++++++++ systems/desktop.nix | 1 + systems/laptop.nix | 3 ++ systems/mom.nix | 77 ++++++++++++++++++++++++++++++++++++++++++++ 8 files changed, 161 insertions(+), 1 deletion(-) create mode 100644 modules/xfce.nix create mode 100644 systems/mom.nix diff --git a/README.md b/README.md index 07bcc9d..d62d136 100644 --- a/README.md +++ b/README.md @@ -6,3 +6,6 @@ it currently has 2 hosts: "game-laptop" a HP Pavilion Laptop [15-ec2121nr](https://support.hp.com/us-en/document/c07918617#AbT0) which I've been testing linux game compatability on + + "moms-laptop" a TOSHIBA Satellite [L855-S5309](https://fo-stage-03.icecat.biz/us/p/toshiba/pskfuu-008049/satellite-notebooks-l855-s5309-18316794.html) + very old and very slow -basically a bootloader for firefox diff --git a/flake.nix b/flake.nix index c6399d4..f4ad932 100644 --- a/flake.nix +++ b/flake.nix @@ -79,6 +79,22 @@ ./nix.nix ]; }; + moms-laptop = lib.nixosSystem { + inherit system pkgs; + specialArgs = { + inherit inputs; + settings = { + username = "jo"; + version = "23.05"; + hostname = "moms-laptop"; + }; + }; + modules = [ + ./common.nix + ./systems/mom.nix + ./nix.nix + ]; + }; }; }; } diff --git a/modules/gnome.nix b/modules/gnome.nix index 14c701b..0072b43 100644 --- a/modules/gnome.nix +++ b/modules/gnome.nix @@ -50,6 +50,7 @@ user = settings.username; }; gdm.enable = true; + defaultSession = "gnome"; }; }; } diff --git a/modules/packages.nix b/modules/packages.nix index a45d97e..d767fa8 100644 --- a/modules/packages.nix +++ b/modules/packages.nix @@ -21,7 +21,6 @@ pavucontrol #gui volume control pcmanfm #file manager #big gui apps - webcord # talk to people (gross) librewolf #best browser ]; }; diff --git a/modules/xfce.nix b/modules/xfce.nix new file mode 100644 index 0000000..5f1c984 --- /dev/null +++ b/modules/xfce.nix @@ -0,0 +1,60 @@ +{ + pkgs, + settings, + ... +}: { + services.xserver = { + enable = true; + exportConfiguration = true; #make config debuggable + layout = "us"; + libinput.enable = true; + xautolock.enable = false; + desktopManager.xterm.enable = false; + excludePackages = [pkgs.xterm]; + desktopManager.gnome.enable = true; + displayManager = { + autoLogin = { + enable = true; + user = settings.username; + }; + defaultSession = "xfce"; + lightdm = { + enable = true; + background = ../images/recursion.png; + greeters.mini = { + enable = true; + user = settings.username; + extraConfig = '' + [greeter] + show-password-label = false + password-label-text = + invalid-password-text = + show-input-cursor = false + password-alignment = center + password-input-width = 19 + show-image-on-all-monitors = true + + + [greeter-theme] + font = "OverpassMono Nerd Font" + font-size = 1.1em + text-color = "#7AA2F7" + error-color = "#DB4B4B" + background-color = "#000000" + window-color = "#000000" + border-color = "#000000" + password-character = -1 + password-color = "#7AA2F7" + password-background-color = "#24283B" + password-border-color = "#000000" + password-border-radius = 0.341125em + ''; + }; + }; + }; + desktopManager.xfce = { + enable = true; + enableScreensaver = true; + }; + }; +} diff --git a/systems/desktop.nix b/systems/desktop.nix index bab8c7b..177777d 100644 --- a/systems/desktop.nix +++ b/systems/desktop.nix @@ -27,6 +27,7 @@ ../modules + ("/" + m + ".nix") ); environment.systemPackages = with pkgs; [ + webcord # talk to people (gross) bitwarden #store stuff qbittorrent #steal stuff networkmanagerapplet #gui connection control diff --git a/systems/laptop.nix b/systems/laptop.nix index e5de1da..6395030 100644 --- a/systems/laptop.nix +++ b/systems/laptop.nix @@ -21,6 +21,9 @@ m: ../modules + ("/" + m + ".nix") ); + environment.systemPackages = with pkgs; [ + webcord + ]; networking.hostName = settings.hostname; boot.kernelPackages = pkgs.linuxPackages_latest; hardware.cpu.amd.updateMicrocode = true; diff --git a/systems/mom.nix b/systems/mom.nix new file mode 100644 index 0000000..8f1bfa2 --- /dev/null +++ b/systems/mom.nix @@ -0,0 +1,77 @@ +{ + pkgs, + settings, + lib, + ... +}: { + imports = let + modules = [ + "boot" + "fonts" + "git" + "packages" + "xfce" + "shells" + "theme" + ]; + in + lib.lists.forEach modules ( + m: + ../modules + ("/" + m + ".nix") + ); + environment.systemPackages = with pkgs; [ + gimp + (pkgs.xsane.override {gimpSupport = true;}) + vlc + libreoffice + nomacs + # foxitreader + gnome.gnome-calculator + xfce.xfce4-whiskermenu-plugin + rsync + ]; + services.xserver.videoDrivers = ["intel"]; + networking.hostName = settings.hostname; + boot.kernelPackages = pkgs.linuxPackages_latest; + hardware.cpu.intel.updateMicrocode = true; + #printing stuff + hardware.sane = { + enable = true; + extraBackends = [pkgs.hplipWithPlugin]; + #run this to setup gimp plugin + #ln -s /run/current-system/sw/bin/xsane ~/.config/GIMP/2.10/plug-ins/xsane + }; + services = { + printing = { + enable = true; + drivers = [pkgs.hplipWithPlugin]; + }; + }; + + users = { + defaultUserShell = pkgs.zsh; + users."${settings.username}" = { + uid = 1000; + isNormalUser = true; + extraGroups = ["audio" "networkmanager" "scanner" "lp" "cups"]; + }; + }; + services.xserver.displayManager.autoLogin = { + enable = true; + user = settings.username; + }; + boot = { + initrd.availableKernelModules = ["xhci-pci" "ehci-pci" "ahci" "usbhid" "sd_mod" "sr_mod" "rtsx_usb_sdmmc"]; + kernelModules = ["kvm-intel"]; + }; + fileSystems = { + "/" = { + device = "/dev/disk/by-uuid/518885c4-2d43-46a5-bf17-c734b7b85c2e"; + fsType = "ext4"; + }; + "/boot" = { + device = "/dev/disk/by-uuid/5BCE-813C"; + fsType = "vfat"; + }; + }; +}