added common.nix to home-manager config for cross-user configurations + nixos live user

This commit is contained in:
Aly Raffauf 2024-03-06 18:07:55 -05:00
parent 569afc9d23
commit eaa53319a5
5 changed files with 93 additions and 135 deletions

View file

@ -120,14 +120,12 @@
]; ];
}; };
live-gnome-unstable = nixpkgs.lib.nixosSystem { live-gnome-unstable = nixpkgs-unstable.lib.nixosSystem {
system = "x86_64-linux"; system = "x86_64-linux";
modules = [ modules = [
(nixpkgs + "/nixos/modules/installer/cd-dvd/installation-cd-graphical-base.nix") (nixpkgs + "/nixos/modules/installer/cd-dvd/installation-cd-graphical-base.nix")
./system ./system
./desktop/gnome ./desktop/gnome
./modules/virtualization
./modules/steam
./modules/via-qmk ./modules/via-qmk
./modules/logitech ./modules/logitech
@ -136,8 +134,14 @@
# Add installer. # Add installer.
({ pkgs, ... }: { ({ pkgs, ... }: {
environment.systemPackages = [ pkgs.calamares-nixos ]; environment.systemPackages = [ pkgs.calamares-nixos pkgs.calamares-nixos-extensions ];
}) })
# Add home-manager nixos module so home-manager config deploys on nixos-rebuild.
home-manager-unstable.nixosModules.home-manager {
home-manager.useGlobalPkgs = true;
home-manager.useUserPackages = true;
home-manager.users.nixos = import ./home/nixos;
}
]; ];
}; };
}; };

View file

@ -1,6 +1,10 @@
{ config, pkgs, ... }: { config, pkgs, ... }:
{ {
imports = [
../common.nix
];
# TODO please change the username & home directory to your own # TODO please change the username & home directory to your own
home.username = "aly"; home.username = "aly";
home.homeDirectory = "/home/aly"; home.homeDirectory = "/home/aly";
@ -28,79 +32,4 @@
userName = "Aly Raffauf"; userName = "Aly Raffauf";
userEmail = "alyraffauf@gmail.com"; userEmail = "alyraffauf@gmail.com";
}; };
programs.bash = {
enable = true;
enableCompletion = true;
shellAliases = {
ls = "eza --group-directories-first";
};
initExtra =
''
export PS1="[\[$(tput setaf 27)\]\u\[$(tput setaf 135)\]@\[$(tput setaf 45)\]\h:\[$(tput setaf 33)\]\w] \[$(tput sgr0)\]$ "
'';
};
# programs.vscode = {
# enable = false;
# userSettings = {
# "update.mode" = "none";
# "window.autoDetectColorScheme" = true;
# "window.titleBarStyle" = "custom";
# "workbench.colorTheme" = "Light Modern";
# };
# enableUpdateCheck = false;
# };
programs.neovim = {
enable = true;
viAlias = true;
vimAlias = true;
defaultEditor = true;
};
dconf = {
enable = true;
settings."org/gnome/desktop/datetime".automatic-timezone = true;
settings."org/gnome/desktop/interface".clock-format = "12h";
settings."org/gnome/desktop/interface".enable-hot-corners = true;
settings."org/gnome/desktop/peripherals/touchpad".tap-to-click = true;
settings."org/gnome/desktop/search-providers".enabled = "['org.gnome.Calendar.desktop', 'org.gnome.Weather.desktop', 'org.gnome.Contacts.desktop', 'org.gnome.Calculator.desktop', 'org.gnome.Characters.desktop', 'org.gnome.clocks.desktop']";
settings."org/gnome/desktop/wm/preferences".auto-raise = true;
settings."org/gnome/mutter".dynamic-workspaces = true;
settings."org/gnome/mutter".edge-tiling = true;
settings."org/gnome/shell/extensions/blur-my-shell/overview".style-components = 3;
settings."org/gnome/shell/extensions/blur-my-shell/panel".blur = false;
settings."org/gnome/shell/extensions/blur-my-shell/panel".customize = true;
settings."org/gnome/shell/extensions/blur-my-shell/panel".style-panel = 0;
settings."org/gnome/shell/extensions/blur-my-shell/panel".override-background = false;
settings."org/gnome/shell/extensions/blur-my-shell/panel".override-background-dynamically = false;
settings."org/gnome/shell/extensions/blur-my-shell/panel".unblur-in-overview = true;
settings."org/gnome/system/location".enabled = true;
settings."org/gtk/gtk4/settings/file-chooser".sort-directories-first = true;
settings."org/gtk/settings/file-chooser".sort-directories-first = true;
settings."org/gnome/shell".enabled-extensions = [
"appindicatorsupport@rgcjonas.gmail.com"
"blur-my-shell@aunetx"
"gsconnect@andyholmes.github.io"
"nightthemeswitcher@romainvigier.fr"
"noannoyance-fork@vrba.dev"
"tailscale-status@maxgallup.github.com"
"tiling-assistant@leleat-on-github"
"drive-menu@gnome-shell-extensions.gcampax.github.com"
];
};
# This value determines the home Manager release that your
# configuration is compatible with. This helps avoid breakage
# when a new home Manager release introduces backwards
# incompatible changes.
#
# You can update home Manager without changing this value. See
# the home Manager release notes for a list of state version
# changes in each release.
home.stateVersion = "23.11";
# Let home Manager install and manage itself.
programs.home-manager.enable = true;
} }

