Merge remote-tracking branch 'origin/main' into dev

This commit is contained in:
Daniel Flanagan 2023-09-14 13:12:58 -05:00
commit 153f5d2356
Signed by: lytedev
GPG key ID: 5B2020A0F9921EF4
6 changed files with 162 additions and 56 deletions

View file

@ -1,15 +1,30 @@
inputs @ { nixpkgs, home-manager, ... }: inputs:
let let
system = "x86_64-linux"; overlay = system: final: prev: {
overlay = final: prev: {
helix = prev.helix // inputs.helix.packages.${system}.helix; helix = prev.helix // inputs.helix.packages.${system}.helix;
rtx = prev.rtx // inputs.rtx.packages.${system}.rtx; rtx = prev.rtx // inputs.rtx.packages.${system}.rtx;
}; };
pkgs = import nixpkgs { inherit system; overlays = [ overlay ]; }; # TODO: be functional - have a mkHome function?
in { in {
# TODO: per arch? daniel = let
daniel = home-manager.lib.homeManagerConfiguration { system = "x86_64-linux";
pkgs = import inputs.nixpkgs { inherit system; overlays = [ (overlay system) ]; };
in inputs.home-manager.lib.homeManagerConfiguration {
inherit pkgs; inherit pkgs;
modules = [ import ./daniel.nix pkgs ]; modules = [
(import ./home/user.nix pkgs)
(import ./home/linux.nix pkgs)
];
};
daniel-work = let
system = "aarch64-darwin";
pkgs = import inputs.nixpkgs { inherit system; overlays = [ (overlay system) ]; };
in inputs.home-manager.lib.homeManagerConfiguration {
inherit pkgs;
modules = [
(import ./home/user.nix pkgs)
(import ./home/work.nix pkgs)
];
}; };
} }

74
home/linux.nix Normal file
View file

@ -0,0 +1,74 @@
{ pkgs, ... }: {
home.pointerCursor = {
name = "Catppuccin-Mocha-Sapphire-Cursors";
package = pkgs.catppuccin-cursors.mochaSapphire;
size = 64; # TODO: this doesn't seem to work -- at least in Sway
};
gtk = {
enable = true;
theme = {
name = "Catppuccin-Mocha-Compact-Sapphire-dark";
package = pkgs.catppuccin-gtk.override {
accents = [ "sapphire" ];
size = "compact";
tweaks = [ "rimless" "black" ];
variant = "mocha";
};
};
};
home.packages = [
(pkgs.buildEnv { name = "my-linux-scripts"; paths = [ ./scripts/linux ]; })
];
programs.firefox = {
# TODO: enable dark theme by default
enable = true;
package = (pkgs.firefox.override { extraNativeMessagingHosts = [ pkgs.passff-host ]; });
# extensions = with pkgs.nur.repos.rycee.firefox-addons; [
# ublock-origin
# ]; # TODO: would be nice to have _all_ my firefox stuff managed here instead of Firefox Sync maybe?
profiles = {
daniel = {
id = 0;
settings = {
"general.smoothScroll" = true;
};
extraConfig = ''
user_pref("toolkit.legacyUserProfileCustomizations.stylesheets", true);
// user_pref("full-screen-api.ignore-widgets", true);
user_pref("media.ffmpeg.vaapi.enabled", true);
user_pref("media.rdd-vpx.enabled", true);
'';
userChrome = ''
#TabsToolbar {
visibility: collapse;
}
#webrtcIndicator {
display: none;
}
#main-window[tabsintitlebar="true"]:not([extradragspace="true"]) #TabsToolbar>.toolbar-items {
opacity: 0;
pointer-events: none;
}
#main-window:not([tabsintitlebar="true"]) #TabsToolbar {
visibility: collapse !important;
}
'';
# userContent = ''
# '';
};
};
};
}

View file

