1
0
Fork 0
This commit is contained in:
cătălin 2026-02-12 09:02:09 +01:00
commit 433967847a
No known key found for this signature in database
29 changed files with 1251 additions and 335 deletions

View file

@ -1,38 +0,0 @@
pkgs: with pkgs; [
vim
wget
git
tmux
eza
bat
jq
curl
atuin
leaf
dotter
kubectl
k9s
trashy
krew
pre-commit
devenv
git-cliff
difftastic
unzip
hadolint
docker-compose
delta
bottom
bat
dust
popeye
kubecolor
kubeconform
kube-score
uv
neovim
ncdu
direnv
asciinema
yq
]

8
nix/flake.lock generated
View file

@ -139,16 +139,16 @@
]
},
"locked": {
"lastModified": 1747688870,
"narHash": "sha256-ypL9WAZfmJr5V70jEVzqGjjQzF0uCkz+AFQF7n9NmNc=",
"lastModified": 1763992789,
"narHash": "sha256-WHkdBlw6oyxXIra/vQPYLtqY+3G8dUVZM8bEXk0t8x4=",
"owner": "nix-community",
"repo": "home-manager",
"rev": "d5f1f641b289553927b3801580598d200a501863",
"rev": "44831a7eaba4360fb81f2acc5ea6de5fde90aaa3",
"type": "github"
},
"original": {
"owner": "nix-community",
"ref": "release-24.11",
"ref": "release-25.05",
"repo": "home-manager",
"type": "github"
}

View file

@ -12,7 +12,7 @@
inputs.nixpkgs.follows = "nixpkgs";
};
home-manager = {
url = "github:nix-community/home-manager/release-24.11";
url = "github:nix-community/home-manager/release-25.05";
inputs.nixpkgs.follows = "nixpkgs";
};
};
@ -32,38 +32,47 @@
lib = nixpkgs.lib;
pkgs-unstable = unstable.legacyPackages.${system};
pkgs = nixpkgs.legacyPackages.${system};
mkNixos = host: modules: lib.nixosSystem {
inherit system;
specialArgs = { inherit pkgs-unstable; };
modules = [
./hosts/${host}/configuration.nix
home-manager.nixosModules.home-manager
{
home-manager.useGlobalPkgs = true;
home-manager.useUserPackages = true;
home-manager.users.catalin = import ./home;
home-manager.extraSpecialArgs = { inherit pkgs-unstable; };
}
] ++ modules;
};
# Helper for Home Manager configurations (non-NixOS)
mkHome = host: user: modules: home-manager.lib.homeManagerConfiguration {
inherit pkgs;
modules = [
./home
{
home.username = user;
home.homeDirectory = "/home/${user}";
}
] ++ modules;
extraSpecialArgs = { inherit pkgs-unstable; };
};
in
{
nixosConfigurations = {
limgrave = lib.nixosSystem {
inherit system;
specialArgs = { inherit pkgs-unstable; };
modules = [
./hosts/limgrave/configuration.nix
nix-snapd.nixosModules.default
autofirma-nix.nixosModules.default
home-manager.nixosModules.home-manager
];
};
carpates = lib.nixosSystem {
inherit system;
specialArgs = { inherit pkgs-unstable; };
modules = [
./hosts/carpates/configuration.nix
home-manager.nixosModules.home-manager
];
};
limgrave = mkNixos "limgrave" [
nix-snapd.nixosModules.default
autofirma-nix.nixosModules.default
];
};
# Home Manager configurations for non-NixOS hosts (e.g., Ubuntu)
homeConfigurations = {
# For non-NixOS usage on a machine named "carpates".
# Run: home-manager switch --flake ./nix#carpates
carpates = home-manager.lib.homeManagerConfiguration {
inherit pkgs;
modules = [ ./hosts/carpates/home.nix ];
};
# For non-NixOS usage. Run: home-manager switch --flake ./nix#catalin@ubuntu
"catalin@limgrave" = mkHome "limgrave" "catalin" [ ];
};
};
}

