diff --git a/modules/base.nix b/modules/base.nix index 5b3cefe..37c2e71 100644 --- a/modules/base.nix +++ b/modules/base.nix @@ -2,11 +2,15 @@ with lib; { + nixpkgs.config.allowUnfree = true; + i18n.defaultLocale = "en_US.UTF-8"; + time.timeZone = "America/Chicago"; + # Set default shell to be dash for speed # Apparently this is bad because a lot of nix relies on bash # environment.binsh = "${pkgs.dash}/bin/dash"; - environment.homeBinInPath = true; programs.fish.enable = true; programs.zsh.enable = true; + } diff --git a/modules/desktop.nix b/modules/desktop.nix index 5d2df27..6bbd851 100644 --- a/modules/desktop.nix +++ b/modules/desktop.nix @@ -13,6 +13,14 @@ with lib; substituters = ["https://hyprland.cachix.org"]; trusted-public-keys = ["hyprland.cachix.org-1:a7pgxzMz7+chwVL3/pzj6jIBMioiJM7ypFP8PwtkuGc="]; }; + + networking.networkmanager.enable = true; + # networking.wireless.enable = true; # Enables wireless support via wpa_supplicant. + + # The global useDHCP flag is deprecated, therefore explicitly set to false here. + # Per-interface useDHCP will be mandatory in the future, so this generated config + # replicates the default behaviour. + networking.useDHCP = false; boot.supportedFilesystems = [ "ntfs" ]; services.xserver = { @@ -45,6 +53,12 @@ with lib; # desktopManager.gnome.enable = true; }; + security.pam.services.kwallet = { + name = "kwallet"; + enableKwallet = true; + }; + security.pam.services.sddm.enableKwallet = true; + services.greetd = { enable = true; settings = rec { @@ -97,4 +111,79 @@ with lib; # Needed for some pipewire progs and other gtk apps programs.dconf.enable = true; + + environment.variables = { + EDITOR = "emacsclient -t -a"; + VISUAL = "emacsclient -c -a"; + # Fixing Qt apps in other environments + # Thought I needed this but apparently they are working fine without it. + # QT_XCB_GL_INTEGRATION = "xcb_egl"; + # QT_QPA_PLATFORM_PLUGIN_PATH = "${pkgs.qt5.qtbase.bin}/lib/qt-${pkgs.qt5.qtbase.qtCompatVersion}/plugins/platforms"; + WLR_NO_HARDWARE_CURSORS = "1"; + }; + + programs.partition-manager.enable = true; + programs.kdeconnect.enable = true; + + # Turn on flatpak + services.flatpak.enable = true; + + # Configure keymap in X11 + services.xserver.layout = "us"; + # services.xserver.xkbOptions = "eurosign:e"; + + # Enable CUPS to print documents. + services.printing.enable = true; + services.printing.drivers = [ pkgs.gutenprint pkgs.gutenprintBin pkgs.hplipWithPlugin ]; + + ####################### + # VIRTUALIZATION + ####################### + + virtualisation.podman.enable = true; + # virtualisation.docker.enable = true; + virtualisation.libvirtd = { + enable = true; + qemu = { + runAsRoot = false; + ovmf = { + enable = true; + packages = [ + pkgs.OVMFFull.fd + pkgs.pkgsCross.aarch64-multiplatform.OVMF.fd + ]; + }; + swtpm.enable = true; + }; + }; + services.samba-wsdd.enable = true; + services.samba = { + enable = true; + extraConfig = '' + workgroup = WORKGROUP + server string = smbnix + netbios name = smbnix + security = user + #use sendfile = yes + #max protocol = smb2 + # note: localhost is the ipv6 localhost ::1 + hosts allow = 192.168.0. 127.0.0.1 localhost + hosts deny = 0.0.0.0/0 + guest account = nobody + map to guest = bad user + ''; + shares = { + public = { + path = "/home/chris/Public"; + "read only" = false; + browsable = true; + "guest ok" = true; + comment = "Share"; + }; + }; + }; + + # Android Tools + programs.adb.enable = true; + services.udev.packages = [ pkgs.android-udev-rules ]; } diff --git a/system/kaladin/configuration.nix b/system/kaladin/configuration.nix index bfc4110..aabb64e 100644 --- a/system/kaladin/configuration.nix +++ b/system/kaladin/configuration.nix @@ -8,8 +8,11 @@ ../../pkgs/desktop-packages.nix ../../modules/emacs.nix ../../modules/desktop.nix + ../../modules/base.nix ]; + networking.hostName = "kaladin"; # Define your hostname. + # Use the systemd-boot EFI boot loader. boot = { kernelPackages = pkgs.linuxPackages_zen; @@ -21,45 +24,9 @@ }; }; - nixpkgs.config.allowUnfree = true; - - networking.hostName = "kaladin"; # Define your hostname. - networking.networkmanager.enable = true; - # networking.wireless.enable = true; # Enables wireless support via wpa_supplicant. - - # Set your time zone. - time.timeZone = "America/Chicago"; - - # The global useDHCP flag is deprecated, therefore explicitly set to false here. - # Per-interface useDHCP will be mandatory in the future, so this generated config - # replicates the default behaviour. - networking.useDHCP = false; networking.interfaces.enp0s31f6.useDHCP = true; networking.interfaces.wlp7s0.useDHCP = true; - virtualisation.podman.enable = true; - # virtualisation.docker.enable = true; - virtualisation.libvirtd = { - enable = true; - qemu = { - runAsRoot = false; - ovmf = { - enable = true; - packages = [ - pkgs.OVMFFull.fd - pkgs.pkgsCross.aarch64-multiplatform.OVMF.fd - ]; - }; - swtpm.enable = true; - }; - }; - - # Select internationalisation properties. - i18n.defaultLocale = "en_US.UTF-8"; - - # Set default shell to be dash for speed - # environment.binsh = "${pkgs.dash}/bin/dash"; - # NVIDIA services.xserver.videoDrivers = [ "nvidia" ]; hardware = { @@ -83,59 +50,15 @@ Option "TripleBuffer" "on" ''; - # This adds hyprland cache to cachix - nix.settings = { - substituters = ["https://hyprland.cachix.org"]; - trusted-public-keys = ["hyprland.cachix.org-1:a7pgxzMz7+chwVL3/pzj6jIBMioiJM7ypFP8PwtkuGc="]; - }; - - # Configure keymap in X11 - services.xserver.layout = "us"; - # services.xserver.xkbOptions = "eurosign:e"; - - # Enable CUPS to print documents. - services.printing.enable = true; - services.printing.drivers = [ pkgs.gutenprint pkgs.gutenprintBin pkgs.hplipWithPlugin ]; - - # Turn on flatpak - services.flatpak.enable = true; - services.usbmuxd.enable = true; services.fstrim.enable = true; - # Set default shell to be dash for speed - # Apparently this is bad because a lot of nix relies on bash - # environment.binsh = "${pkgs.dash}/bin/dash"; - - environment.homeBinInPath = true; - programs.fish.enable = true; - programs.zsh.enable = true; - - environment.variables = { - EDITOR = "emacsclient -t -a"; - VISUAL = "emacsclient -c -a"; - # Fixing Qt apps in other environments - # Thought I needed this but apparently they are working fine without it. - # QT_XCB_GL_INTEGRATION = "xcb_egl"; - # QT_QPA_PLATFORM_PLUGIN_PATH = "${pkgs.qt5.qtbase.bin}/lib/qt-${pkgs.qt5.qtbase.qtCompatVersion}/plugins/platforms"; - WLR_NO_HARDWARE_CURSORS = "1"; - }; - # Define a user account. Don't forget to set a password with ‘passwd’. users.users.chris = { isNormalUser = true; extraGroups = [ "wheel" "networkmanager" "input" "no-internet" ]; # Enable ‘sudo’ for the user. }; - programs.partition-manager.enable = true; - programs.kdeconnect.enable = true; - - security.pam.services.kwallet = { - name = "kwallet"; - enableKwallet = true; - }; - security.pam.services.sddm.enableKwallet = true; - # virtualisation.waydroid.enable = true; # services.ethminer = { @@ -153,67 +76,6 @@ dedicatedServer.openFirewall = true; }; - # nixpkgs.overlays = [ - - # (import (builtins.fetchTarball { - # url = https://github.com/nix-community/emacs-overlay/archive/master.tar.gz; - # sha256 = "1v1n30a2ai5mnlkrkwv4mfczd3601sqxxlawadxariblfvg7qz4j"; - # })) - - # (self: super: - # { - # myAwesome = super.awesome.overrideAttrs (old: rec { - # pname = "myAwesome"; - # version = "git-20220614-3a54221"; - # src = super.fetchFromGitHub { - # owner = "awesomeWM"; - # repo = "awesome"; - # rev = "3a542219f3bf129546ae79eb20e384ea28fa9798"; - # sha256 = "4z3w6iuv+Gw2xRvhv2AX4suO6dl82woJn0p1nkEx3uM="; - # }; - # patches = []; - # }); - # } - # ) - # - # (self: super: - # { - # qt5ct = super.qt5ct.overrideAttrs (old: rec { - # patches = (old.patches or []) ++ [ - # ../../qt5ct.patch - # ]; - # }); - # } - # ) - # ]; - - services.samba-wsdd.enable = true; - services.samba = { - enable = true; - extraConfig = '' - workgroup = WORKGROUP - server string = smbnix - netbios name = smbnix - security = user - #use sendfile = yes - #max protocol = smb2 - # note: localhost is the ipv6 localhost ::1 - hosts allow = 192.168.0. 127.0.0.1 localhost - hosts deny = 0.0.0.0/0 - guest account = nobody - map to guest = bad user - ''; - shares = { - public = { - path = "/home/chris/Public"; - "read only" = false; - browsable = true; - "guest ok" = true; - comment = "Share"; - }; - }; - }; - # Some programs need SUID wrappers, can be configured further or are # started in user sessions. # programs.mtr.enable = true; diff --git a/system/syl/configuration.nix b/system/syl/configuration.nix index 04fbf89..0341fc5 100644 --- a/system/syl/configuration.nix +++ b/system/syl/configuration.nix @@ -11,6 +11,7 @@ package = pkgs.nixVersions.unstable; }; + networking.hostName = "syl"; # Define your hostname. # Use the systemd-boot EFI boot loader. boot.kernelPackages = pkgs.linuxPackages_zen; @@ -26,17 +27,6 @@ hardware.acpilight.enable = lib.mkDefault true; - networking.hostName = "syl"; # Define your hostname. - networking.networkmanager.enable = true; - # networking.wireless.enable = true; # Enables wireless support via wpa_supplicant. - - # Set your time zone. - time.timeZone = "America/Chicago"; - - # The global useDHCP flag is deprecated, therefore explicitly set to false here. - # Per-interface useDHCP will be mandatory in the future, so this generated config - # replicates the default behaviour. - networking.useDHCP = false; networking.interfaces.wlp170s0.useDHCP = true; virtualisation.podman.enable = true; @@ -56,9 +46,6 @@ }; }; - # Select internationalisation properties. - i18n.defaultLocale = "en_US.UTF-8"; - hardware.uinput.enable = true; hardware.bluetooth.enable = true; @@ -78,12 +65,6 @@ services.xserver.videoDrivers = ["intel"]; - # This adds hyprland cache to cachix - nix.settings = { - substituters = ["https://hyprland.cachix.org"]; - trusted-public-keys = ["hyprland.cachix.org-1:a7pgxzMz7+chwVL3/pzj6jIBMioiJM7ypFP8PwtkuGc="]; - }; - boot.supportedFilesystems = [ "ntfs" ]; services.xserver = { enable = true;