From 36317ca5e5c9c560ff1f8b29512c37567e362bce Mon Sep 17 00:00:00 2001 From: Liam Malone Date: Sun, 31 Mar 2024 22:00:34 +0100 Subject: [PATCH] cleanup and updates --- hosts/default/configuration.nix | 169 ++++++++++++----------------- hosts/default/home.nix | 187 +++++++++++++++----------------- 2 files changed, 153 insertions(+), 203 deletions(-) diff --git a/hosts/default/configuration.nix b/hosts/default/configuration.nix index 9376aa8..03416af 100644 --- a/hosts/default/configuration.nix +++ b/hosts/default/configuration.nix @@ -11,30 +11,27 @@ inputs.home-manager.nixosModules.default ]; - # nixpkgs.config.permittedInsecurePackages = [ - # "electron-19.1.9" - # ]; - # Use the systemd-boot EFI boot loader. boot.loader.systemd-boot.enable = true; boot.loader.efi.canTouchEfiVariables = true; boot.plymouth.enable = true; - # networking.hostName = "nixos"; # Define your hostname. - # Pick only one of the below networking options. - # networking.wireless.enable = true; # Enables wireless support via wpa_supplicant. networking = { networkmanager.enable = true; # Easiest to use and most distros use this by default. hostName = "nixos-laptop"; + firewall.enable = false; + # Configure network proxy if necessary + # proxy.default = "http://user:password@proxy:port/"; + # proxy.noProxy = "127.0.0.1,localhost,internal.domain"; + + # Open ports in the firewall. + # networking.firewall.allowedTCPPorts = [ ... ]; + # networking.firewall.allowedUDPPorts = [ ... ]; }; # Set your time zone. time.timeZone = "Europe/Dublin"; - # Configure network proxy if necessary - # networking.proxy.default = "http://user:password@proxy:port/"; - # networking.proxy.noProxy = "127.0.0.1,localhost,internal.domain"; - # Select internationalisation properties. i18n= { defaultLocale = "en_US.UTF-8"; @@ -47,66 +44,61 @@ ]; }; }; - # console = { - # font = "Lat2-Terminus16"; - # keyMap = "us"; - # useXkbConfig = true; # use xkb.options in tty. - # }; # Enable the X11 windowing system. - services.xserver = { - enable = true; - xkb = { - layout = "us"; - variant = ""; + services = { + xserver = { + enable = true; + xkb = { + layout = "us"; + variant = ""; + }; + windowManager = { + i3.enable = true; + dwm.enable = true; + }; + libinput.enable = true; }; - # displayManager = { - # sddm.enable = true; - # sddm.theme = "${import ../../modules/themes/sddm-theme.nix { inherit pkgs; }}"; - # sessionPackages = [ pkgs.hyprland ]; - # }; - windowManager.i3.enable = true; - libinput.enable = true; + greetd = { + enable = true; + restart = true; + settings = { + default_session = { + command = "${pkgs.greetd.tuigreet}/bin/tuigreet --cmd Hyprland"; + }; + }; + }; + blueman.enable = true; + printing.enable = true; # Enable CUPS to print documents. + gvfs.enable = true; + auto-cpufreq.enable = true; + thermald.enable = true; }; powerManagement = { enable = true; powertop.enable = true; }; - - services.greetd = { - enable = true; - restart = true; - settings = { - default_session = { - command = "${pkgs.greetd.tuigreet}/bin/tuigreet --cmd Hyprland"; - }; - }; - }; environment.etc."greetd/environments".text = '' Hyprland none+i3 ''; - hardware.bluetooth.enable = true; - services.blueman.enable = true; - hardware.opengl = { - enable = true; - # extraPackages = with pkgs; [ - # vaapiIntel - # vaapiVdpau - # libvdpau-va-gl - # ]; - # driSupport32Bit = true; + hardware = { + bluetooth.enable = true; + opengl = { + enable = true; + }; + pulseaudio.enable = true; + + # System76 Devices + system76.enableAll = true; }; - - services.printing.enable = true; # Enable CUPS to print documents. security.pam.services.swaylock = {}; # Enable sound. sound.enable = true; - hardware.pulseaudio.enable = true; fonts.packages = with pkgs; [ noto-fonts @@ -120,9 +112,12 @@ (nerdfonts.override { fonts = [ "FiraCode" "DroidSansMono" ]; }) ]; -# This is my `configuration.nix` - nixpkgs.config.allowUnfree = true; +nixpkgs.overlays = [ + (final: prev: { + dwm = prev.dwm.overrideAttrs (old: {src = /home/liamm/oss/dwm;}); + }) + ]; # nixpkgs.config.allowUnfreePredicate = pkg: builtins.elem (lib.getName pkg) [ # "steam" # "steam-original" @@ -147,13 +142,24 @@ extraGroups = [ "networkmanager" "wheel" "disk" "power" "video" "davfs2" "input" ]; # Enable ‘sudo’ for the user. }; - programs.dconf.enable = true; - programs.steam = { - enable = true; - remotePlay.openFirewall = true; - dedicatedServer.openFirewall = true; + programs = { + dconf.enable = true; + steam = { + enable = true; + remotePlay.openFirewall = true; + dedicatedServer.openFirewall = true; + }; + + nix-ld.enable = true; + # Some programs need SUID wrappers, can be configured further or are + # started in user sessions. + mtr.enable = true; + gnupg.agent = { + enable = true; + enableSSHSupport = true; + }; }; - programs.nix-ld.enable = true; + home-manager = { extraSpecialArgs = { inherit inputs; }; users = { @@ -175,17 +181,6 @@ libdrm ]; - - # System76 Devices - hardware.system76.enableAll = true; - - services = { - gvfs.enable = true; - auto-cpufreq.enable = true; - thermald.enable = true; - }; - # services.flatpak.enable = true; - zramSwap = { enable = true; algorithm = "zstd"; @@ -196,47 +191,17 @@ portal = { enable = true; wlr.enable = true; - gtkUsePortal = true; + # gtkUsePortal = true; extraPortals = with pkgs;[ xdg-desktop-portal-gtk xdg-desktop-portal-wlr ]; }; }; - # 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; - - # Copy the NixOS configuration file and link it from the resulting system - # (/run/current-system/configuration.nix). This is useful in case you - # accidentally delete configuration.nix. - # system.copySystemConfiguration = true; - - # This option defines the first version of NixOS you have installed on this particular machine, - # and is used to maintain compatibility with application data (e.g. databases) created on older NixOS versions. - # - # Most users should NEVER change this value after the initial install, for any reason, - # even if you've upgraded your system to a new NixOS release. - # - # This value does NOT affect the Nixpkgs version your packages and OS are pulled from, - # so changing it will NOT upgrade your system. - # - # This value being lower than the current NixOS release does NOT mean your system is - # out of date, out of support, or vulnerable. - # + # This option defines the first version of NixOS you have installed on this particular machine # Do NOT change this value unless you have manually inspected all the changes it would make to your configuration, # and migrated your data accordingly. # diff --git a/hosts/default/home.nix b/hosts/default/home.nix index 84be7bd..d6fd025 100644 --- a/hosts/default/home.nix +++ b/hosts/default/home.nix @@ -4,6 +4,10 @@ home.username = "liamm"; home.homeDirectory = "/home/liamm"; + imports = [ + ../../modules/home-manager/dunst.nix + ../../modules/home-manager/terminals/alacritty.nix + ]; # You should not change this value, even if you update Home Manager. If you do # want to update the value, then make sure to first check the Home Manager # release notes. @@ -109,10 +113,6 @@ xdg.enable = true; xdg.configFile = { - "alacritty" = { - recursive = true; - source = ../../modules/old_configs/alacritty; - }; "contour" = { recursive = true; source = ../../modules/old_configs/contour; @@ -167,109 +167,94 @@ # BEGIN PROGRAMS - programs.bash = { - enable = true; - enableCompletion = true; - enableVteIntegration = true; - initExtra ='' - if [[ -z $ORIG_SHLVL ]]; then - export ORIG_SHLVL=$SHLVL - fi; - if [[ $SHLVL -gt $ORIG_SHLVL ]]; then - export PS1='\[\e[1;m\e[1;33m\e[1;m\] ($(($SHLVL - $ORIG_SHLVL))) \W\[\e[m\e[m\] 🐧 \[\e[1;32m\]~> \[\e[m\e[m\]' - else - export PS1='\[\e[1;m\e[1;33m\e[1;m\] \W\[\e[m\e[m\] 🐧 \[\e[1;32m\]~> \[\e[m\e[m\]' - fi; - set -o vi - ''; - shellAliases = { - ls = "ls --color=auto"; - ll = "ls -l"; - la = "ls -lA"; - ping = "ping -c 5"; - kpx = "keepassxc-cli open"; - nixbuild = "sudo nixos-rebuild switch --flake"; - nixtest = "sudo nixos-rebuild test --flake"; - vi = "\vim"; - emacsd = "emacs --daemon"; - emacsc = "emacsclient -c -a 'emacs'"; - new = "source $HOME/.bashrc"; - newbar = "pkill waybar; waybar &disown"; - ".." = "cd .."; - set-github-var = "export GITHUB=$(sed -n 2p ~/documents/.git_keys)"; - set-gitlab-var = "export GITLAB=$(sed -n 4p ~/documents/.git_keys)"; - }; - }; - programs.emacs = { - enable = true; - extraPackages = epkgs: [ - # epkgs.nix-mode - # epkgs.magit - epkgs.pdf-tools - epkgs.org-pdftools - ]; - }; - programs.feh.enable = true; - programs.git = { - enable = true; - diff-so-fancy.enable = true; - userEmail = "maloneliam@proton.me"; - userName = "Liam Malone"; - }; - programs.neovim = { - enable = true; - package = pkgs.neovim-unwrapped; - vimAlias = true; - vimdiffAlias = true; - }; - programs.obs-studio = { + programs = { + bash = { enable = true; + enableCompletion = true; + enableVteIntegration = true; + initExtra ='' + if [[ -z $ORIG_SHLVL ]]; then + export ORIG_SHLVL=$SHLVL + fi; + if [[ $SHLVL -gt $ORIG_SHLVL ]]; then + export PS1='\[\e[1;m\e[1;33m\e[1;m\] ($(($SHLVL - $ORIG_SHLVL))) \W\[\e[m\e[m\] 🐧 \[\e[1;32m\]~> \[\e[m\e[m\]' + else + export PS1='\[\e[1;m\e[1;33m\e[1;m\] \W\[\e[m\e[m\] 🐧 \[\e[1;32m\]~> \[\e[m\e[m\]' + fi; + set -o vi + ''; + shellAliases = { + ls = "ls --color=auto"; + ll = "ls -l"; + la = "ls -lA"; + ping = "ping -c 5"; + kpx = "keepassxc-cli open"; + nixbuild = "sudo nixos-rebuild switch --flake"; + nixtest = "sudo nixos-rebuild test --flake"; + vi = "\vim"; + emacsd = "emacs --daemon"; + emacsc = "emacsclient -c -a 'emacs'"; + new = "source $HOME/.bashrc"; + newbar = "pkill waybar; waybar &disown"; + ".." = "cd .."; + set-github-var = "export GITHUB=$(sed -n 2p ~/documents/.git_keys)"; + set-gitlab-var = "export GITLAB=$(sed -n 4p ~/documents/.git_keys)"; + }; + }; + emacs = { + enable = true; + extraPackages = epkgs: [ + epkgs.pdf-tools + epkgs.org-pdftools + ]; + }; + feh.enable = true; + git = { + enable = true; + diff-so-fancy.enable = true; + userEmail = "maloneliam@proton.me"; + userName = "Liam Malone"; + }; + neovim = { + enable = true; + package = pkgs.neovim-unwrapped; + vimAlias = true; + vimdiffAlias = true; + }; + obs-studio = { + enable = true; + }; + swaylock.enable = true; + waybar = { + enable = true; + systemd.enable = true; + systemd.target = "hyprland-session.target"; + }; + wofi.enable = true; }; - programs.swaylock.enable = true; - programs.waybar = { - enable = true; - systemd.enable = true; - systemd.target = "hyprland-session.target"; - }; - programs.wofi.enable = true; # BEGIN SERVICES - - services.blueman-applet.enable = true; - services.dunst = { - enable = true; - # waylandDisplay = true; - }; - - services.emacs = { - enable = true; - client = { + services = { + blueman-applet.enable = true; + emacs = { enable = true; - arguments = [ - "-c" - "-a emacs" - ]; + client = { + enable = true; + arguments = [ + "-c" + "-a emacs" + ]; + }; + startWithUserSession = true; }; - startWithUserSession = true; + gnome-keyring.enable = true; + gpg-agent = { + enable = true; + defaultCacheTtl = 1800; + enableSshSupport = true; + }; + nextcloud-client.enable = true; + swayidle.enable = true; }; - - # services.flameshot = { - # enable = true; - # settings = { - # General = { - # disabledTrayIcon = true; - # showStartupLaunchMessage = false; - # }; - # }; - # }; - - services.gnome-keyring.enable = true; - services.gpg-agent = { - enable = true; - defaultCacheTtl = 1800; - enableSshSupport = true; - }; - services.nextcloud-client.enable = true; - services.swayidle.enable = true; }