From eaa53319a58b2bf35f7c5178fa766d098c68c3a8 Mon Sep 17 00:00:00 2001 From: Aly Raffauf Date: Wed, 6 Mar 2024 18:07:55 -0500 Subject: [PATCH] added common.nix to home-manager config for cross-user configurations + nixos live user --- flake.nix | 12 ++++--- home/aly/default.nix | 79 +++-------------------------------------- home/common.nix | 66 ++++++++++++++++++++++++++++++++++ home/dustin/default.nix | 60 +++---------------------------- home/nixos/default.nix | 11 ++++++ 5 files changed, 93 insertions(+), 135 deletions(-) create mode 100644 home/common.nix create mode 100644 home/nixos/default.nix diff --git a/flake.nix b/flake.nix index a6c9061a..eafd3388 100644 --- a/flake.nix +++ b/flake.nix @@ -120,14 +120,12 @@ ]; }; - live-gnome-unstable = nixpkgs.lib.nixosSystem { + live-gnome-unstable = nixpkgs-unstable.lib.nixosSystem { system = "x86_64-linux"; modules = [ (nixpkgs + "/nixos/modules/installer/cd-dvd/installation-cd-graphical-base.nix") ./system ./desktop/gnome - ./modules/virtualization - ./modules/steam ./modules/via-qmk ./modules/logitech @@ -136,8 +134,14 @@ # Add installer. ({ 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; + } ]; }; }; diff --git a/home/aly/default.nix b/home/aly/default.nix index c4a6ed0d..21b84b8f 100644 --- a/home/aly/default.nix +++ b/home/aly/default.nix @@ -1,6 +1,10 @@ { config, pkgs, ... }: { + imports = [ + ../common.nix + ]; + # TODO please change the username & home directory to your own home.username = "aly"; home.homeDirectory = "/home/aly"; @@ -28,79 +32,4 @@ userName = "Aly Raffauf"; 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; } diff --git a/home/common.nix b/home/common.nix new file mode 100644 index 00000000..d1031024 --- /dev/null +++ b/home/common.nix @@ -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; +} \ No newline at end of file diff --git a/home/dustin/default.nix b/home/dustin/default.nix index ee29ac4d..46c1642b 100644 --- a/home/dustin/default.nix +++ b/home/dustin/default.nix @@ -1,63 +1,11 @@ { config, pkgs, ... }: { + imports = [ + ../common.nix + ]; + # TODO please change the username & home directory to your own home.username = "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; } diff --git a/home/nixos/default.nix b/home/nixos/default.nix new file mode 100644 index 00000000..6310a13b --- /dev/null +++ b/home/nixos/default.nix @@ -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"; +} \ No newline at end of file