Merge pull request 'Fixes for work laptop' (#1) from lytedev-divvy/nix:main into main

Reviewed-on: #1
This commit is contained in:
Daniel Flanagan 2023-09-14 11:36:29 -05:00
commit 2f345f2a94
4 changed files with 97 additions and 69 deletions

View file

@ -1,17 +1,25 @@
inputs: inputs:
let
system = "x86_64-linux";
pkgs = inputs.nixpkgs.legacyPackages.${system};
in
{ {
# TODO: per arch? # TODO: per arch?
daniel = inputs.home-manager.lib.homeManagerConfiguration { daniel = let
system = "x86_64-linux";
pkgs = inputs.nixpkgs.legacyPackages.${system};
in inputs.home-manager.lib.homeManagerConfiguration {
inherit pkgs; inherit pkgs;
modules = [ modules = [
(import (import ./home/user.nix pkgs)
./daniel.nix (import ./home/linux.nix pkgs)
];
};
pkgs) daniel-work = let
system = "aarch64-darwin";
pkgs = inputs.nixpkgs.legacyPackages.${system};
in inputs.home-manager.lib.homeManagerConfiguration {
inherit pkgs;
modules = [
(import ./home/user.nix pkgs)
(import ./home/work.nix pkgs)
]; ];
}; };
} }

61
home/linux.nix Normal file
View file

@ -0,0 +1,61 @@
{ 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
};
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

@ -6,7 +6,7 @@
# }; # };
# }; # };
home.username = "daniel"; home.username = lib.mkDefault "daniel";
home.homeDirectory = lib.mkDefault "/home/daniel/.home"; home.homeDirectory = lib.mkDefault "/home/daniel/.home";
home.stateVersion = "23.05"; home.stateVersion = "23.05";
@ -15,8 +15,17 @@
# I use this for managing the following programs' versions instead of nix: # I use this for managing the following programs' versions instead of nix:
# kubectl, aws # kubectl, aws
# 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 ]; })
]; ];
programs.password-store = { programs.password-store = {
@ -144,9 +153,9 @@
programs.fish = { programs.fish = {
enable = true; enable = true;
# I load long scripts from files for a better editing experience # load long scripts from files for 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
@ -240,62 +249,6 @@
enableFishIntegration = true; enableFishIntegration = true;
}; };
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
};
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 = ''
# '';
};
};
};
# wayland.windowManager.sway = { # wayland.windowManager.sway = {
# enable = true; # enable = true;
# }; # TODO: would be nice to have my sway config declared here instead of symlinked in by dotfiles scripts? # }; # TODO: would be nice to have my sway config declared here instead of symlinked in by dotfiles scripts?

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}";
}