66
home/common.nix Normal file
View file

@ -0,0 +1,66 @@
{ config, pkgs, ... }:
{
programs.bash = {
enable = true;
enableCompletion = true;
shellAliases = {
ls = "eza --group-directories-first";
};
initExtra =
''
export PS1="[\[$(tput setaf 27)\]\u\[$(tput setaf 135)\]@\[$(tput setaf 45)\]\h:\[$(tput setaf 33)\]\w] \[$(tput sgr0)\]$ "
'';
};
programs.neovim = {
enable = true;
viAlias = true;
vimAlias = true;
defaultEditor = true;
};
dconf = {
enable = true;
settings."org/gnome/desktop/datetime".automatic-timezone = true;
settings."org/gnome/desktop/interface".clock-format = "12h";
settings."org/gnome/desktop/interface".enable-hot-corners = true;
settings."org/gnome/desktop/peripherals/touchpad".tap-to-click = true;
settings."org/gnome/desktop/search-providers".enabled = "['org.gnome.Calendar.desktop', 'org.gnome.Weather.desktop', 'org.gnome.Contacts.desktop', 'org.gnome.Calculator.desktop', 'org.gnome.Characters.desktop', 'org.gnome.clocks.desktop']";
settings."org/gnome/desktop/wm/preferences".auto-raise = true;
settings."org/gnome/mutter".dynamic-workspaces = true;
settings."org/gnome/mutter".edge-tiling = true;
settings."org/gnome/shell/extensions/blur-my-shell/overview".style-components = 3;
settings."org/gnome/shell/extensions/blur-my-shell/panel".blur = false;
settings."org/gnome/shell/extensions/blur-my-shell/panel".customize = true;
settings."org/gnome/shell/extensions/blur-my-shell/panel".style-panel = 0;
settings."org/gnome/shell/extensions/blur-my-shell/panel".override-background = false;
settings."org/gnome/shell/extensions/blur-my-shell/panel".override-background-dynamically = false;
settings."org/gnome/shell/extensions/blur-my-shell/panel".unblur-in-overview = true;
settings."org/gnome/system/location".enabled = true;
settings."org/gtk/gtk4/settings/file-chooser".sort-directories-first = true;
settings."org/gtk/settings/file-chooser".sort-directories-first = true;
settings."org/gnome/shell".enabled-extensions = [
"appindicatorsupport@rgcjonas.gmail.com"
"blur-my-shell@aunetx"
"gsconnect@andyholmes.github.io"
"nightthemeswitcher@romainvigier.fr"
"noannoyance-fork@vrba.dev"
"tailscale-status@maxgallup.github.com"
"tiling-assistant@leleat-on-github"
"drive-menu@gnome-shell-extensions.gcampax.github.com"
];
};
# This value determines the home Manager release that your
# configuration is compatible with. This helps avoid breakage
# when a new home Manager release introduces backwards
# incompatible changes.
#
# You can update home Manager without changing this value. See
# the home Manager release notes for a list of state version
# changes in each release.
home.stateVersion = "23.11";
# Let home Manager install and manage itself.
programs.home-manager.enable = true;
}

