feat(nix): Functional system-manager

This commit is contained in:
Ahmad Ansori Palembani 2024-10-18 13:20:27 +07:00
parent 21429963ef
commit 0e80eb3083
Signed by: null2264
GPG key ID: BA64F8B60AF3EFB6
8 changed files with 69 additions and 103 deletions

View file

@ -8,43 +8,36 @@
# NOTE: List packages installed in system profile. To search by name, run:
# `nix-env -qaP | grep wget`
environment.systemPackages =
let
python = (pkgs.python312Full.withPackages (py: [
py.pip
py.tkinter
py.dnspython
]));
in
common.packages ++ [
pkgs.git
pkgs.vim
pkgs.neovim
pkgs.pass
pkgs.passExtensions.pass-otp
pkgs.gnupg
pkgs.htop-vim
python
(pkgs.inkscape.override { python3 = python; })
#(pkgs.poetry.override { python3 = python; })
pkgs.fastfetch
pkgs.eza
pkgs.lf
pkgs.wimlib
pkgs.google-cloud-sdk
pkgs.nmap
pkgs.cargo
pkgs.android-tools
pkgs.coreutils-full
pkgs.rclone
(pkgs.yt-dlp.override { withAlias = true; })
pkgs.zoxide
# >> For macOS only
] ++ pkgs.lib.optionals (pkgs.stdenv.isDarwin) [
pkgs.duti
pkgs.pinentry_mac
pkgs.iina
];
# << For macOS only
common.packages ++ [
pkgs.git
pkgs.vim
pkgs.neovim
pkgs.pass
pkgs.passExtensions.pass-otp
pkgs.gnupg
pkgs.htop-vim
common.custom.python
(pkgs.inkscape.override { python3 = common.custom.python; })
#(pkgs.poetry.override { python3 = common.custom.python; })
pkgs.fastfetch
pkgs.eza
pkgs.lf
pkgs.wimlib
pkgs.google-cloud-sdk
pkgs.nmap
pkgs.cargo
pkgs.android-tools
pkgs.coreutils-full
pkgs.rclone
(pkgs.yt-dlp.override { withAlias = true; })
pkgs.zoxide
# >> For macOS only
] ++ pkgs.lib.optionals (pkgs.stdenv.isDarwin) [
pkgs.duti
pkgs.pinentry_mac
pkgs.iina
];
# << For macOS only
# Auto upgrade nix package and the daemon service.
services.nix-daemon.enable = true;

View file

@ -1,59 +0,0 @@
{ pkgs, config, vars, common, ... }:
{
# NOTE: List packages installed in system profile. To search by name, run:
# `nix-env -qaP | grep wget`
environment.systemPackages =
let
python = (pkgs.python312Full.withPackages (py: [
py.pip
py.tkinter
py.dnspython
]));
in
common.packages ++ [
pkgs.zsh
pkgs.git
pkgs.vim
pkgs.neovim
pkgs.pass
pkgs.passExtensions.pass-otp
pkgs.gnupg
pkgs.htop-vim
python
(pkgs.inkscape.override { python3 = python; })
#(pkgs.poetry.override { python3 = python; })
pkgs.fastfetch
pkgs.eza
pkgs.lf
pkgs.wimlib
pkgs.google-cloud-sdk
pkgs.nmap
pkgs.cargo
pkgs.android-tools
pkgs.coreutils-full
pkgs.rclone
(pkgs.yt-dlp.override { withAlias = true; })
pkgs.zoxide
];
# Auto upgrade nix package and the daemon service.
services.nix-daemon.enable = true;
#nix.package = pkgs.nix;
# Necessary for using flakes on this system.
nix.settings.experimental-features = "nix-command flakes";
# Create /etc/zshrc that loads the nix-darwin environment.
programs.zsh.enable = true; # default shell on catalina
#programs.fish.enable = true;
# Set Git commit hash for darwin-version.
system.configurationRevision = vars.rev or null;
# Used for backwards compatibility, please read the changelog before changing.
# $ darwin-rebuild changelog
system = {
stateVersion = 4;
};
}

View file

@ -11,10 +11,9 @@ in
common = (mkCommon pkgs);
in
system-manager.lib.makeSystemConfig {
inherit system;
specialArgs = { inherit inputs pkgs vars common; };
extraSpecialArgs = { inherit inputs pkgs vars common; };
modules = [
./configuration.nix
./potato
];
};
}

View file

@ -0,0 +1,16 @@
{ pkgs, config, vars, common, ... }:
{
config = {
system-manager.allowAnyDistro = true;
# NOTE: List packages installed in system profile. To search by name, run:
# `nix-env -qaP | grep wget`
environment.systemPackages =
common.packages ++ [
pkgs.zoxide
];
nixpkgs.hostPlatform = pkgs.system;
};
}