Merge remote-tracking branch 'origin/main' into dev
This commit is contained in:
commit
153f5d2356
29
home.nix
29
home.nix
|
@ -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
74
home/linux.nix
Normal 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 = ''
|
||||||
|
# '';
|
||||||
|
};
|
||||||
|
|
||||||
|
};
|
||||||
|
};
|
||||||
|
}
|
|
@ -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
6
home/work.nix
Normal file
|
@ -0,0 +1,6 @@
|
||||||
|
{ lib, ... }: let
|
||||||
|
username = "daniel.flanagan@divvypay.com";
|
||||||
|
in {
|
||||||
|
home.username = username;
|
||||||
|
home.homeDirectory = "/Users/${username}";
|
||||||
|
}
|
|
@ -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
|
||||||
|
];
|
||||||
|
};
|
||||||
}
|
}
|
||||||
|
|
|
@ -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
|
||||||
|
|
Loading…
Reference in a new issue