@ -11,7 +11,7 @@ in
# }; # };
home = { home = {
username = "daniel"; username = lib.mkDefault "daniel";
homeDirectory = lib.mkDefault "/home/daniel/.home"; homeDirectory = lib.mkDefault "/home/daniel/.home";
stateVersion = "23.05"; stateVersion = "23.05";
@ -20,8 +20,17 @@ in
# kubectl, aws # kubectl, aws
pkgs.rtx pkgs.rtx
# text editor
pkgs.helix
# I need gawk for my fish prompt
pkgs.gawk
pkgs.nil
pkgs.nixpkgs-fmt
# TODO: os-specific scripts? macOS versus Linux (arch or nixos? do I need to distinguish at that point?) # TODO: os-specific scripts? macOS versus Linux (arch or nixos? do I need to distinguish at that point?)
(pkgs.buildEnv { name = "my-scripts"; paths = [ ./scripts ]; }) (pkgs.buildEnv { name = "my-scripts"; paths = [ ../scripts ]; })
]; ];
file = { file = {
@ -59,12 +68,6 @@ in
''; '';
}; };
}; };
pointerCursor = {
name = "Catppuccin-Mocha-Sapphire-Cursors";
package = pkgs.catppuccin-cursors.mochaSapphire;
size = 64; # TODO: this doesn't seem to work -- at least in Sway
};
}; };
programs = { programs = {
@ -485,8 +488,8 @@ select = {
fish = { fish = {
enable = true; enable = true;
# I load long scripts from files for a better editing experience # I load long scripts from files for a better editing experience
shellInit = builtins.readFile ./fish/shellInit.fish; shellInit = builtins.readFile ../fish/shellInit.fish;
interactiveShellInit = builtins.readFile ./fish/interactiveShellInit.fish; interactiveShellInit = builtins.readFile ../fish/interactiveShellInit.fish;
loginShellInit = ""; loginShellInit = "";
functions = { functions = {
# I think these should be loaded from fish files too for better editor experience # I think these should be loaded from fish files too for better editor experience
@ -625,7 +628,6 @@ select = {
# userContent = '' # userContent = ''
# ''; # '';
}; };
}; };
}; };
}; };

6
home/work.nix Normal file
View file

@ -0,0 +1,6 @@
{ lib, ... }: let
username = "daniel.flanagan@divvypay.com";
in {
home.username = username;
home.homeDirectory = "/Users/${username}";
}

View file

@ -68,41 +68,50 @@ in
enable = true; enable = true;
}; };
environment.systemPackages = with pkgs; [ environment = {
brightnessctl variables = {
feh GTK_THEME = "hx";
gimp VISUAL = "hx";
grim PAGER = "less";
inkscape MANPAGER = "less";
krita };
libinput
libinput-gestures systemPackages = with pkgs; [
libnotify brightnessctl
lutris feh
mako gimp
nil grim
nixpkgs-fmt inkscape
noto-fonts krita
pamixer libinput
pavucontrol libinput-gestures
pgcli libnotify
playerctl lutris
pulseaudio mako
pulsemixer nil
rclone nixpkgs-fmt
restic noto-fonts
slurp pamixer
steam pavucontrol
swaybg pgcli
swayidle playerctl
swaylock pulseaudio
vlc pulsemixer
vulkan-tools rclone
waybar restic
weechat slurp
wine steam
wl-clipboard swaybg
wofi swayidle
zathura swaylock
]; vlc
vulkan-tools
waybar
weechat
wine
wl-clipboard
wofi
zathura
];
};
} }

View file

@ -3,7 +3,7 @@ let
daniel = { daniel = {
home-manager.useGlobalPkgs = true; home-manager.useGlobalPkgs = true;
home-manager.useUserPackages = true; home-manager.useUserPackages = true;
home-manager.users.daniel = import ./daniel.nix; home-manager.users.daniel = import ./home/user.nix;
}; };
hms = [ hms = [
inputs.home-manager.nixosModules.home-manager inputs.home-manager.nixosModules.home-manager