59
nix/home/default.nix Normal file
View file

@ -0,0 +1,59 @@
{ pkgs, ... }: {
imports = [
./packages.nix
];
home.stateVersion = "24.11";
programs.fish = {
enable = true;
};
programs.bash = {
enable = true;
initExtra = ''
if [[ $(${pkgs.procps}/bin/ps --no-header --pid=$PPID --format=comm) != "fish" && -z ''${BASH_EXECUTION_STRING} ]]
then
shopt -q login_shell && LOGIN_OPTION='--login' || LOGIN_OPTION=""
exec ${pkgs.fish}/bin/fish $LOGIN_OPTION
fi
'';
};
programs.gnome-shell = {
enable = true;
extensions = [{ package = pkgs.gnomeExtensions.gsconnect; }];
};
dconf.settings = {
"org/gnome/shell" = {
disable-user-extensions = false;
enabled-extensions = with pkgs.gnomeExtensions; [
gsconnect.extensionUuid
user-themes.extensionUuid
caffeine.extensionUuid
colosseum.extensionUuid
dash-to-dock.extensionUuid
clipboard-indicator.extensionUuid
emoji-copy.extensionUuid
bluetooth-battery-meter.extensionUuid
];
};
};
home.packages = with pkgs; [
gnomeExtensions.user-themes
gnomeExtensions.caffeine
gnomeExtensions.colosseum
gnomeExtensions.dash-to-dock
gnomeExtensions.clipboard-indicator
gnomeExtensions.emoji-copy
gnomeExtensions.gsconnect
gnomeExtensions.bluetooth-battery-meter
gnome-tweaks
catppuccin-gtk
catppuccin-cursors
catppuccin-papirus-folders
catppuccin-grub
];
}

39
nix/home/packages.nix Normal file
View file

@ -0,0 +1,39 @@
{ pkgs, ... }: {
home.packages = with pkgs; [
vim
wget
git
tmux
eza
bat
jq
curl
atuin
leaf
dotter
kubectl
k9s
trashy
krew
pre-commit
devenv
git-cliff
difftastic
unzip
hadolint
docker-compose
delta
bottom
dust
popeye
kubecolor
kubeconform
kube-score
uv
neovim
ncdu
direnv
asciinema
yq
];
}

View file

@ -1,37 +0,0 @@
{ config, pkgs, pkgs-unstable, ... }:
{
imports = [
./hardware-configuration.nix
];
# Basic system metadata
networking.hostName = "carpates";
time.timeZone = "Europe/Madrid";
i18n.defaultLocale = "en_US.UTF-8";
# Nix settings
nix.settings.experimental-features = [ "nix-command" "flakes" ];
nixpkgs.config = {
allowUnfree = true;
allowBroken = false;
};
# Users
users.users.catalin = {
isNormalUser = true;
description = "catalin";
shell = pkgs.fish;
extraGroups = [ "networkmanager" "wheel" ];
};
# Minimal services
networking.networkmanager.enable = true;
services.openssh.enable = true;
# Base CLI set only (shared across hosts)
environment.systemPackages = import ../../base/packages.nix pkgs;
programs.fish.enable = true;
system.stateVersion = "24.11";
}

View file

@ -1,27 +0,0 @@
{ config, pkgs, ... }:
{
# Home Manager configuration for non-NixOS usage on host "carpates".
# Apply with:
# home-manager switch --flake ./nix#carpates
home.username = "catalin";
home.homeDirectory = "/home/catalin";
# Use the same base CLI set as all hosts
home.packages = import ../../base/packages.nix pkgs;
programs.fish.enable = true;
# Example: some common quality-of-life programs
programs.git = {
enable = true;
userName = "catalin";
userEmail = ""; # set if desired
};
# Make sure HM itself can manage its state
programs.home-manager.enable = true;
# Set the HM release; doesn't have to match NixOS release
home.stateVersion = "24.11";
}

View file

