Thablet up and running maybe

This commit is contained in:
Daniel Flanagan 2024-01-04 22:15:55 -06:00
parent b7027a4ab1
commit 91a71561e4
Signed by: lytedev
GPG key ID: 5B2020A0F9921EF4
10 changed files with 113 additions and 111 deletions

View file

@ -1,5 +1,5 @@
{ {
pkgs, # pkgs,
# colors, # colors,
... ...
}: { }: {

View file

@ -35,9 +35,6 @@
}; };
packages = [ packages = [
# text editor
inputs.helix.packages.${system}.helix
# tools I use when editing nix code # tools I use when editing nix code
pkgs.nil pkgs.nil
pkgs.alejandra pkgs.alejandra

View file

@ -10,52 +10,53 @@
enableFishIntegration = true; enableFishIntegration = true;
}; };
settings = with colors.withHashPrefix; { settings = with colors.withHashPrefix; {
"font_family" = font.name; font_family = font.name;
"bold_font" = "${font.name} Heavy"; bold_font = "${font.name} Heavy";
"italic_font" = "${font.name} Italic"; italic_font = "${font.name} Italic";
"bold_italic_font" = "${font.name} Heavy Italic"; bold_italic_font = "${font.name} Heavy Italic";
"font_size" = toString font.size; font_size = toString font.size;
"inactive_text_alpha" = "0.5"; inactive_text_alpha = "0.5";
"copy_on_select" = true; 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 # use `kitty + list-fonts --psnames` to get the font's PostScript name
"allow_remote_control" = true; allow_remote_control = true;
"listen_on" = "unix:/tmp/kitty"; listen_on = "unix:/tmp/kitty";
"repaint_delay" = 3; repaint_delay = 3;
"input_delay" = 3; input_delay = 3;
"sync_to_monitor" = true; sync_to_monitor = true;
"adjust_line_height" = 0; adjust_line_height = 0;
"window_padding_width" = "10.0"; window_padding_width = "10.0";
"window_margin_width" = "0.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; enable_audio_bell = true;
"visual_bell_duration" = "0.25"; visual_bell_duration = "0.25";
"visual_bell_color" = bg3; visual_bell_color = bg3;
"url_style" = "single"; url_style = "single";
"strip_trailing_spaces" = "smart"; strip_trailing_spaces = "smart";
# open_url_modifiers ctrl # open_url_modifiers ctrl
"tab_bar_align" = "left"; tab_bar_align = "left";
"tab_bar_style" = "separator"; tab_bar_style = "separator";
"tab_separator" = ''""''; tab_separator = ''""'';
"tab_bar_edge" = "top"; tab_bar_edge = "top";
"tab_title_template" = ''"{fmt.fg.tab}{fmt.bg.tab} {activity_symbol}{title} "''; tab_title_template = ''"{fmt.fg.tab}{fmt.bg.tab} {activity_symbol}{title} "'';
"active_tab_font_style" = "normal"; active_tab_font_style = "normal";
## name: Catppuccin Kitty Mocha ## name: Catppuccin Kitty Mocha
## author: Catppuccin Org ## author: Catppuccin Org
@ -64,75 +65,75 @@
## blurb: Soothing pastel theme for the high-spirited! ## blurb: Soothing pastel theme for the high-spirited!
# The basic colors # The basic colors
"foreground" = text; foreground = text;
"background" = bg; background = bg;
"selection_foreground" = bg; selection_foreground = bg;
"selection_background" = text; selection_background = text;
# Cursor colors # Cursor colors
"cursor" = text; cursor = text;
"cursor_text_color" = bg; cursor_text_color = bg;
# URL underline color when hovering with mouse # URL underline color when hovering with mouse
"url_color" = primary; url_color = primary;
# Kitty window border colors # Kitty window border colors
"active_border_color" = primary; active_border_color = primary;
"inactive_border_color" = bg3; inactive_border_color = bg3;
"bell_border_color" = urgent; bell_border_color = urgent;
# OS Window titlebar colors # OS Window titlebar colors
"wayland_titlebar_color" = "system"; wayland_titlebar_color = "system";
"macos_titlebar_color" = "system"; macos_titlebar_color = "system";
# Tab bar colors # Tab bar colors
"active_tab_foreground" = bg; active_tab_foreground = bg;
"active_tab_background" = primary; active_tab_background = primary;
"inactive_tab_foreground" = fgdim; inactive_tab_foreground = fgdim;
"inactive_tab_background" = bg2; inactive_tab_background = bg2;
"tab_bar_background" = bg; tab_bar_background = bg;
# Colors for marks (marked text in the terminal) # Colors for marks (marked text in the terminal)
"mark1_foreground" = bg; mark1_foreground = bg;
"mark1_background" = blue; mark1_background = blue;
"mark2_foreground" = bg; mark2_foreground = bg;
"mark2_background" = purple; mark2_background = purple;
"mark3_foreground" = bg; mark3_foreground = bg;
"mark3_background" = blue; mark3_background = blue;
# The 16 terminal colors # The 16 terminal colors
# black # black
"color0" = colors.withHashPrefix."0"; color0 = colors.withHashPrefix."0";
"color8" = colors.withHashPrefix."8"; color8 = colors.withHashPrefix."8";
# red # red
"color1" = colors.withHashPrefix."1"; color1 = colors.withHashPrefix."1";
"color9" = colors.withHashPrefix."9"; color9 = colors.withHashPrefix."9";
# green # green
"color2" = colors.withHashPrefix."2"; color2 = colors.withHashPrefix."2";
"color10" = colors.withHashPrefix."10"; color10 = colors.withHashPrefix."10";
# yellow # yellow
"color3" = colors.withHashPrefix."3"; color3 = colors.withHashPrefix."3";
"color11" = colors.withHashPrefix."11"; color11 = colors.withHashPrefix."11";
# blue # blue
"color4" = colors.withHashPrefix."4"; color4 = colors.withHashPrefix."4";
"color12" = colors.withHashPrefix."12"; color12 = colors.withHashPrefix."12";
# magenta # magenta
"color5" = colors.withHashPrefix."5"; color5 = colors.withHashPrefix."5";
"color13" = colors.withHashPrefix."13"; color13 = colors.withHashPrefix."13";
# cyan # cyan
"color6" = colors.withHashPrefix."6"; color6 = colors.withHashPrefix."6";
"color14" = colors.withHashPrefix."14"; color14 = colors.withHashPrefix."14";
# white # white
"color7" = colors.withHashPrefix."7"; color7 = colors.withHashPrefix."7";
"color15" = colors.withHashPrefix."15"; color15 = colors.withHashPrefix."15";
}; };
keybindings = { keybindings = {
"ctrl+shift+1" = "change_font_size all 12.5"; "ctrl+shift+1" = "change_font_size all 12.5";

View file

@ -5,6 +5,7 @@
... ...
}: { }: {
imports = with outputs.homeManagerModules; [ imports = with outputs.homeManagerModules; [
linux
desktop desktop
firefox firefox
]; ];

View file

@ -1,10 +1,4 @@
{ {pkgs, ...}: {
outputs,
pkgs,
...
}: {
imports = with outputs.homeManagerModules; [common];
home = { home = {
sessionVariables = { sessionVariables = {
MOZ_ENABLE_WAYLAND = "1"; MOZ_ENABLE_WAYLAND = "1";

View file

@ -8,7 +8,6 @@
... ...
}: { }: {
imports = with outputs.homeManagerModules; [ imports = with outputs.homeManagerModules; [
linux
waybar waybar
mako mako
swaylock swaylock

View file

@ -1,9 +1,18 @@
{outputs, ...}: { {
outputs,
inputs,
system,
...
}: {
home-manager = { home-manager = {
extraSpecialArgs = {
inherit inputs outputs system;
inherit (outputs) colors font;
};
users.daniel = { users.daniel = {
# TODO: specify an email?
accounts.email.accounts = { accounts.email.accounts = {
primary = { primary = {
primary = true;
address = "daniel@lyte.dev"; address = "daniel@lyte.dev";
}; };
legacy = { legacy = {
@ -26,9 +35,9 @@
imports = with outputs.homeManagerModules; [ imports = with outputs.homeManagerModules; [
common common
senpai # senpai
iex # iex
cargo # cargo
]; ];
}; };
}; };

View file

@ -5,10 +5,13 @@
}: { }: {
# a minimal, familiar setup that I can bootstrap atop # a minimal, familiar setup that I can bootstrap atop
imports = with outputs.nixosModules; [ imports = with outputs.nixosModules; [
# may need to be tweaked based on the machine's paritioning scheme
flake.diskoConfigurations.standard flake.diskoConfigurations.standard
daniel
desktop-usage desktop-usage
wifi wifi
]; ];
# TODO: may not work for UEFI?
boot.loader.systemd-boot.enable = true; boot.loader.systemd-boot.enable = true;
} }

View file

@ -100,7 +100,7 @@
hardware.framework.amd-7040.preventWakeOnAC = true; hardware.framework.amd-7040.preventWakeOnAC = true;
boot = { boot = {
kernelPackages = pkgs.linuxPackages_latest; # seeing if using the stable kernel makes wow work kernelPackages = pkgs.linuxPackages_latest;
loader = { loader = {
efi.canTouchEfiVariables = true; efi.canTouchEfiVariables = true;
@ -129,18 +129,23 @@
}; };
hardware.bluetooth = { hardware.bluetooth = {
enable = true; 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; powerOnBoot = false;
}; };
powerManagement.cpuFreqGovernor = lib.mkDefault "ondemand"; powerManagement.cpuFreqGovernor = lib.mkDefault "ondemand";
services.power-profiles-daemon = {
enable = true;
};
powerManagement.powertop.enable = true;
# disabled stuff here for posterity
services.fprintd = { services.fprintd = {
enable = false; enable = false;
# tod.enable = true; # tod.enable = true;
# tod.driver = pkgs.libfprint-2-tod1-goodix; # tod.driver = pkgs.libfprint-2-tod1-goodix;
}; };
services.power-profiles-daemon = {
enable = true;
};
services.tlp = { services.tlp = {
enable = false; enable = false;
settings = { settings = {
@ -155,16 +160,6 @@
CPU_MAX_PERF_ON_AC = 100; CPU_MAX_PERF_ON_AC = 100;
}; };
}; };
powerManagement.powertop.enable = true;
networking = {
firewall = {
enable = true;
allowPing = true;
allowedTCPPorts = [22];
allowedUDPPorts = [];
};
};
system.stateVersion = "24.05"; system.stateVersion = "24.05";
} }

View file

@ -7,6 +7,8 @@
modulesPath, modulesPath,
... ...
}: { }: {
networking.hostName = "thablet";
imports = imports =
[ [
(modulesPath + "/installer/scan/not-detected.nix") (modulesPath + "/installer/scan/not-detected.nix")
@ -17,10 +19,17 @@
desktop-usage desktop-usage
gnome gnome
wifi wifi
daniel
flanfam flanfam
flanfamkiosk flanfamkiosk
]); ]);
home-manager.users.daniel = {
imports = with outputs.homeManagerModules; [
sway
];
};
nixpkgs = { nixpkgs = {
overlays = [ overlays = [
outputs.overlays.additions outputs.overlays.additions
@ -45,6 +54,7 @@
boot.loader.systemd-boot.enable = true; boot.loader.systemd-boot.enable = true;
services.fprintd = { services.fprintd = {
# TODO: am I missing a driver? see arch wiki for this h/w
enable = true; enable = true;
# tod.enable = true; # tod.enable = true;
# tod.driver = pkgs.libfprint-2-tod1-goodix; # tod.driver = pkgs.libfprint-2-tod1-goodix;
@ -57,19 +67,12 @@
programs.steam.enable = true; programs.steam.enable = true;
programs.steam.remotePlay.openFirewall = 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 # https://wiki.archlinux.org/title/Lenovo_ThinkPad_X1_Yoga_(Gen_3)#Using_acpi_call
systemd.services.activate-touch-hack = { systemd.services.activate-touch-hack = {
enable = true;
description = "Touch wake Thinkpad X1 Yoga 3rd gen hack";
unitConfig = { unitConfig = {
Description = "Touch wake Thinkpad X1 Yoga 3rd gen hack";
After = ["suspend.target" "hibernate.target" "hybrid-sleep.target" "suspend-then-hibernate.target"]; After = ["suspend.target" "hibernate.target" "hybrid-sleep.target" "suspend-then-hibernate.target"];
}; };