From 3942238dba290cd7436864ba1d9cb48a3d10f409 Mon Sep 17 00:00:00 2001 From: Tyler Starr Date: Sun, 14 May 2023 15:10:40 -0700 Subject: [PATCH] add lib folder --- .../nixos/hosts/kestrel/configuration.nix | 5 +++-- provision/nixos/hosts/kestrel/hardware.nix | 10 ++++----- provision/nixos/lib/overlays.nix | 7 ++++++ provision/nixos/modules/desktop/sway.nix | 22 +++---------------- provision/nixos/modules/devel/python.nix | 13 +++++++++-- provision/nixos/overlays/default.nix | 5 ----- provision/nixos/overlays/overrides.nix | 18 --------------- provision/nixos/overlays/rofi.nix | 7 ++++++ 8 files changed, 36 insertions(+), 51 deletions(-) create mode 100644 provision/nixos/lib/overlays.nix delete mode 100644 provision/nixos/overlays/default.nix delete mode 100644 provision/nixos/overlays/overrides.nix create mode 100644 provision/nixos/overlays/rofi.nix diff --git a/provision/nixos/hosts/kestrel/configuration.nix b/provision/nixos/hosts/kestrel/configuration.nix index c195947c..ba93d25c 100644 --- a/provision/nixos/hosts/kestrel/configuration.nix +++ b/provision/nixos/hosts/kestrel/configuration.nix @@ -14,6 +14,7 @@ # Add non-free packages nixpkgs.config.allowUnfree = true; + nixpkgs.overlays = import ../../lib/overlays.nix; # Use zen kernel boot.kernelPackages = pkgs.linuxPackages_zen; @@ -68,10 +69,12 @@ nerdfonts ]; + programs.zsh.enable = true; # Define a user account. Don't forget to set a password with ‘passwd’. users.users.${user} = { isNormalUser = true; extraGroups = [ "wheel" "docker" ]; # Enable ‘sudo’ for the user. + shell = pkgs.zsh; }; # List packages installed in system profile. To search, run: @@ -94,7 +97,6 @@ gnome-extension-manager gnome.gnome-tweaks pinentry-curses - zsh ripgrep trash-cli ]; @@ -125,7 +127,6 @@ enableSSHSupport = true; }; - # Enable modules imports = [ ../../modules ]; modules = { diff --git a/provision/nixos/hosts/kestrel/hardware.nix b/provision/nixos/hosts/kestrel/hardware.nix index a371f3c8..809f3268 100644 --- a/provision/nixos/hosts/kestrel/hardware.nix +++ b/provision/nixos/hosts/kestrel/hardware.nix @@ -14,31 +14,31 @@ boot.extraModulePackages = [ ]; fileSystems."/" = - { device = "/dev/sda2"; + { device = "/dev/disk/by-uuid/b946d3b5-86ea-4f22-be13-532a60023b98"; fsType = "btrfs"; options = [ "subvol=root" ]; }; fileSystems."/home" = - { device = "/dev/sda2"; + { device = "/dev/disk/by-uuid/b946d3b5-86ea-4f22-be13-532a60023b98"; fsType = "btrfs"; options = [ "subvol=home" ]; }; fileSystems."/nix" = - { device = "/dev/sda2"; + { device = "/dev/disk/by-uuid/b946d3b5-86ea-4f22-be13-532a60023b98"; fsType = "btrfs"; options = [ "subvol=nix" ]; }; fileSystems."/persist" = - { device = "/dev/sda2"; + { device = "/dev/disk/by-uuid/b946d3b5-86ea-4f22-be13-532a60023b98"; fsType = "btrfs"; options = [ "subvol=persist" ]; }; fileSystems."/var/log" = - { device = "/dev/sda2"; + { device = "/dev/disk/by-uuid/b946d3b5-86ea-4f22-be13-532a60023b98"; fsType = "btrfs"; options = [ "subvol=log" ]; }; diff --git a/provision/nixos/lib/overlays.nix b/provision/nixos/lib/overlays.nix new file mode 100644 index 00000000..7a31e8be --- /dev/null +++ b/provision/nixos/lib/overlays.nix @@ -0,0 +1,7 @@ +/* This configures nixpkgs.overlays to include our overlays/ directory. + */ +let path = ../overlays; in with builtins; +map (n: import (path + ("/" + n))) + (filter (n: match ".*\\.nix" n != null || + pathExists (path + ("/" + n + "/default.nix"))) + (attrNames (readDir path))) diff --git a/provision/nixos/modules/desktop/sway.nix b/provision/nixos/modules/desktop/sway.nix index 24208c5b..918fbeb0 100644 --- a/provision/nixos/modules/desktop/sway.nix +++ b/provision/nixos/modules/desktop/sway.nix @@ -2,23 +2,6 @@ let cfg = config.modules.desktop.sway; - # bash script to let dbus know about important env variables and - # propagate them to relevent services run at the end of sway config - # see - # https://github.com/emersion/xdg-desktop-portal-wlr/wiki/"It-doesn't-work"-Troubleshooting-Checklist - # note: this is pretty much the same as /etc/sway/config.d/nixos.conf but also restarts - # some user services to make sure they have the correct environment variables - dbus-sway-environment = pkgs.writeTextFile { - name = "dbus-sway-environment"; - destination = "/bin/dbus-sway-environment"; - executable = true; - - text = '' - dbus-update-activation-environment --systemd WAYLAND_DISPLAY XDG_CURRENT_DESKTOP=sway - systemctl --user stop pipewire pipewire-media-session xdg-desktop-portal xdg-desktop-portal-wlr - systemctl --user start pipewire pipewire-media-session xdg-desktop-portal xdg-desktop-portal-wlr - ''; - }; # currently, there is some friction between sway and gtk: # https://github.com/swaywm/sway/wiki/GTK-3-settings-on-Wayland @@ -46,8 +29,8 @@ in { environment.systemPackages = with pkgs; [ sway - dbus-sway-environment wayland + xwayland configure-gtk xdg-utils # for opening default programs when clicking links glib # gsettings @@ -59,7 +42,8 @@ in { wl-clipboard # wl-copy and wl-paste for copy/paste from stdin / stdout mako # notification system developed by swaywm maintainer wdisplays # tool to configure displays - rofi + rofip + networkmanagerapplet ]; # xdg-desktop-portal works by exposing a series of D-Bus interfaces diff --git a/provision/nixos/modules/devel/python.nix b/provision/nixos/modules/devel/python.nix index 04d4c6ca..545cf16c 100644 --- a/provision/nixos/modules/devel/python.nix +++ b/provision/nixos/modules/devel/python.nix @@ -4,11 +4,20 @@ let cfg = config.modules.devel.python; + my-python-packages = ps: with ps; [ + virtualenv + i3ipc + ]; + in { options.modules.devel.python.enable = lib.mkEnableOption "python"; config = lib.mkIf cfg.enable { # Install packages - environment.systemPackages = with pkgs; [ python3 python3Packages.virtualenv beancount fava ]; + environment.systemPackages = with pkgs; [ + (python3.withPackages my-python-packages) + beancount + fava + ]; }; -} \ No newline at end of file +} diff --git a/provision/nixos/overlays/default.nix b/provision/nixos/overlays/default.nix deleted file mode 100644 index 7ff75997..00000000 --- a/provision/nixos/overlays/default.nix +++ /dev/null @@ -1,5 +0,0 @@ -{ ... }: - -{ - overrides = import ./overrides.nix; -} diff --git a/provision/nixos/overlays/overrides.nix b/provision/nixos/overlays/overrides.nix deleted file mode 100644 index 08e35914..00000000 --- a/provision/nixos/overlays/overrides.nix +++ /dev/null @@ -1,18 +0,0 @@ -# This overlay is used for overriding upstream packages. - -self: super: - -let - nixpkgs-master = import { inherit (super) config; }; - nixpkgs-unstable = import { inherit (super) config; }; - -in { - inherit nixpkgs-master; - inherit nixpkgs-unstable; - - qtile = super.qtile.overrideAttrs(oldAttrs: { - propagatedBuildInputs = oldAttrs.passthru.unwrapped.propagatedBuildInputs ++ (with self.python3Packages; [ - pyyaml - ]); - }); -} diff --git a/provision/nixos/overlays/rofi.nix b/provision/nixos/overlays/rofi.nix new file mode 100644 index 00000000..ed78498a --- /dev/null +++ b/provision/nixos/overlays/rofi.nix @@ -0,0 +1,7 @@ +let sources = import ../nix/sources.nix; in +self: super: { + rofi = pkgs.rofi.override { plugins = [ pkgs.rofi-emoji ]; }; +} + + +