home-manager and just optimizations

This commit is contained in:
randogoth 2026-02-02 21:30:08 +02:00
parent d1713bdc99
commit 280f83488b
6 changed files with 102 additions and 39 deletions

View file

@ -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";
} }

View file

@ -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 = {

View file

@ -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
]; ];
} }

View file

@ -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
View 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
View 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;
}