View file

@ -1,63 +1,11 @@
{ config, pkgs, ... }: { config, pkgs, ... }:
{ {
imports = [
../common.nix
];
# TODO please change the username & home directory to your own # TODO please change the username & home directory to your own
home.username = "dustin"; home.username = "dustin";
home.homeDirectory = "/home/dustin"; home.homeDirectory = "/home/dustin";
# Packages that should be installed to the user profile.
home.packages = with pkgs; [
];
programs.bash = {
enable = true;
enableCompletion = true;
shellAliases = {
ls = "eza --group-directories-first";
};
};
dconf = {
enable = true;
settings."org/gnome/desktop/datetime".automatic-timezone = true;
settings."org/gnome/desktop/interface".clock-format = "12h";
settings."org/gnome/desktop/interface".enable-hot-corners = true;
settings."org/gnome/desktop/peripherals/touchpad".tap-to-click = true;
settings."org/gnome/desktop/search-providers".enabled = "['org.gnome.Calendar.desktop', 'org.gnome.Weather.desktop', 'org.gnome.Contacts.desktop', 'org.gnome.Calculator.desktop', 'org.gnome.Characters.desktop', 'org.gnome.clocks.desktop']";
settings."org/gnome/desktop/wm/preferences".auto-raise = true;
settings."org/gnome/mutter".dynamic-workspaces = true;
settings."org/gnome/mutter".edge-tiling = true;
settings."org/gnome/shell/extensions/blur-my-shell/overview".style-components = 3;
settings."org/gnome/shell/extensions/blur-my-shell/panel".blur = false;
settings."org/gnome/shell/extensions/blur-my-shell/panel".customize = true;
settings."org/gnome/shell/extensions/blur-my-shell/panel".style-panel = 0;
settings."org/gnome/shell/extensions/blur-my-shell/panel".override-background = false;
settings."org/gnome/shell/extensions/blur-my-shell/panel".override-background-dynamically = false;
settings."org/gnome/shell/extensions/blur-my-shell/panel".unblur-in-overview = true;
settings."org/gnome/system/location".enabled = true;
settings."org/gtk/gtk4/settings/file-chooser".sort-directories-first = true;
settings."org/gtk/settings/file-chooser".sort-directories-first = true;
settings."org/gnome/shell".enabled-extensions = [
"appindicatorsupport@rgcjonas.gmail.com"
"blur-my-shell@aunetx"
"gsconnect@andyholmes.github.io"
"nightthemeswitcher@romainvigier.fr"
"noannoyance-fork@vrba.dev"
"tailscale-status@maxgallup.github.com"
"tiling-assistant@leleat-on-github"
"drive-menu@gnome-shell-extensions.gcampax.github.com"
];
};
# This value determines the home Manager release that your
# configuration is compatible with. This helps avoid breakage
# when a new home Manager release introduces backwards
# incompatible changes.
#
# You can update home Manager without changing this value. See
# the home Manager release notes for a list of state version
# changes in each release.
home.stateVersion = "23.11";
# Let home Manager install and manage itself.
programs.home-manager.enable = true;
} }

11
home/nixos/default.nix Normal file
View file

@ -0,0 +1,11 @@
{ config, pkgs, ... }:
{
imports = [
../common.nix
];
# TODO please change the username & home directory to your own
home.username = "nixos";
home.homeDirectory = "/home/nixos";
}