WIP: refactor pt. 2

This commit is contained in:
Yuri Tatishchev 2025-06-01 18:39:00 -07:00
parent f3aaac2f4d
commit fd4ce0cdc4
Signed by: CaZzzer
SSH Key Fingerprint: SHA256:sqXB3fe0LMpfH+IeM/vlmxKdso52kssrIJBlwKXVe1U
3 changed files with 15 additions and 108 deletions

View File

@ -24,7 +24,19 @@
};
};
outputs = { self, nixpkgs, home-manager, plasma-manager, nixos-generators, secrix }: {
outputs = { self, nixpkgs, home-manager, plasma-manager, nixos-generators, secrix }:
let
hmModule = {
home-manager.useGlobalPkgs = true;
home-manager.useUserPackages = true;
home-manager.sharedModules = [ plasma-manager.homeManagerModules.plasma-manager ];
home-manager.users.cazzzer = import ./home;
# Optionally, use home-manager.extraSpecialArgs to pass
# arguments to home.nix
};
in
{
apps.x86_64-linux.secrix = secrix.secrix self;
nixosConfigurations = {
@ -38,15 +50,7 @@
./users/cazzzer
# https://nix-community.github.io/home-manager/index.xhtml#sec-flakes-nixos-module
home-manager.nixosModules.home-manager
{
home-manager.useGlobalPkgs = true;
home-manager.useUserPackages = true;
home-manager.sharedModules = [ plasma-manager.homeManagerModules.plasma-manager ];
home-manager.users.cazzzer = import ./home;
# Optionally, use home-manager.extraSpecialArgs to pass
# arguments to home.nix
}
hmModule
];
};
Yura-TPX13 = nixpkgs.lib.nixosSystem {
@ -59,15 +63,7 @@
./users/cazzzer
# https://nix-community.github.io/home-manager/index.xhtml#sec-flakes-nixos-module
home-manager.nixosModules.home-manager
{
home-manager.useGlobalPkgs = true;
home-manager.useUserPackages = true;
home-manager.sharedModules = [ plasma-manager.homeManagerModules.plasma-manager ];
home-manager.users.cazzzer = import ./home;
# Optionally, use home-manager.extraSpecialArgs to pass
# arguments to home.nix
}
hmModule
];
};
VM = nixpkgs.lib.nixosSystem {

View File

@ -1,16 +0,0 @@
{ config, lib, pkgs, ... }:
let
cfg = config.opts.desktop;
in
{
options = {
opts.desktop = {
enable = lib.mkEnableOption "desktop environment";
pipewire.enable = lib.mkOption {
type = lib.types.bool;
default = true;
description = "Enable pipewire for audio and screen sharing support";
};
};
};
}

View File

@ -1,73 +0,0 @@
{ config, lib, pkgs, ... }:
let
cfg = config.opts.tools;
in
{
options = {
opts.tools = {
enable = lib.mkEnableOption "common tools";
ide.enable = lib.mkOption {
type = lib.types.bool;
default = true;
description = "jetbrains and other visual IDEs";
};
dev.enable = lib.mkOption {
type = lib.types.bool;
default = true;
description = "programming languages and environments";
};
};
};
config = lib.mkIf cfg.enable {
environment.systemPackages = with pkgs;[
dust
eza
fastfetch
fd
helix
micro
openssl
ripgrep
starship
tealdeer
transcrypt
] ++
lib.optionals cfg.ide.enable [
# jetbrains.rust-rover
# jetbrains.goland
jetbrains.clion
jetbrains.idea-ultimate
jetbrains.pycharm-professional
jetbrains.webstorm
android-studio
zed-editor
] ++
lib.optionals cfg.dev.enable [
# Rust
rustup
# Python
python3
poetry
# Haskell
haskellPackages.ghc
haskellPackages.stack
# Node
nodejs_22
pnpm
bun
# Nix
nil
nixd
nixfmt-rfc-style
# Gleam
gleam
beamMinimal26Packages.erlang
];
};
}