reconfigured how home manager gets applied
This commit is contained in:
parent
26b231a329
commit
ff295dc7ac
|
@ -30,6 +30,7 @@
|
|||
- Look into this for flake templates https://nix.dev/manual/nix/2.22/command-ref/new-cli/nix3-flake-init
|
||||
- Look into this for headscale https://carlosvaz.com/posts/setting-up-headscale-on-nixos/
|
||||
- Look into this for home assistant configuration https://nixos.wiki/wiki/Home_Assistant https://myme.no/posts/2021-11-25-nixos-home-assistant.html
|
||||
- This person seams to know what they are doing with home manager https://github.com/arvigeus/nixos-config/
|
||||
|
||||
## Configuration
|
||||
set up git configuration for local development: `git config --local include.path .gitconfig`
|
||||
|
|
14
flake.nix
14
flake.nix
|
@ -71,13 +71,13 @@
|
|||
modules = [
|
||||
./hosts/horizon/configuration.nix
|
||||
nixos-hardware.nixosModules.framework-11th-gen-intel
|
||||
home-manager.nixosModules.default
|
||||
# {
|
||||
# home-manager.useGlobalPkgs = true;
|
||||
# home-manager.useUserPackages = true;
|
||||
# home-manager.extraSpecialArgs = { inherit inputs; };
|
||||
# home-manager.users = import ./users;
|
||||
# }
|
||||
home-manager.nixosModules.home-manager
|
||||
{
|
||||
home-manager.useGlobalPkgs = true;
|
||||
home-manager.useUserPackages = true;
|
||||
home-manager.backupFileExtension = "backup";
|
||||
home-manager.extraSpecialArgs = { inherit inputs; };
|
||||
}
|
||||
];
|
||||
};
|
||||
# Leyla Desktop
|
||||
|
|
|
@ -14,6 +14,10 @@
|
|||
../../enviroments/client
|
||||
];
|
||||
|
||||
home-manager.users.leyla.config = {
|
||||
isFullUser = true;
|
||||
};
|
||||
|
||||
users = {
|
||||
leyla.isFullUser = true;
|
||||
ester.isFullUser = true;
|
||||
|
|
|
@ -4,4 +4,5 @@
|
|||
users.mutableUsers = false;
|
||||
|
||||
home-manager.extraSpecialArgs = {inherit inputs;};
|
||||
home-manager.users = import ./home.nix;
|
||||
}
|
||||
|
|
5
users/home.nix
Normal file
5
users/home.nix
Normal file
|
@ -0,0 +1,5 @@
|
|||
{
|
||||
leyla = import ./leyla/home.nix;
|
||||
# ester = import ./ester/home.nix;
|
||||
# eve = import ./eve/home.nix;
|
||||
}
|
|
@ -6,9 +6,9 @@
|
|||
}: let
|
||||
cfg = config.users.leyla;
|
||||
in {
|
||||
imports = [
|
||||
./packages.nix
|
||||
];
|
||||
# imports = [
|
||||
# ./packages.nix
|
||||
# ];
|
||||
|
||||
options.users.leyla = {
|
||||
isFullUser = lib.mkEnableOption "create usable leyla user";
|
||||
|
@ -69,6 +69,6 @@ in {
|
|||
];
|
||||
};
|
||||
|
||||
home-manager.users.leyla = lib.mkIf (cfg.isFullUser || cfg.isThinUser) (import ./home.nix);
|
||||
# home-manager.users.leyla = lib.mkIf (cfg.isFullUser || cfg.isThinUser) (import ./home.nix);
|
||||
};
|
||||
}
|
||||
|
|
|
@ -1,8 +1,20 @@
|
|||
{
|
||||
lib,
|
||||
config,
|
||||
pkgs,
|
||||
...
|
||||
}: {
|
||||
imports = [
|
||||
./packages.nix
|
||||
];
|
||||
|
||||
options = {
|
||||
isFullUser = lib.mkEnableOption "create usable leyla user";
|
||||
isThinUser = lib.mkEnableOption "create usable user but witohut user applications";
|
||||
hasGPU = lib.mkEnableOption "installs gpu intensive programs";
|
||||
};
|
||||
|
||||
config = {
|
||||
# Home Manager needs a bit of information about you and the paths it should
|
||||
# manage.
|
||||
home = {
|
||||
|
@ -257,4 +269,5 @@
|
|||
};
|
||||
};
|
||||
};
|
||||
};
|
||||
}
|
||||
|
|
|
@ -1,17 +1,12 @@
|
|||
{
|
||||
lib,
|
||||
config,
|
||||
osConfig,
|
||||
pkgs,
|
||||
inputs,
|
||||
...
|
||||
}: let
|
||||
cfg = config.users.leyla;
|
||||
in {
|
||||
imports = [
|
||||
../../overlays/intellij.nix
|
||||
../../overlays/vscodium.nix
|
||||
];
|
||||
|
||||
}:
|
||||
{
|
||||
nixpkgs = {
|
||||
overlays = [
|
||||
inputs.nix-vscode-extensions.overlays.default
|
||||
|
@ -19,67 +14,29 @@ in {
|
|||
};
|
||||
|
||||
programs = {
|
||||
bash.shellAliases = lib.mkIf cfg.isFullUser {
|
||||
bash.shellAliases = lib.mkIf config.isFullUser {
|
||||
code = "codium";
|
||||
};
|
||||
|
||||
steam = lib.mkIf cfg.isFullUser {
|
||||
vscode = let
|
||||
extensions = inputs.nix-vscode-extensions.extensions.${pkgs.system};
|
||||
open-vsx = extensions.open-vsx;
|
||||
vscode-marketplace = extensions.vscode-marketplace;
|
||||
in
|
||||
{
|
||||
enable = true;
|
||||
remotePlay.openFirewall = true; # Open ports in the firewall for Steam Remote Play
|
||||
dedicatedServer.openFirewall = true; # Open ports in the firewall for Source Dedicated Server
|
||||
|
||||
package = pkgs.vscodium;
|
||||
|
||||
mutableExtensionsDir = false;
|
||||
enableUpdateCheck = false;
|
||||
enableExtensionUpdateCheck = false;
|
||||
|
||||
userSettings = {
|
||||
"workbench.colorTheme" = "Atom One Dark";
|
||||
};
|
||||
|
||||
noisetorch.enable = cfg.isFullUser;
|
||||
|
||||
adb.enable = cfg.isFullUser;
|
||||
};
|
||||
|
||||
users.users.leyla.packages = lib.mkIf (cfg.isFullUser || cfg.isThinUser) (
|
||||
lib.mkMerge [
|
||||
(
|
||||
with pkgs; [
|
||||
# comand line tools
|
||||
yt-dlp
|
||||
ffmpeg
|
||||
imagemagick
|
||||
]
|
||||
)
|
||||
(
|
||||
lib.mkIf (!cfg.isThinUser) (
|
||||
with pkgs; [
|
||||
#foss platforms
|
||||
signal-desktop
|
||||
bitwarden
|
||||
firefox
|
||||
ungoogled-chromium
|
||||
libreoffice
|
||||
inkscape
|
||||
gimp
|
||||
krita
|
||||
freecad
|
||||
# cura
|
||||
kicad-small
|
||||
makemkv
|
||||
transmission_4-gtk
|
||||
onionshare
|
||||
easytag
|
||||
# rhythmbox
|
||||
(lib.mkIf cfg.hasGPU obs-studio)
|
||||
# wireshark
|
||||
# rpi-imager
|
||||
# fritzing
|
||||
|
||||
# proprietary platforms
|
||||
discord
|
||||
obsidian
|
||||
steam
|
||||
(lib.mkIf cfg.hasGPU davinci-resolve)
|
||||
|
||||
# development tools
|
||||
(vscode-with-extensions.override {
|
||||
vscode = vscodium;
|
||||
vscodeExtensions = with open-vsx;
|
||||
[
|
||||
extensions = with extensions.open-vsx; [
|
||||
# vs code feel extensions
|
||||
ms-vscode.atom-keybindings
|
||||
akamud.vscode-theme-onedark
|
||||
|
@ -107,13 +64,108 @@ in {
|
|||
# misc extensions
|
||||
bungcip.better-toml
|
||||
|
||||
# the number at the start of the name here doesnt resolve nicely so we have to refernce it as a part of open-vsx directly instead of though with
|
||||
open-vsx."10nates".ollama-autocoder
|
||||
]
|
||||
++ (with vscode-marketplace; [
|
||||
++ (with extensions.vscode-marketplace; [
|
||||
# js extensions
|
||||
karyfoundation.nearley
|
||||
]);
|
||||
})
|
||||
};
|
||||
|
||||
|
||||
# steam = lib.mkIf config.isFullUser {
|
||||
# enable = true;
|
||||
# remotePlay.openFirewall = true; # Open ports in the firewall for Steam Remote Play
|
||||
# dedicatedServer.openFirewall = true; # Open ports in the firewall for Source Dedicated Server
|
||||
# };
|
||||
|
||||
# noisetorch.enable = config.isFullUser;
|
||||
|
||||
# adb.enable = config.isFullUser;
|
||||
};
|
||||
|
||||
home = {
|
||||
packages = lib.mkIf (config.isFullUser || config.isThinUser) (
|
||||
lib.mkMerge [
|
||||
(
|
||||
with pkgs; [
|
||||
# comand line tools
|
||||
yt-dlp
|
||||
ffmpeg
|
||||
imagemagick
|
||||
]
|
||||
)
|
||||
(
|
||||
lib.mkIf (!config.isThinUser) (
|
||||
with pkgs; [
|
||||
#foss platforms
|
||||
signal-desktop
|
||||
bitwarden
|
||||
firefox
|
||||
ungoogled-chromium
|
||||
libreoffice
|
||||
inkscape
|
||||
gimp
|
||||
krita
|
||||
freecad
|
||||
# cura
|
||||
kicad-small
|
||||
makemkv
|
||||
transmission_4-gtk
|
||||
onionshare
|
||||
easytag
|
||||
# rhythmbox
|
||||
(lib.mkIf config.hasGPU obs-studio)
|
||||
# wireshark
|
||||
# rpi-imager
|
||||
# fritzing
|
||||
|
||||
# proprietary platforms
|
||||
discord
|
||||
obsidian
|
||||
steam
|
||||
(lib.mkIf config.hasGPU davinci-resolve)
|
||||
|
||||
# development tools
|
||||
# (vscode-with-extensions.override {
|
||||
# vscode = vscodium;
|
||||
# vscodeExtensions = with open-vsx;
|
||||
# [
|
||||
# # vs code feel extensions
|
||||
# ms-vscode.atom-keybindings
|
||||
# akamud.vscode-theme-onedark
|
||||
# streetsidesoftware.code-spell-checker
|
||||
# streetsidesoftware.code-spell-checker-german
|
||||
# streetsidesoftware.code-spell-checker-italian
|
||||
# jeanp413.open-remote-ssh
|
||||
|
||||
# # nix extensions
|
||||
# pinage404.nix-extension-pack
|
||||
# jnoortheen.nix-ide
|
||||
|
||||
# # html extensions
|
||||
# formulahendry.auto-rename-tag
|
||||
# ms-vscode.live-server
|
||||
|
||||
# # js extensions
|
||||
# dsznajder.es7-react-js-snippets
|
||||
# dbaeumer.vscode-eslint
|
||||
# standard.vscode-standard
|
||||
# firsttris.vscode-jest-runner
|
||||
# stylelint.vscode-stylelint
|
||||
# tauri-apps.tauri-vscode
|
||||
|
||||
# # misc extensions
|
||||
# bungcip.better-toml
|
||||
|
||||
# open-vsx."10nates".ollama-autocoder
|
||||
# ]
|
||||
# ++ (with vscode-marketplace; [
|
||||
# # js extensions
|
||||
# karyfoundation.nearley
|
||||
# ]);
|
||||
# })
|
||||
androidStudioPackages.canary
|
||||
jetbrains.idea-community
|
||||
dbeaver-bin
|
||||
|
@ -126,12 +178,13 @@ in {
|
|||
noisetorch
|
||||
|
||||
# hardware managment tools
|
||||
(lib.mkIf config.hardware.piperMouse.enable piper)
|
||||
(lib.mkIf config.hardware.openRGB.enable openrgb)
|
||||
(lib.mkIf config.hardware.viaKeyboard.enable via)
|
||||
(lib.mkIf osConfig.hardware.piperMouse.enable piper)
|
||||
(lib.mkIf osConfig.hardware.openRGB.enable openrgb)
|
||||
(lib.mkIf osConfig.hardware.viaKeyboard.enable via)
|
||||
]
|
||||
)
|
||||
)
|
||||
]
|
||||
);
|
||||
};
|
||||
}
|
||||
|
|
Loading…
Reference in a new issue