From b84a24ec1751ad7b44715b965f1f5959c2f6fa83 Mon Sep 17 00:00:00 2001 From: Daniel Flanagan Date: Tue, 18 Mar 2025 20:08:58 -0500 Subject: [PATCH] feat: add ghostty-terminfo package, set GNOME default terminal, some initial work on setting up nixos-containers in beefcake --- lib/modules/home/default.nix | 3 +++ lib/modules/nixos/default-module.nix | 9 ++++++--- lib/modules/nixos/gnome.nix | 1 - packages/default.nix | 1 + packages/ghostty-terminfo.nix | 17 +++++++++++++++++ packages/hosts/beefcake.nix | 25 ++++++++++++++++++++++++- 6 files changed, 51 insertions(+), 5 deletions(-) create mode 100644 packages/ghostty-terminfo.nix diff --git a/lib/modules/home/default.nix b/lib/modules/home/default.nix index b1c1381..053e422 100644 --- a/lib/modules/home/default.nix +++ b/lib/modules/home/default.nix @@ -453,6 +453,9 @@ in screensaver = [ "l" ]; # lock screen mic-mute = [ "v" ]; }; + "org/gnome/desktop/default-applications/terminal" = { + exec = "ghostty"; + }; "org/gnome/desktop/peripherals/touchpad" = { disable-while-typing = false; }; diff --git a/lib/modules/nixos/default-module.nix b/lib/modules/nixos/default-module.nix index ec5d007..40a6ee4 100644 --- a/lib/modules/nixos/default-module.nix +++ b/lib/modules/nixos/default-module.nix @@ -90,9 +90,12 @@ system.configurationRevision = toString ( self.shortRev or self.dirtyShortRev or self.lastModified or "unknown" ); - environment.etc = { - "lytedev/rev".text = config.system.configurationRevision; - "lytedev/lastModified".text = toString (self.lastModified or "unknown"); + environment = { + systemPackages = with pkgs; [ ghostty-terminfo ]; + etc = { + "lytedev/rev".text = config.system.configurationRevision; + "lytedev/lastModified".text = toString (self.lastModified or "unknown"); + }; }; lyte.shell.enable = lib.mkDefault true; diff --git a/lib/modules/nixos/gnome.nix b/lib/modules/nixos/gnome.nix index 9989964..4acf7e7 100644 --- a/lib/modules/nixos/gnome.nix +++ b/lib/modules/nixos/gnome.nix @@ -6,7 +6,6 @@ }: { config = lib.mkIf config.services.xserver.desktopManager.gnome.enable { - services = { xserver = { enable = true; diff --git a/packages/default.nix b/packages/default.nix index c100c07..4ed3cd6 100644 --- a/packages/default.nix +++ b/packages/default.nix @@ -12,4 +12,5 @@ in }; installer = pkgs.callPackage ./installer.nix { }; + ghostty-terminfo = pkgs.callPackage ./ghostty-terminfo.nix { }; } diff --git a/packages/ghostty-terminfo.nix b/packages/ghostty-terminfo.nix new file mode 100644 index 0000000..f51bfca --- /dev/null +++ b/packages/ghostty-terminfo.nix @@ -0,0 +1,17 @@ +{ + pkgs, + ghostty, + ... +}: +pkgs.stdenvNoCC.mkDerivation { + inherit (ghostty) version; + + pname = "${ghostty.pname}-terminfo"; + buildInputs = [ ghostty ]; + src = ghostty; + + installPhase = '' + mkdir -p "$out/share/" + cp -r "$src/share/terminfo" "$out/share/" + ''; +} diff --git a/packages/hosts/beefcake.nix b/packages/hosts/beefcake.nix index 8dbabab..3a8ea1a 100644 --- a/packages/hosts/beefcake.nix +++ b/packages/hosts/beefcake.nix @@ -20,7 +20,30 @@ }: { system.stateVersion = "24.05"; - networking.hostName = "beefcake"; + networking = { + nat = { + # for NAT'ing to nixos-containers + enable = true; + internalInterfaces = [ "ve-+" ]; + externalInterface = "eno1"; + }; + # bridges.br0.interfaces = [ "eno1" ]; # Adjust interface accordingly + + # Get bridge-ip with DHCP + # useDHCP = false; + # interfaces."br0".useDHCP = true; + + # Set bridge-ip static + # interfaces."br0".ipv4.addresses = [{ + # address = "10.233.2.0"; + # prefixLength = 24; + # }]; + # defaultGateway = "192.168.100.1"; + # nameservers = [ "192.168.100.1" ]; + + networkmanager.unmanaged = [ "interface-name:ve-*" ]; + hostName = "beefcake"; + }; boot = { zfs = {