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:
let
system = "x86_64-linux";
pkgs = inputs.nixpkgs.legacyPackages.${system};
in
{
# 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;
modules = [
(import
./daniel.nix
(import ./home/user.nix pkgs)
(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.stateVersion = "23.05";
@ -15,8 +15,17 @@
# I use this for managing the following programs' versions instead of nix:
# 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?)
(pkgs.buildEnv { name = "my-scripts"; paths = [ ./scripts ]; })
(pkgs.buildEnv { name = "my-scripts"; paths = [ ../scripts ]; })
];
programs.password-store = {
@ -144,9 +153,9 @@
programs.fish = {
enable = true;
# I load long scripts from files for a better editing experience
shellInit = builtins.readFile ./fish/shellInit.fish;
interactiveShellInit = builtins.readFile ./fish/interactiveShellInit.fish;
# load long scripts from files for better editing experience
shellInit = builtins.readFile ../fish/shellInit.fish;
interactiveShellInit = builtins.readFile ../fish/interactiveShellInit.fish;
loginShellInit = "";
functions = {
# I think these should be loaded from fish files too for better editor experience
@ -240,62 +249,6 @@
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 = {
# enable = true;
# }; # 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}";
}