home-manager and just optimizations
This commit is contained in:
parent
d1713bdc99
commit
280f83488b
6 changed files with 102 additions and 39 deletions
|
|
@ -25,5 +25,7 @@
|
||||||
boot.loader.systemd-boot.enable = true;
|
boot.loader.systemd-boot.enable = true;
|
||||||
boot.loader.efi.canTouchEfiVariables = true;
|
boot.loader.efi.canTouchEfiVariables = true;
|
||||||
|
|
||||||
|
nixpkgs.config.allowUnfree = true;
|
||||||
|
|
||||||
system.stateVersion = "25.11";
|
system.stateVersion = "25.11";
|
||||||
}
|
}
|
||||||
|
|
|
||||||
|
|
@ -1,44 +1,8 @@
|
||||||
{ ... }:
|
{ ... }:
|
||||||
|
|
||||||
let
|
let
|
||||||
flakeText = ''
|
flakeText = (builtins.readFile ../../templates/home-flake.nix);
|
||||||
{
|
homeText = (builtins.readFile ../../templates/home-home.nix);
|
||||||
description = "Home Manager configuration of admin";
|
|
||||||
|
|
||||||
inputs = {
|
|
||||||
nixpkgs.url = "github:nixos/nixpkgs/nixos-unstable";
|
|
||||||
home-manager = {
|
|
||||||
url = "github:nix-community/home-manager";
|
|
||||||
inputs.nixpkgs.follows = "nixpkgs";
|
|
||||||
};
|
|
||||||
};
|
|
||||||
|
|
||||||
outputs = { nixpkgs, home-manager, ... }: {
|
|
||||||
homeConfigurations."admin" = home-manager.lib.homeManagerConfiguration {
|
|
||||||
pkgs = nixpkgs.legacyPackages.x86_64-linux;
|
|
||||||
modules = [ ./home.nix ];
|
|
||||||
};
|
|
||||||
};
|
|
||||||
}
|
|
||||||
'';
|
|
||||||
|
|
||||||
homeText = ''
|
|
||||||
{ config, pkgs, ... }:
|
|
||||||
|
|
||||||
{
|
|
||||||
home.username = "admin";
|
|
||||||
home.homeDirectory = "/home/admin";
|
|
||||||
home.stateVersion = "25.05";
|
|
||||||
|
|
||||||
home.packages = [ pkgs.ptyxis ];
|
|
||||||
|
|
||||||
home.file = { };
|
|
||||||
|
|
||||||
home.sessionVariables = { };
|
|
||||||
|
|
||||||
programs.home-manager.enable = true;
|
|
||||||
}
|
|
||||||
'';
|
|
||||||
in
|
in
|
||||||
{
|
{
|
||||||
environment.etc = {
|
environment.etc = {
|
||||||
|
|
|
||||||
|
|
@ -3,8 +3,10 @@
|
||||||
{
|
{
|
||||||
# Baseline system tools available everywhere; users run Home Manager standalone.
|
# Baseline system tools available everywhere; users run Home Manager standalone.
|
||||||
config.environment.systemPackages = lib.mkAfter [
|
config.environment.systemPackages = lib.mkAfter [
|
||||||
pkgs.home-manager
|
|
||||||
pkgs.ghostty
|
pkgs.ghostty
|
||||||
|
pkgs.home-manager
|
||||||
|
pkgs.just
|
||||||
pkgs.libnotify
|
pkgs.libnotify
|
||||||
|
pkgs.micro
|
||||||
];
|
];
|
||||||
}
|
}
|
||||||
|
|
|
||||||
|
|
@ -68,6 +68,7 @@ mkdir -p "$HOME/.config/home-manager"
|
||||||
for f in flake.nix home.nix; do
|
for f in flake.nix home.nix; do
|
||||||
if [ -f "/etc/skel/.config/home-manager/$f" ] && [ ! -e "$HOME/.config/home-manager/$f" ]; then
|
if [ -f "/etc/skel/.config/home-manager/$f" ] && [ ! -e "$HOME/.config/home-manager/$f" ]; then
|
||||||
cp "/etc/skel/.config/home-manager/$f" "$HOME/.config/home-manager/$f"
|
cp "/etc/skel/.config/home-manager/$f" "$HOME/.config/home-manager/$f"
|
||||||
|
chmod u+rw "$HOME/.config/home-manager/$f"
|
||||||
fi
|
fi
|
||||||
done
|
done
|
||||||
|
|
||||||
|
|
|
||||||
18
templates/home-flake.nix
Normal file
18
templates/home-flake.nix
Normal file
|
|
@ -0,0 +1,18 @@
|
||||||
|
{
|
||||||
|
description = "Home Manager configuration of admin";
|
||||||
|
|
||||||
|
inputs = {
|
||||||
|
nixpkgs.url = "github:nixos/nixpkgs/nixos-unstable";
|
||||||
|
home-manager = {
|
||||||
|
url = "github:nix-community/home-manager";
|
||||||
|
inputs.nixpkgs.follows = "nixpkgs";
|
||||||
|
};
|
||||||
|
};
|
||||||
|
|
||||||
|
outputs = { nixpkgs, home-manager, ... }: {
|
||||||
|
homeConfigurations."admin" = home-manager.lib.homeManagerConfiguration {
|
||||||
|
pkgs = nixpkgs.legacyPackages.x86_64-linux;
|
||||||
|
modules = [ ./home.nix ];
|
||||||
|
};
|
||||||
|
};
|
||||||
|
}
|
||||||
76
templates/home-home.nix
Normal file
76
templates/home-home.nix
Normal file
|
|
@ -0,0 +1,76 @@
|
||||||
|
{ config, pkgs, ... }:
|
||||||
|
|
||||||
|
{
|
||||||
|
home.username = "admin";
|
||||||
|
home.homeDirectory = "/home/admin";
|
||||||
|
home.stateVersion = "25.05";
|
||||||
|
|
||||||
|
nixpkgs.config.allowUnfree = true;
|
||||||
|
|
||||||
|
programs.vscode = {
|
||||||
|
enable = true;
|
||||||
|
|
||||||
|
# Choose between VS Code and Codium:
|
||||||
|
# package = pkgs.vscode;
|
||||||
|
package = pkgs.vscodium;
|
||||||
|
|
||||||
|
# You can declaratively enable extensions here:
|
||||||
|
profiles.default.extensions = with pkgs.vscode-extensions; [
|
||||||
|
dracula-theme.theme-dracula
|
||||||
|
yzhang.markdown-all-in-one
|
||||||
|
];
|
||||||
|
};
|
||||||
|
|
||||||
|
# programs.emacs.enable = true
|
||||||
|
# programs.vim.enable = true
|
||||||
|
# programs.neovim.enable = true
|
||||||
|
|
||||||
|
home.packages = with pkgs; [
|
||||||
|
|
||||||
|
# decibels # default GNOME audio player
|
||||||
|
gnome-calendar # default GNOME calendar
|
||||||
|
# gnome-contacts # default GNOME contacts
|
||||||
|
|
||||||
|
firefox # Mozilla web browser
|
||||||
|
# google-chrome # web browser from Google
|
||||||
|
# chromium # open source web browser from Google
|
||||||
|
# brave # privacy oriented web browser
|
||||||
|
# opera # fast alternative web browser
|
||||||
|
# vivaldi # powerful and personal web browser
|
||||||
|
|
||||||
|
thunderbird # full-featured Mozilla e-mail client
|
||||||
|
# geary # default GNOME email client
|
||||||
|
|
||||||
|
ptyxis # container aware GNOME terminal
|
||||||
|
# alacritty # GPU accelerated terminal emulator
|
||||||
|
# kitty # GPU accelerated terminal emulator
|
||||||
|
|
||||||
|
jetbrains-toolbox # fresh versions of Android Studio and other tools
|
||||||
|
# devpod # open-source code spaces
|
||||||
|
|
||||||
|
];
|
||||||
|
|
||||||
|
home.file = {
|
||||||
|
".justfile".text = ''
|
||||||
|
[no-cd]
|
||||||
|
manage:
|
||||||
|
$EDITOR ~/.config/home-manager/home.nix
|
||||||
|
|
||||||
|
[no-cd]
|
||||||
|
switch:
|
||||||
|
home-manager switch --flake ~/.config/home-manager#$USER
|
||||||
|
|
||||||
|
[no-cd]
|
||||||
|
rebuild:
|
||||||
|
sudo nixos-rebuild switch --flake /etc/nixos#local-$HOSTNAME
|
||||||
|
|
||||||
|
[no-cd]
|
||||||
|
clean:
|
||||||
|
nix-collect-garbage -d
|
||||||
|
'';
|
||||||
|
};
|
||||||
|
|
||||||
|
home.sessionVariables = { };
|
||||||
|
|
||||||
|
programs.home-manager.enable = true;
|
||||||
|
}
|
||||||
Loading…
Add table
Add a link
Reference in a new issue