From 91a71561e4a43a81acd3c70a43d9eed5bf9769d0 Mon Sep 17 00:00:00 2001 From: Daniel Flanagan Date: Thu, 4 Jan 2024 22:15:55 -0600 Subject: [PATCH] Thablet up and running maybe --- modules/home-manager/bat.nix | 2 +- modules/home-manager/common.nix | 3 - modules/home-manager/kitty.nix | 141 +++++++++++++------------ modules/home-manager/linux-desktop.nix | 1 + modules/home-manager/linux.nix | 8 +- modules/home-manager/sway.nix | 1 - modules/nixos/daniel.nix | 19 +++- nixos/base.nix | 3 + nixos/foxtrot.nix | 23 ++-- nixos/thablet.nix | 23 ++-- 10 files changed, 113 insertions(+), 111 deletions(-) diff --git a/modules/home-manager/bat.nix b/modules/home-manager/bat.nix index 836e58e..7f2ea6a 100644 --- a/modules/home-manager/bat.nix +++ b/modules/home-manager/bat.nix @@ -1,5 +1,5 @@ { - pkgs, + # pkgs, # colors, ... }: { diff --git a/modules/home-manager/common.nix b/modules/home-manager/common.nix index 5c45b71..7df6185 100644 --- a/modules/home-manager/common.nix +++ b/modules/home-manager/common.nix @@ -35,9 +35,6 @@ }; packages = [ - # text editor - inputs.helix.packages.${system}.helix - # tools I use when editing nix code pkgs.nil pkgs.alejandra diff --git a/modules/home-manager/kitty.nix b/modules/home-manager/kitty.nix index a045936..2ea556f 100644 --- a/modules/home-manager/kitty.nix +++ b/modules/home-manager/kitty.nix @@ -10,52 +10,53 @@ enableFishIntegration = true; }; settings = with colors.withHashPrefix; { - "font_family" = font.name; - "bold_font" = "${font.name} Heavy"; - "italic_font" = "${font.name} Italic"; - "bold_italic_font" = "${font.name} Heavy Italic"; - "font_size" = toString font.size; - "inactive_text_alpha" = "0.5"; - "copy_on_select" = true; + font_family = font.name; + bold_font = "${font.name} Heavy"; + italic_font = "${font.name} Italic"; + bold_italic_font = "${font.name} Heavy Italic"; + font_size = toString font.size; + inactive_text_alpha = "0.5"; + copy_on_select = true; + hide_window_decorations = "yes"; - "scrollback_lines" = 500000; + scrollback_lines = 500000; - "symbol_map" = "U+23FB-U+23FE,U+2665,U+26A1,U+2B58,U+E000-U+E00A,U+E0A0-U+E0A3,U+E0B0-U+E0D4,U+E200-U+E2A9,U+E300-U+E3E3,U+E5FA-U+E6AA,U+E700-U+E7C5,U+EA60-U+EBEB,U+F000-U+F2E0,U+F300-U+F32F,U+F400-U+F4A9,U+F500-U+F8FF,U+F0001-U+F1AF0 Symbols Nerd Font Mono"; + symbol_map = "U+23FB-U+23FE,U+2665,U+26A1,U+2B58,U+E000-U+E00A,U+E0A0-U+E0A3,U+E0B0-U+E0D4,U+E200-U+E2A9,U+E300-U+E3E3,U+E5FA-U+E6AA,U+E700-U+E7C5,U+EA60-U+EBEB,U+F000-U+F2E0,U+F300-U+F32F,U+F400-U+F4A9,U+F500-U+F8FF,U+F0001-U+F1AF0 Symbols Nerd Font Mono"; # use `kitty + list-fonts --psnames` to get the font's PostScript name - "allow_remote_control" = true; - "listen_on" = "unix:/tmp/kitty"; - "repaint_delay" = 3; - "input_delay" = 3; - "sync_to_monitor" = true; + allow_remote_control = true; + listen_on = "unix:/tmp/kitty"; + repaint_delay = 3; + input_delay = 3; + sync_to_monitor = true; - "adjust_line_height" = 0; - "window_padding_width" = "10.0"; - "window_margin_width" = "0.0"; + adjust_line_height = 0; + window_padding_width = "10.0"; + window_margin_width = "0.0"; - "confirm_os_window_close" = 0; + confirm_os_window_close = 0; - "enabled_layouts" = "splits:split_axis=vertical,stack"; + enabled_layouts = "splits:split_axis=vertical,stack"; - "shell_integration" = "disabled"; + shell_integration = "disabled"; - "enable_audio_bell" = true; - "visual_bell_duration" = "0.25"; - "visual_bell_color" = bg3; + enable_audio_bell = true; + visual_bell_duration = "0.25"; + visual_bell_color = bg3; - "url_style" = "single"; + url_style = "single"; - "strip_trailing_spaces" = "smart"; + strip_trailing_spaces = "smart"; # open_url_modifiers ctrl - "tab_bar_align" = "left"; - "tab_bar_style" = "separator"; - "tab_separator" = ''""''; - "tab_bar_edge" = "top"; - "tab_title_template" = ''"{fmt.fg.tab}{fmt.bg.tab} {activity_symbol}{title} "''; - "active_tab_font_style" = "normal"; + tab_bar_align = "left"; + tab_bar_style = "separator"; + tab_separator = ''""''; + tab_bar_edge = "top"; + tab_title_template = ''"{fmt.fg.tab}{fmt.bg.tab} {activity_symbol}{title} "''; + active_tab_font_style = "normal"; ## name: Catppuccin Kitty Mocha ## author: Catppuccin Org @@ -64,75 +65,75 @@ ## blurb: Soothing pastel theme for the high-spirited! # The basic colors - "foreground" = text; - "background" = bg; - "selection_foreground" = bg; - "selection_background" = text; + foreground = text; + background = bg; + selection_foreground = bg; + selection_background = text; # Cursor colors - "cursor" = text; - "cursor_text_color" = bg; + cursor = text; + cursor_text_color = bg; # URL underline color when hovering with mouse - "url_color" = primary; + url_color = primary; # Kitty window border colors - "active_border_color" = primary; - "inactive_border_color" = bg3; - "bell_border_color" = urgent; + active_border_color = primary; + inactive_border_color = bg3; + bell_border_color = urgent; # OS Window titlebar colors - "wayland_titlebar_color" = "system"; - "macos_titlebar_color" = "system"; + wayland_titlebar_color = "system"; + macos_titlebar_color = "system"; # Tab bar colors - "active_tab_foreground" = bg; - "active_tab_background" = primary; - "inactive_tab_foreground" = fgdim; - "inactive_tab_background" = bg2; - "tab_bar_background" = bg; + active_tab_foreground = bg; + active_tab_background = primary; + inactive_tab_foreground = fgdim; + inactive_tab_background = bg2; + tab_bar_background = bg; # Colors for marks (marked text in the terminal) - "mark1_foreground" = bg; - "mark1_background" = blue; - "mark2_foreground" = bg; - "mark2_background" = purple; - "mark3_foreground" = bg; - "mark3_background" = blue; + mark1_foreground = bg; + mark1_background = blue; + mark2_foreground = bg; + mark2_background = purple; + mark3_foreground = bg; + mark3_background = blue; # The 16 terminal colors # black - "color0" = colors.withHashPrefix."0"; - "color8" = colors.withHashPrefix."8"; + color0 = colors.withHashPrefix."0"; + color8 = colors.withHashPrefix."8"; # red - "color1" = colors.withHashPrefix."1"; - "color9" = colors.withHashPrefix."9"; + color1 = colors.withHashPrefix."1"; + color9 = colors.withHashPrefix."9"; # green - "color2" = colors.withHashPrefix."2"; - "color10" = colors.withHashPrefix."10"; + color2 = colors.withHashPrefix."2"; + color10 = colors.withHashPrefix."10"; # yellow - "color3" = colors.withHashPrefix."3"; - "color11" = colors.withHashPrefix."11"; + color3 = colors.withHashPrefix."3"; + color11 = colors.withHashPrefix."11"; # blue - "color4" = colors.withHashPrefix."4"; - "color12" = colors.withHashPrefix."12"; + color4 = colors.withHashPrefix."4"; + color12 = colors.withHashPrefix."12"; # magenta - "color5" = colors.withHashPrefix."5"; - "color13" = colors.withHashPrefix."13"; + color5 = colors.withHashPrefix."5"; + color13 = colors.withHashPrefix."13"; # cyan - "color6" = colors.withHashPrefix."6"; - "color14" = colors.withHashPrefix."14"; + color6 = colors.withHashPrefix."6"; + color14 = colors.withHashPrefix."14"; # white - "color7" = colors.withHashPrefix."7"; - "color15" = colors.withHashPrefix."15"; + color7 = colors.withHashPrefix."7"; + color15 = colors.withHashPrefix."15"; }; keybindings = { "ctrl+shift+1" = "change_font_size all 12.5"; diff --git a/modules/home-manager/linux-desktop.nix b/modules/home-manager/linux-desktop.nix index edf951c..4c22cdb 100644 --- a/modules/home-manager/linux-desktop.nix +++ b/modules/home-manager/linux-desktop.nix @@ -5,6 +5,7 @@ ... }: { imports = with outputs.homeManagerModules; [ + linux desktop firefox ]; diff --git a/modules/home-manager/linux.nix b/modules/home-manager/linux.nix index 9d8a8f8..096a6c7 100644 --- a/modules/home-manager/linux.nix +++ b/modules/home-manager/linux.nix @@ -1,10 +1,4 @@ -{ - outputs, - pkgs, - ... -}: { - imports = with outputs.homeManagerModules; [common]; - +{pkgs, ...}: { home = { sessionVariables = { MOZ_ENABLE_WAYLAND = "1"; diff --git a/modules/home-manager/sway.nix b/modules/home-manager/sway.nix index d8527f2..ffbc5fc 100644 --- a/modules/home-manager/sway.nix +++ b/modules/home-manager/sway.nix @@ -8,7 +8,6 @@ ... }: { imports = with outputs.homeManagerModules; [ - linux waybar mako swaylock diff --git a/modules/nixos/daniel.nix b/modules/nixos/daniel.nix index 1f7f6d1..e07161a 100644 --- a/modules/nixos/daniel.nix +++ b/modules/nixos/daniel.nix @@ -1,9 +1,18 @@ -{outputs, ...}: { +{ + outputs, + inputs, + system, + ... +}: { home-manager = { + extraSpecialArgs = { + inherit inputs outputs system; + inherit (outputs) colors font; + }; users.daniel = { - # TODO: specify an email? accounts.email.accounts = { primary = { + primary = true; address = "daniel@lyte.dev"; }; legacy = { @@ -26,9 +35,9 @@ imports = with outputs.homeManagerModules; [ common - senpai - iex - cargo + # senpai + # iex + # cargo ]; }; }; diff --git a/nixos/base.nix b/nixos/base.nix index 7a3e3ac..9559b4a 100644 --- a/nixos/base.nix +++ b/nixos/base.nix @@ -5,10 +5,13 @@ }: { # a minimal, familiar setup that I can bootstrap atop imports = with outputs.nixosModules; [ + # may need to be tweaked based on the machine's paritioning scheme flake.diskoConfigurations.standard + daniel desktop-usage wifi ]; + # TODO: may not work for UEFI? boot.loader.systemd-boot.enable = true; } diff --git a/nixos/foxtrot.nix b/nixos/foxtrot.nix index 33cb47b..62c4ce7 100644 --- a/nixos/foxtrot.nix +++ b/nixos/foxtrot.nix @@ -100,7 +100,7 @@ hardware.framework.amd-7040.preventWakeOnAC = true; boot = { - kernelPackages = pkgs.linuxPackages_latest; # seeing if using the stable kernel makes wow work + kernelPackages = pkgs.linuxPackages_latest; loader = { efi.canTouchEfiVariables = true; @@ -129,18 +129,23 @@ }; hardware.bluetooth = { enable = true; + # TODO: when resuming from hibernation, it would be nice if this would + # simply resume the power state at the time of hibernation powerOnBoot = false; }; powerManagement.cpuFreqGovernor = lib.mkDefault "ondemand"; + services.power-profiles-daemon = { + enable = true; + }; + powerManagement.powertop.enable = true; + + # disabled stuff here for posterity services.fprintd = { enable = false; # tod.enable = true; # tod.driver = pkgs.libfprint-2-tod1-goodix; }; - services.power-profiles-daemon = { - enable = true; - }; services.tlp = { enable = false; settings = { @@ -155,16 +160,6 @@ CPU_MAX_PERF_ON_AC = 100; }; }; - powerManagement.powertop.enable = true; - - networking = { - firewall = { - enable = true; - allowPing = true; - allowedTCPPorts = [22]; - allowedUDPPorts = []; - }; - }; system.stateVersion = "24.05"; } diff --git a/nixos/thablet.nix b/nixos/thablet.nix index 8607d27..e1813ed 100644 --- a/nixos/thablet.nix +++ b/nixos/thablet.nix @@ -7,6 +7,8 @@ modulesPath, ... }: { + networking.hostName = "thablet"; + imports = [ (modulesPath + "/installer/scan/not-detected.nix") @@ -17,10 +19,17 @@ desktop-usage gnome wifi + daniel flanfam flanfamkiosk ]); + home-manager.users.daniel = { + imports = with outputs.homeManagerModules; [ + sway + ]; + }; + nixpkgs = { overlays = [ outputs.overlays.additions @@ -45,6 +54,7 @@ boot.loader.systemd-boot.enable = true; services.fprintd = { + # TODO: am I missing a driver? see arch wiki for this h/w enable = true; # tod.enable = true; # tod.driver = pkgs.libfprint-2-tod1-goodix; @@ -57,19 +67,12 @@ programs.steam.enable = true; programs.steam.remotePlay.openFirewall = true; - networking = { - firewall = { - enable = true; - allowPing = true; - allowedTCPPorts = [22]; - allowedUDPPorts = []; - }; - }; - # https://wiki.archlinux.org/title/Lenovo_ThinkPad_X1_Yoga_(Gen_3)#Using_acpi_call systemd.services.activate-touch-hack = { + enable = true; + description = "Touch wake Thinkpad X1 Yoga 3rd gen hack"; + unitConfig = { - Description = "Touch wake Thinkpad X1 Yoga 3rd gen hack"; After = ["suspend.target" "hibernate.target" "hybrid-sleep.target" "suspend-then-hibernate.target"]; };