@ -40,47 +40,6 @@
allowedUDPPortRanges = allowedTCPPortRanges;
};
home-manager.users.catalin = {
programs.gnome-shell = {
enable = true;
extensions = [{ package = pkgs.gnomeExtensions.gsconnect; }];
};
dconf = {
enable = true;
settings."org/gnome/shell" = {
disable-user-extensions = false;
enabled-extensions = with pkgs.gnomeExtensions; [
gsconnect.extensionUuid
user-themes.extensionUuid
caffeine.extensionUuid
colosseum.extensionUuid
dash-to-dock.extensionUuid
clipboard-indicator.extensionUuid
emoji-copy.extensionUuid
bluetooth-battery-meter.extensionUuid
];
};
};
home = {
stateVersion = "24.11";
enableNixpkgsReleaseCheck = false;
packages = with pkgs; [
gnomeExtensions.user-themes
gnomeExtensions.caffeine
gnomeExtensions.colosseum
gnomeExtensions.dash-to-dock
gnomeExtensions.clipboard-indicator
gnomeExtensions.emoji-copy
gnomeExtensions.gsconnect
gnomeExtensions.bluetooth-battery-meter
gnome-tweaks
catppuccin-gtk
catppuccin-cursors
catppuccin-papirus-folders
catppuccin-grub
];
};
};
services.xserver = {
enable = true;
@ -122,41 +81,15 @@
enable = true;
firefoxIntegration.enable = true;
};
programs.dnieremote = {
enable = true;
jumpIntro = "no";
wifiPort = 9501;
usbPort = 9501;
openFirewall = false;
};
programs.configuradorfnmt = {
enable = true;
firefoxIntegration.enable = true;
};
# Configure Firefox PKCS#11 modules for DNIe and OpenSC
programs.firefox.policies = {
SecurityDevices = {
"OpenSC PKCS#11" = "${pkgs.opensc}/lib/opensc-pkcs11.so";
"DNIeRemote" = "${config.programs.dnieremote.finalPackage}/lib/libdnieremotepkcs11.so";
};
};
nixpkgs.config.allowUnfree = true;
services.flatpak.enable = true;
programs.nix-ld.enable = true;
# Merge base packages with host-specific packages
environment.systemPackages = (import ../../base/packages.nix pkgs) ++ (import ./packages.nix pkgs);
environment.systemPackages = import ./packages.nix pkgs;
programs = {
bash = {
interactiveShellInit = ''
if [[ $(${pkgs.procps}/bin/ps --no-header --pid=$PPID --format=comm) != "fish" && -z ''${BASH_EXECUTION_STRING} ]]
then
shopt -q login_shell && LOGIN_OPTION='--login' || LOGIN_OPTION=""
exec ${pkgs.fish}/bin/fish $LOGIN_OPTION
fi
'';
};
fish.enable = true;
steam = {
enable = true;

View file

@ -77,6 +77,6 @@
# networking.interfaces.docker0.useDHCP = lib.mkDefault true;
# networking.interfaces.eno1.useDHCP = lib.mkDefault true;
nixpkgs.hostPlatform = lib.mkDefault "x86_64-linux";
nixpkgs.hostPlatform = "x86_64-linux";
hardware.cpu.amd.updateMicrocode = lib.mkDefault config.hardware.enableRedistributableFirmware;
}

View file

@ -2,7 +2,6 @@ pkgs: with pkgs; [
kitty
steam
steam-run
vesktop
python311
protonup-qt
jellyfin-media-player
@ -14,7 +13,7 @@ pkgs: with pkgs; [
fishPlugins.done
fishPlugins.colored-man-pages
lutris
telegram-desktop
ayugram-desktop
restic
bitwarden
pre-commit
@ -66,12 +65,10 @@ pkgs: with pkgs; [
appimage-run
coder
xcolor
signal-desktop
element-desktop
pavucontrol
samrewritten
audacity
mullvad-browser
mullvad-vpn
limo
protontricks
nmap
terragrunt
discord
]