use users module

This commit is contained in:
Dmitriy Kholkin 2022-12-10 22:34:39 +03:00
parent e9e6c06f64
commit 346dfd683c
64 changed files with 176 additions and 157 deletions

View File

@ -130,13 +130,13 @@
hostnames = builtins.attrNames (builtins.readDir ./machines);
mkHost = name: {
system = builtins.readFile (./machines + "/${name}/system");
modules = [ (import (./machines + "/${name}")) { device = name; } ];
modules = [ (import (./machines + "/${name}")) { device = name; mainuser = "alukard"; } ];
specialArgs = { inherit inputs; };
};
in (genAttrs hostnames mkHost) // {
AMD-Workstation = {
system = builtins.readFile (./machines + "/AMD-Workstation/system");
modules = [ (import (./machines + "/AMD-Workstation")) { device = "AMD-Workstation"; } ];
modules = [ (import (./machines + "/AMD-Workstation")) { device = "AMD-Workstation"; mainuser = "alukard"; } ];
specialArgs = { inherit inputs; };
channelName = "unstable-zfs";
};
@ -178,13 +178,13 @@
packages = {
Wayland-VM = nixos-generators.nixosGenerate {
system = builtins.readFile (./machines/Wayland-VM/system);
modules = [ (import (./machines/Wayland-VM)) { device = "Wayland-VM"; } ];
modules = [ (import (./machines/Wayland-VM)) { device = "Wayland-VM"; mainuser = "alukard"; } ];
specialArgs = { inherit inputs; };
format = "vm";
};
Hypervisor-VM = nixos-generators.nixosGenerate {
system = builtins.readFile (./machines/Hypervisor-VM/system);
modules = [ (import (./machines/Hypervisor-VM)) { device = "Hypervisor-VM"; } ];
modules = [ (import (./machines/Hypervisor-VM)) { device = "Hypervisor-VM"; mainuser = "alukard"; } ];
specialArgs = { inherit inputs; };
format = "vm";
};

View File

@ -39,25 +39,26 @@
hardware.video.hidpi.enable = lib.mkForce false;
hardware.firmware = [ pkgs.rtl8761b-firmware ];
home-manager.users.alukard.home.packages = lib.mkIf config.deviceSpecific.enableVirtualisation [
inputs.nixos-generators.packages.${pkgs.system}.nixos-generate
home-manager.users.${config.mainuser} = {
home.packages = lib.mkIf config.deviceSpecific.enableVirtualisation [
inputs.nixos-generators.packages.${pkgs.system}.nixos-generate
# pkgs.looking-glass-client
];
home.stateVersion = "21.11";
};
# pkgs.looking-glass-client
];
home-manager.users.alukard.home.stateVersion = "21.11";
system.stateVersion = "21.11";
# VFIO Passthough
# virtualisation = {
# sharedMemoryFiles = {
# # scream = {
# # user = "alukard";
# # user = config.mainuser;
# # group = "qemu-libvirtd";
# # mode = "666";
# # };
# looking-glass = {
# user = "alukard";
# user = config.mainuser;
# group = "libvirtd";
# mode = "666";
# };

View File

@ -46,6 +46,6 @@
# "mem_sleep_default=deep"
# ];
home-manager.users.alukard.home.stateVersion = "21.11";
home-manager.users.${config.mainuser}.home.stateVersion = "21.11";
system.stateVersion = "21.11";
}

View File

@ -167,9 +167,10 @@ in {
fonts.enableDefaultFonts = lib.mkForce false;
fonts.fonts = [ (pkgs.nerdfonts.override { fonts = [ "FiraCode" "VictorMono" ]; }) ];
home-manager.users.alukard.home.packages = with pkgs; [ bat podman-compose ];
home-manager.users.alukard.xdg.mime.enable = false;
home-manager.users.alukard.home.stateVersion = "22.11";
home-manager.users.${config.mainuser} = {
home.packages = with pkgs; [ bat podman-compose ];
xdg.mime.enable = false;
home.stateVersion = "22.11";
};
system.stateVersion = "22.11";
}
}

View File

@ -58,6 +58,6 @@
}];
};
home-manager.users.alukard.home.stateVersion = "21.11";
home-manager.users.${config.mainuser}.home.stateVersion = "21.11";
system.stateVersion = "21.11";
}

View File

@ -54,7 +54,7 @@
networking.hostName = "Wayland-VM";
users.mutableUsers = false;
users.users.alukard = {
users.users.${config.mainuser} = {
isNormalUser = true;
extraGroups = [ "wheel" "video" "input" ];
uid = 1000;
@ -135,7 +135,7 @@
security.polkit.enable = true;
services.getty.autologinUser = "alukard";
services.getty.autologinUser = config.mainuser;
environment.shellAliases = {
ws = "waydroid show-full-ui";

View File

@ -56,7 +56,7 @@ in {
###### Implementation
config.home-manager.users.alukard = mkIf cfg.enable {
config.home-manager.users.${config.mainuser} = mkIf cfg.enable {
systemd.user.services.seadrive-daemon = {
Service = {
Type = "simple";

View File

@ -97,7 +97,7 @@ let
mkIndividualSecrets = name: cfg:
map (x: {
"${name}-envsubst-${x}" = {
encrypted = "${config.home-manager.users.alukard.xdg.dataHome}/password-store/${
encrypted = "${config.home-manager.users.${config.mainuser}.xdg.dataHome}/password-store/${
lib.optionalString (!isNull cfg.directory) "${cfg.directory}/"
}${x}.gpg";
services = [ ];

View File

@ -24,7 +24,7 @@ let
};
user = mkOption {
type = str;
default = "alukard";
default = config.mainuser;
};
owner = mkOption {
type = str;
@ -127,11 +127,11 @@ in {
options.secretsConfig = {
password-store = lib.mkOption {
type = lib.types.path;
default = "${config.home-manager.users.alukard.xdg.dataHome}/password-store";
default = "${config.home-manager.users.${config.mainuser}.xdg.dataHome}/password-store";
};
gnupgHome = lib.mkOption {
type = lib.types.path;
default = "${config.home-manager.users.alukard.xdg.dataHome}/gnupg";
default = "${config.home-manager.users.${config.mainuser}.xdg.dataHome}/gnupg";
};
repo = lib.mkOption {
type = str;
@ -143,14 +143,14 @@ in {
mkMerge (concatLists (mapAttrsToList mkServices config.secrets));
config.security.doas.extraRules = [{
users = [ "alukard" ];
users = [ config.mainuser ];
noPass = true;
keepEnv = true;
cmd = "/run/current-system/sw/bin/systemctl ";
args = [ "restart" ] ++ allServicesMap;
}];
config.home-manager.users.alukard = {
config.home-manager.users.${config.mainuser} = {
systemd.user.services.activate-secrets = {
Service = {
ExecStart = "${activate-secrets}/bin/activate-secrets";

7
modules/users.nix Normal file
View File

@ -0,0 +1,7 @@
{ config, lib, pkgs, ... }:
with lib;
with types; {
options = {
mainuser = mkOption { type = str; };
};
}

View File

@ -43,11 +43,11 @@
VISUAL = config.defaultApplications.editor.cmd;
};
home-manager.users.alukard = {
home-manager.users.${config.mainuser} = {
home.activation."mimeapps-remove" = {
before = [ "checkLinkTargets" ];
after = [ ];
data = "rm -f /home/alukard/.config/mimeapps.list";
data = "rm -f /home/${config.mainuser}/.config/mimeapps.list";
};
xdg.mimeApps = {

View File

@ -8,7 +8,7 @@ with config.deviceSpecific;
# cmd = "${pkgs.alacritty}/bin/alacritty";
# desktop = "alacritty";
# };
home-manager.users.alukard = {
home-manager.users.${config.mainuser} = {
programs.alacritty = {
# enable = isDesktop;
enable = false;

View File

@ -3,7 +3,7 @@ with lib;
let
thm = config.lib.base16.theme;
fonts = config.lib.base16.theme.fonts;
profileName = "alukard";
profileName = config.mainuser;
profilePath = ".mozilla/firefox/${profileName}";
mkUserJs = { prefs ? {}, extraPrefs ? "" }: ''
${extraPrefs}
@ -14,7 +14,7 @@ let
'';
firefox-kpoxa = pkgs.writeShellScriptBin "firefox-kpoxa" ''
${pkgs.firefox-wayland}/bin/firefox -profile /home/alukard/.mozilla/firefox/kpoxa
${pkgs.firefox-wayland}/bin/firefox -profile /home/${config.mainuser}/.mozilla/firefox/kpoxa
'';
in {
environment.sessionVariables = {
@ -28,7 +28,7 @@ in {
desktop = "firefox";
};
home-manager.users.alukard = {
home-manager.users.${config.mainuser} = {
home.packages = [ firefox-kpoxa ];
# Mailvelope GnuPG integration
home.file.".mozilla/native-messaging-hosts/gpgmejson.json".text = ''
@ -69,7 +69,7 @@ in {
enable = true;
package = pkgs.firefox-wayland;
profiles = {
alukard = {
${config.mainuser} = {
id = 0;
userChrome = ''
#TabsToolbar {

View File

@ -1,5 +1,5 @@
{ config, lib, pkgs, ... }: {
home-manager.users.alukard = {
home-manager.users.${config.mainuser} = {
home.packages = [ pkgs.google-drive-ocamlfuse ];
# systemd.user.services.google-drive-ocamlfuse = {
# Service = {

View File

@ -1,10 +1,10 @@
{ config, pkgs, inputs, lib, system, ... }: {
home-manager.users.alukard = {
home-manager.users.${config.mainuser} = {
home.packages = [ pkgs.himalaya ];
xdg.configFile."himalaya/config.toml".text = ''
downloads-dir="/home/alukard/Downloads/mail"
downloads-dir="/home/${config.mainuser}/Downloads/mail"
name="Dmitriy Kholkin"
signature="Regards,"
[ataraxiadev]

View File

@ -7,7 +7,7 @@ in with config.deviceSpecific;
cmd = "${pkgs.kitty}/bin/kitty";
desktop = "kitty";
};
home-manager.users.alukard = {
home-manager.users.${config.mainuser} = {
programs.kitty = {
enable = true;
font.name = "${thm.fonts.mono.family} ${thm.fontSizes.small.str}";

View File

@ -1,5 +1,5 @@
{ lib, pkgs, config, ... }: {
home-manager.users.alukard = lib.mkIf config.deviceSpecific.isGaming {
home-manager.users.${config.mainuser} = lib.mkIf config.deviceSpecific.isGaming {
home.packages = [ pkgs.mangohud ];
xdg.configFile."MangoHud/MangoHud.conf".source = pkgs.writeText "MangoHud.conf" ''
fps_limit=60
@ -36,7 +36,7 @@
text_color=ffffff
toggle_hud=Shift_R+F12
toggle_logging=Shift_L+F2
output_folder=/home/alukard
output_folder=/home/${config.mainuser}
media_player_name=spotify
'';
};

View File

@ -12,7 +12,7 @@
port = 6600
[local]
media_dir = /home/alukard/Music
media_dir = /home/${config.mainuser}/Music
'';
extensionPackages = with pkgs; [
mopidy-local

View File

@ -1,23 +1,23 @@
{ config, lib, pkgs, ... }:
{
home-manager.users.alukard.programs.mpv = {
enable = true;
config = {
vo = "gpu";
gpu-context = "wayland";
save-position-on-quit = "yes";
hwdec = if config.deviceSpecific.devInfo.gpu.vendor == "nvidia" then
"vdpau"
else
"vaapi";
ytdl-format = if config.deviceSpecific.isLaptop then
"bestvideo[height<=?1080]+bestaudio/best"
else
"bestvideo[height<=?2160]+bestaudio/best";
home-manager.users.${config.mainuser} = {
programs.mpv = {
enable = true;
config = {
vo = "gpu";
gpu-context = "wayland";
save-position-on-quit = "yes";
hwdec = if config.deviceSpecific.devInfo.gpu.vendor == "nvidia" then
"vdpau"
else
"vaapi";
ytdl-format = if config.deviceSpecific.isLaptop then
"bestvideo[height<=?1080]+bestaudio/best"
else
"bestvideo[height<=?2160]+bestaudio/best";
};
};
};
home-manager.users.alukard.home.file.".config/yt-dlp/config" = {
text = ''
home.file.".config/yt-dlp/config".text = ''
--cookies-from-browser firefox
--mark-watched
'';

View File

@ -1,5 +1,5 @@
{ pkgs, ... }: {
home-manager.users.alukard.programs.ncmpcpp = {
home-manager.users.${config.mainuser}.programs.ncmpcpp = {
enable = true;
# mpdMusicDir = "$HOME/Music";
settings = {

View File

@ -2,7 +2,7 @@
with config.deviceSpecific; {
programs.adb.enable = true;
home-manager.users.alukard.home.packages = with pkgs; [
home-manager.users.${config.mainuser}.home.packages = with pkgs; [
# cli
a2ln
bat

View File

@ -1,6 +1,6 @@
{ config, pkgs, lib, ... }: {
config = lib.mkIf (config.device == "AMD-Workstation") {
services.ratbagd.enable = true;
home-manager.users.alukard.home.packages = [ pkgs.piper ];
home-manager.users.${config.mainuser}.home.packages = [ pkgs.piper ];
};
}

View File

@ -9,7 +9,7 @@ in
desktop = "rofi";
};
home-manager.users.alukard = {
home-manager.users.${config.mainuser} = {
programs.rofi = {
enable = true;
package = pkgs.rofi-wayland;

View File

@ -1,5 +1,5 @@
{ config, lib, pkgs, ... }: {
home-manager.users.alukard.home.packages = with pkgs; [
home-manager.users.${config.mainuser}.home.packages = with pkgs; [
spotifywm
];
startupApplications = [

View File

@ -9,7 +9,7 @@
# systemd.user.services.x11-ownership = rec {
# # serviceConfig.Type = "oneshot";
# script = ''
# chown alukard /tmp/.X11-unix
# chown ${config.mainuser} /tmp/.X11-unix
# '';
# after = [ "graphical-session.target" ];
# wants = after;
@ -17,7 +17,7 @@
# };
# Start Steam only after the network is up
# home-manager.users.alukard.systemd.user.services.steam-startup = {
# home-manager.users.${config.mainuser}.systemd.user.services.steam-startup = {
# Service = {
# ExecStart = "${pkgs.steam}/bin/steam";
# Type = "oneshot";

View File

@ -1,5 +1,5 @@
{ config, lib, pkgs, ... }: {
home-manager.users.alukard = {
home-manager.users.${config.mainuser} = {
home.packages = [ pkgs.sunshine ];
systemd.user.services.sunshine = {
Unit.Description = "Sunshine is a Gamestream host for Moonlight.";

View File

@ -1,5 +1,5 @@
{ config, pkgs, lib, ... }: {
home-manager.users.alukard = {
home-manager.users.${config.mainuser} = {
services.syncthing.enable = true;
};
}

View File

@ -4,7 +4,7 @@ let
mullvad-exclude ${pkgs.tor-browser-bundle-bin}/bin/tor-browser
'';
in {
home-manager.users.alukard.home.packages = if config.deviceSpecific.wireguard.enable then [
home-manager.users.${config.mainuser}.home.packages = if config.deviceSpecific.wireguard.enable then [
tor-browser
] else [
pkgs.tor-browser-bundle-bin

View File

@ -4,7 +4,7 @@
# desktop = "vivaldi";
# };
home-manager.users.alukard = {
home-manager.users.${config.mainuser} = {
home.packages = with pkgs; [
((vivaldi.overrideAttrs (oldAttrs: rec {
buildInputs = oldAttrs.buildInputs ++ [ pkgs.libglvnd pkgs.pipewire pkgs.wayland ];

View File

@ -3,10 +3,10 @@ let
thmFile = config.lib.base16.templateFile;
thm = config.lib.base16.theme;
EDITOR = pkgs.writeShellScript "code-editor" ''
source "/etc/profiles/per-user/alukard/etc/profile.d/hm-session-vars.sh"
source "/etc/profiles/per-user/${config.mainuser}/etc/profile.d/hm-session-vars.sh"
NIX_OZONE_WL=1 \
exec \
${config.home-manager.users.alukard.programs.vscode.package}/bin/code \
${config.home-manager.users.${config.mainuser}.programs.vscode.package}/bin/code \
-w -n \
"$@"
'';
@ -17,7 +17,7 @@ in
desktop = "code-wayland";
};
home-manager.users.alukard = {
home-manager.users.${config.mainuser} = {
programs.vscode = {
enable = true;
package = pkgs.vscode;
@ -37,7 +37,7 @@ in
cp -R * $out/share/vscode/extensions/direnv.direnv-vscode
'';
}))
(pkgs.callPackage ./theme.nix { } config.lib.base16.theme)
(pkgs.callPackage ./theme.nix { mainuser = config.mainuser; } config.lib.base16.theme)
aaron-bond.better-comments
alefragnani.bookmarks

View File

@ -1,4 +1,4 @@
{ linkFarm }:
{ mainuser, linkFarm }:
{ base00-hex, base01-hex, base02-hex, base03-hex, base04-hex, base05-hex, base06-hex, base07-hex, base08-hex, base09-hex
, base0A-hex, base0B-hex, base0C-hex, base0D-hex, base0E-hex, base0F-hex, ... }:
let
@ -919,7 +919,7 @@ let
name = "theme";
displayName = "Generated theme";
version = "0.0.0";
publisher = "alukard";
publisher = mainuser;
engines.vscode = "^1.22.0";
contributes.themes = [{
label = "Generated theme";
@ -933,7 +933,7 @@ let
};
};
in with builtins;
linkFarm "alukard.theme" (attrValues (mapAttrs (name: value: {
name = "share/vscode/extensions/alukard.theme/${name}";
linkFarm "${mainuser}.theme" (attrValues (mapAttrs (name: value: {
name = "share/vscode/extensions/${mainuser}.theme/${name}";
path = toFile (baseNameOf name) value;
}) theme))

View File

@ -20,6 +20,6 @@ in {
# environment.etc."gbinder.d/anbox.conf".source = lib.mkForce anboxGbinderConf;
virtualisation.waydroid.enable = true;
# virtualisation.lxd.enable = true;
home-manager.users.alukard.home.packages = [ pkgs.waydroid-script ];
home-manager.users.${config.mainuser}.home.packages = [ pkgs.waydroid-script ];
};
}

View File

@ -24,7 +24,7 @@ with deviceSpecific;
"nofail"
"dmode=0755"
"fmode=0644"
"uid=${toString config.users.users.alukard.uid}"
"uid=${toString config.users.users.${config.mainuser}.uid}"
"gid=${toString config.users.groups.smbuser.gid}"
];
};
@ -35,7 +35,7 @@ with deviceSpecific;
options = [
# "noatime"
"nofail"
"uid=${toString config.users.users.alukard.uid}"
"uid=${toString config.users.users.${config.mainuser}.uid}"
"gid=${toString config.users.groups.smbuser.gid}"
];
} else {
@ -44,7 +44,7 @@ with deviceSpecific;
device = "//192.168.0.100/data";
options = [
"credentials=${secrets.samba.decrypted}"
"uid=${toString config.users.users.alukard.uid}"
"uid=${toString config.users.users.${config.mainuser}.uid}"
"gid=${toString config.users.groups.users.gid}"
"vers=3.0"
"nofail"
@ -62,7 +62,7 @@ with deviceSpecific;
options = [
# "noatime"
"nofail"
"uid=${toString config.users.users.alukard.uid}"
"uid=${toString config.users.users.${config.mainuser}.uid}"
"gid=${toString config.users.groups.smbuser.gid}"
];
};
@ -72,7 +72,7 @@ with deviceSpecific;
# device = "//192.168.0.100/files";
# options = [
# "credentials=${secrets.samba.decrypted}"
# "uid=${toString config.users.users.alukard.uid}"
# "uid=${toString config.users.users.${config.mainuser}.uid}"
# "gid=${toString config.users.groups.users.gid}"
# "vers=3.0"
# "nofail"

View File

@ -5,7 +5,7 @@ in {
config = lib.mkIf vpn.enable {
services.mullvad-vpn.enable = true;
services.mullvad-vpn.enableExcludeWrapper = true;
home-manager.users.alukard.home.packages = [ pkgs.mullvad-vpn ];
home-manager.users.${config.mainuser}.home.packages = [ pkgs.mullvad-vpn ];
startupApplications = [ "${pkgs.mullvad-vpn}/share/mullvad/mullvad-gui" ];
};
}

View File

@ -34,14 +34,14 @@ with config.deviceSpecific; {
# "nixos-rocm.cachix.org-1:VEpsf7pRIijjd8csKjFNBGzkBqOmw8H9PRmgAq14LnE="
# "webcord.cachix.org-1:l555jqOZGHd2C9+vS8ccdh8FhqnGe8L78QrHNn+EFEs="
];
trusted-users = [ "root" "alukard" "@wheel" ];
trusted-users = [ "root" config.mainuser "@wheel" ];
};
buildMachines = [
{
hostName = "nix-builder";
maxJobs = 8;
sshUser = "alukard";
sshUser = config.mainuser;
sshKey = config.secrets.ssh-builder.decrypted;
systems = [ "x86_64-linux" "i686-linux" ];
supportedFeatures = [ "nixos-test" "benchmark" "big-parallel" "kvm" ];

View File

@ -3,7 +3,7 @@ with config.deviceSpecific; {
security.apparmor.enable = !isContainer;
programs.firejail.enable = true;
users.mutableUsers = false;
users.users.alukard = {
users.users.${config.mainuser} = {
isNormalUser = true;
extraGroups = [
"adbusers"
@ -37,7 +37,7 @@ with config.deviceSpecific; {
security.sudo = {
enable = true;
extraRules = [{
users = [ "alukard" ];
users = [ config.mainuser ];
commands = [{
command = "/run/current-system/sw/bin/nixos-rebuild";
options = [ "SETENV" "NOPASSWD" ];
@ -50,39 +50,39 @@ with config.deviceSpecific; {
}];
}];
# extraConfig = lib.concatStrings [''
# alukard ALL = (root) NOPASSWD: /run/current-system/sw/bin/btrfs fi usage /
# ${config.mainuser} ALL = (root) NOPASSWD: /run/current-system/sw/bin/btrfs fi usage /
# ''
# (if (isLaptop) then ''
# alukard ALL = (root) NOPASSWD: /run/current-system/sw/bin/tlp-stat
# alukard ALL = (root) NOPASSWD: /run/current-system/sw/bin/tlp ac
# alukard ALL = (root) NOPASSWD: /run/current-system/sw/bin/tlp bat
# ${config.mainuser} ALL = (root) NOPASSWD: /run/current-system/sw/bin/tlp-stat
# ${config.mainuser} ALL = (root) NOPASSWD: /run/current-system/sw/bin/tlp ac
# ${config.mainuser} ALL = (root) NOPASSWD: /run/current-system/sw/bin/tlp bat
# '' else "")
# ];
};
security.doas = {
enable = true;
extraRules = [{
users = [ "alukard" ];
users = [ config.mainuser ];
keepEnv = true;
persist = true;
} {
users = [ "alukard" ];
users = [ config.mainuser ];
noPass = true;
keepEnv = true;
cmd = "/run/current-system/sw/bin/btrfs";
args = [ "fi" "usage" "/" ];
}] ++ lib.optionals isLaptop [{
users = [ "alukard" ];
users = [ config.mainuser ];
noPass = true;
keepEnv = true;
cmd = "/run/current-system/sw/bin/tlp";
} {
users = [ "alukard" ];
users = [ config.mainuser ];
noPass = true;
keepEnv = true;
cmd = "/run/current-system/sw/bin/tlp-stat";
}];
};
systemd.services."user@" = { serviceConfig = { Restart = "always"; }; };
services.getty.autologinUser = "alukard";
services.getty.autologinUser = config.mainuser;
}

View File

@ -1,5 +1,5 @@
{ config, lib, pkgs, ... }:
with config.users.users.alukard; with config.users.groups.${group}; {
with config.users.users.${config.mainuser}; with config.users.groups.${group}; {
secrets."cloudflare-ddns-ataraxiadev" = {
owner = "${toString uid}";
# permissions = "400";

View File

@ -24,7 +24,7 @@ in with config.virtualisation.oci-containers; {
image = "rocm-arch";
ports = [ "80:7860/tcp" ];
volumes = [
"/home/alukard/projects/rocm-terminal/shared:/shared"
"/home/${config.mainuser}/projects/rocm-terminal/shared:/shared"
];
};

View File

@ -3,7 +3,7 @@
inputs.vscode-server-fixup.nixosModules.home-manager.nixos-vscode-server
];
home-manager.users.alukard = {
home-manager.users.${config.mainuser} = {
services.vscode-server.enable = true;
};
}

View File

@ -78,18 +78,20 @@ with config.deviceSpecific; {
pkgs.stlink
];
home-manager.users.alukard.services.udiskie.enable = !isServer;
home-manager.users.${config.mainuser}.services = {
udiskie.enable = !isServer;
home-manager.users.alukard.services.gammastep = {
enable = !isServer;
latitude = 48.79;
longitude = 44.78;
temperature.day = 6500;
temperature.night = 3000;
gammastep = {
enable = !isServer;
latitude = 48.79;
longitude = 44.78;
temperature.day = 6500;
temperature.night = 3000;
};
};
secrets.seadrive = {
owner = "alukard";
owner = config.mainuser;
};
services.seadrive = {
enable = !isServer;

View File

@ -1,8 +1,11 @@
{ config, lib, pkgs, ... }: {
home-manager.users.alukard.xdg.configFile."easyeffects/output/HE4XX.json".text =
(builtins.readFile ./HE4XX.json);
home-manager.users.alukard.xdg.configFile."easyeffects/output/Bluetooth.json".text =
(builtins.readFile ./Bluetooth.json);
home-manager.users.alukard.services.easyeffects.enable = true;
home-manager.users.${config.mainuser} = {
xdg.configFile = {
"easyeffects/output/HE4XX.json".text =
(builtins.readFile ./HE4XX.json);
"easyeffects/output/Bluetooth.json".text =
(builtins.readFile ./Bluetooth.json);
};
services.easyeffects.enable = true;
};
}

View File

@ -1,4 +1,4 @@
{ pkgs, lib, ... }: {
{ config, pkgs, lib, ... }: {
sound.enable = false;
services.pipewire = {
@ -84,18 +84,20 @@
'';
};
home-manager.users.alukard.xdg.configFile."wireplumber/bluetooth.lua.d/51-bluez-config.lua".text = ''
bluez_monitor.properties = {
["bluez5.enable-sbc-xq"] = true,
["bluez5.enable-msbc"] = true,
["bluez5.hw-volume"] = "[ hfp_ag hsp_ag a2dp_source a2dp_sink ]",
["bluez5.headset-roles"] = "[ hsp_hs hsp_ag hfp_hf hfp_ag a2dp_sink ]",
["bluez5.reconnect-profiles"] = "[ hsp_hs hfp_hf a2dp_sink ]",
}
'';
security.rtkit.enable = true;
home-manager.users.${config.mainuser} = {
xdg.configFile."wireplumber/bluetooth.lua.d/51-bluez-config.lua".text = ''
bluez_monitor.properties = {
["bluez5.enable-sbc-xq"] = true,
["bluez5.enable-msbc"] = true,
["bluez5.hw-volume"] = "[ hfp_ag hsp_ag a2dp_source a2dp_sink ]",
["bluez5.headset-roles"] = "[ hsp_hs hsp_ag hfp_hf hfp_ag a2dp_sink ]",
["bluez5.reconnect-profiles"] = "[ hsp_hs hfp_hf a2dp_sink ]",
}
'';
home.packages = [ pkgs.pavucontrol pkgs.pulseaudio ];
};
home-manager.users.alukard.home.packages = [ pkgs.pavucontrol pkgs.pulseaudio ];
security.rtkit.enable = true;
hardware.pulseaudio.enable = lib.mkForce false;
services.jack.jackd.enable = lib.mkForce false;

View File

@ -26,7 +26,7 @@ with config.deviceSpecific; {
onShutdown = "shutdown";
};
home-manager.users.alukard = {
home-manager.users.${config.mainuser} = {
home.file.".config/libvirt/libvirt.conf".text = ''
uri_default = "qemu:///system"
'';

View File

@ -1,6 +1,6 @@
{ config, pkgs, ... }: {
environment.systemPackages = [ pkgs.copyq ];
home-manager.users.alukard = {
home-manager.users.${config.mainuser} = {
wayland.windowManager.hyprland.extraConfig = ''
windowrule=float,title=(.*CopyQ)
'';

View File

@ -2,7 +2,7 @@
let
thm = config.lib.base16.theme;
in {
home-manager.users.alukard = {
home-manager.users.${config.mainuser} = {
home.pointerCursor = {
package = thm.cursorPackage;
name = "Bibata-Modern-TokyoNight";

View File

@ -1,5 +1,5 @@
{ ... }: {
home-manager.users.alukard.programs = {
{ config, ... }: {
home-manager.users.${config.mainuser}.programs = {
direnv = {
enable = true;
enableZshIntegration = true;

View File

@ -1,5 +1,5 @@
{
home-manager.users.alukard = {
{ config, ... }: {
home-manager.users.${config.mainuser} = {
programs.git = {
enable = true;
lfs.enable = true;

View File

@ -1,6 +1,6 @@
{ config, lib, ... }:
with config.deviceSpecific; {
home-manager.users.alukard = {
home-manager.users.${config.mainuser} = {
programs.gpg = {
enable = true;
homedir = config.secretsConfig.gnupgHome;

View File

@ -34,7 +34,7 @@ in {
gtk.iconCache.enable = true;
programs.dconf.enable = true;
services.dbus.packages = with pkgs; [ dconf gcr ];
home-manager.users.alukard = {
home-manager.users.${config.mainuser} = {
gtk = {
enable = true;
iconTheme = {

View File

@ -5,7 +5,7 @@ let
gsettings = "${pkgs.glib}/bin/gsettings";
gnomeSchema = "org.gnome.desktop.interface";
importGsettings = pkgs.writeShellScript "import_gsettings.sh" ''
config="/home/alukard/.config/gtk-3.0/settings.ini"
config="/home/${config.mainuser}/.config/gtk-3.0/settings.ini"
if [ ! -f "$config" ]; then exit 1; fi
gtk_theme="$(grep 'gtk-theme-name' "$config" | sed 's/.*\s*=\s*//')"
icon_theme="$(grep 'gtk-icon-theme-name' "$config" | sed 's/.*\s*=\s*//')"
@ -42,7 +42,7 @@ in with config.deviceSpecific; with lib; {
};
};
home-manager.users.alukard = {
home-manager.users.${config.mainuser} = {
imports = [
inputs.hyprland.homeManagerModules.default
];

View File

@ -3,7 +3,7 @@ let
scripts = import ./scripts pkgs config;
thm = config.lib.base16.theme;
in {
home-manager.users.alukard = {
home-manager.users.${config.mainuser} = {
# xsession.windowManager.i3.config.bars = [{
wayland.windowManager.sway.config.bars = [{
id = "default";

View File

@ -16,7 +16,7 @@ with config.lib.base16.theme; {
KDEDIRS =
"/run/current-system/sw:/run/current-system/sw/share/kservices5:/run/current-system/sw/share/kservicetypes5:/run/current-system/sw/share/kxmlgui5";
};
home-manager.users.alukard = {
home-manager.users.${config.mainuser} = {
services.kdeconnect.enable = true;
xdg.configFile."kdeglobals".text = lib.generators.toGitINI {

View File

@ -19,7 +19,7 @@ with config.deviceSpecific; {
longitude = 44.78;
};
home-manager.users.alukard = {
home-manager.users.${config.mainuser} = {
home.language = let
en = "en_GB.utf8";
ru = "ru_RU.utf8";

View File

@ -1,5 +1,5 @@
{ pkgs, config, ... }: {
home-manager.users.alukard = {
home-manager.users.${config.mainuser} = {
systemd.user.services.mako = {
Service = { ExecStart = "${pkgs.mako}/bin/mako"; };
Install = {

View File

@ -4,7 +4,7 @@
LESS = "MR";
LESSHISTFILE = "~/.local/share/lesshist";
SYSTEMD_LESS = LESS;
CARGO_HOME = "${config.home-manager.users.alukard.xdg.dataHome}/cargo";
CARGO_HOME = "${config.home-manager.users.${config.mainuser}.xdg.dataHome}/cargo";
LIBVIRT_DEFAULT_URI = "qemu:///system";
};
@ -12,7 +12,7 @@
services.dbus.packages = [ pkgs.pass-secret-service ];
xdg.portal.extraPortals = [ pkgs.pass-secret-service ];
home-manager.users.alukard = {
home-manager.users.${config.mainuser} = {
news.display = "silent";
systemd.user.startServices = true;

View File

@ -1,5 +1,5 @@
{ ... }: {
home-manager.users.alukard = {
{ config, ... }: {
home-manager.users.${config.mainuser} = {
programs.nix-index = {
enable = true;
enableZshIntegration = true;

View File

@ -1,6 +1,6 @@
{ config, lib, pkgs, ... }:
{
home-manager.users.alukard = {
home-manager.users.${config.mainuser} = {
services.picom = {
enable = true;
backend = "glx";

View File

@ -9,7 +9,7 @@ with config.deviceSpecific; {
ports = [ 22 ];
};
users.users.alukard.openssh.authorizedKeys.keys = [
users.users.${config.mainuser}.openssh.authorizedKeys.keys = [
"ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAACAQC+xd8ClJPvJuAdYC9HlNnjiubEtYfvnKjYr9ROV+UmPVvI3ZITF24OaMI+fxgR0EqGfcUzSGom8528IB53Q3aFMIAaA0vKjW+jrByyB2l/k/+ttpLbH75c9WyOpAcUDTen8BhHKPyXOHoJ1jLu7GFmtPZ+mZo8thFB/VIRrwECHd8DnF0drsSCorkRp1bZC7bAHgztaYHNBUoAVGgJ7nLwW7DotlgbUEDiPJHXOxd/c/ZlXIB/cfUUqF+L5ThbMPhMcwRMspLy+nQdmHhih9k6SkvYqJoNqHT5/XeShb0RkIzvUWT2CYTPop5kAY5mMnatVTOY1FZPhHzk3G8MhOQ3r/elM/ecZxmjL8uozMN9kRGf1IL4DgQZfVqQRILdNSQGb0tfeiyirNZe1RlDw9UvMnZJOw0EkiC9lSSRhBWXXxAmxRrbNFTPQSp+/kiIGDmp2AsGhD11CfTDEU3wcLEUPBUqp1FYSzHncJyEKGy2Dpa5xaUJ0cuyGL4W3WHDXa4sTfY+AIXbQTD88Ujdsbfzyd6lrikG4D/crCurXissrh7q9DuYKWRI24cp5bw9lG33U1EXisnZqFyZNwMAmSj2QEGsHCwSevn0FgyRa2WYXgpZ9hfgY4le+ZSMo2JTosQ6DjGyxMDyQAHJ/ismTTzL67Q2p6U+73toYm62Qqdspw== (none)"
"ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABgQDP0/DReYSAfkucroMTdELzTORsGhhbEa+W0FDFBnwViHuoqoKvetCOkW657icexc5v/j6Ghy3+Li9twbHnEDzUJVtNtauhGMjOcUYt6pTbeJ09CGSAh+orxzeY4vXp7ANb91xW8yRn/EE4ALxqbLsc/D7TUMl11fmf0UW+kLgU5TcUYVSLMjQqBpD1Lo7lXLrImloDxe5fwoBDT09E59r9tq6+/3aHz8mpKRLsIQIV0Av00BRJ+/OVmZuBd9WS35rfkpUYmpEVInSJy3G4O6kCvY/zc9Bnh67l4kALZZ0+6W23kBGrzaRfaOtCEcscwfIu+6GXiHOL33rrMNNinF0T2942jGc18feL6P/LZCzqz8bGdFNxT43jAGPeDDcrJEWAJZFO3vVTP65dTRTHQG2KlQMzS7tcif6YUlY2JLJIb61ZfLoShH/ini/tqsGT0Be1f3ndOFt48h4XMW1oIF+EXaHYeO2UJ6855m8Wpxs4bP/jX6vMV38IvvnHy4tWD50= alukard@AMD-Workstation"
];
@ -22,12 +22,12 @@ with config.deviceSpecific; {
programs.ssh.extraConfig = ''
Host nix-builder
hostname 192.168.0.100
user alukard
user ${config.mainuser}
identitiesOnly yes
identityFile ${config.secrets.ssh-builder.decrypted}
'';
home-manager.users.alukard = {
home-manager.users.${config.mainuser} = {
programs.ssh = {
enable = true;
matchBlocks = {
@ -40,19 +40,19 @@ with config.deviceSpecific; {
};
"matrix.pve" = {
hostname = "192.168.0.11";
user = "alukard";
user = config.mainuser;
};
"nixos.pve" = {
hostname = "192.168.0.12";
user = "alukard";
user = config.mainuser;
};
"dell.ataraxia" = {
hostname = "192.168.0.101";
user = "alukard";
user = config.mainuser;
};
"amd.ataraxia" = {
hostname = "192.168.0.100";
user = "alukard";
user = config.mainuser;
};
};
extraConfig = ''

View File

@ -1,6 +1,6 @@
{ config, lib, pkgs, inputs, ... }:
with config.deviceSpecific; {
home-manager.users.alukard.programs.waybar = {
home-manager.users.${config.mainuser}.programs.waybar = {
enable = true;
# package = inputs.nixpkgs-wayland.packages.${pkgs.system}.waybar;
settings = {

View File

@ -1,5 +1,5 @@
{ config, pkgs, lib, ... }: {
home-manager.users.alukard = {
home-manager.users.${config.mainuser} = {
xdg.enable = true;
xdg.userDirs.enable = true;

View File

@ -2,7 +2,7 @@
environment.pathsToLink = [ "/share/zsh" ];
environment.sessionVariables.SHELL = "${pkgs.zsh}/bin/zsh";
home-manager.users.alukard = {
home-manager.users.${config.mainuser} = {
home.sessionVariables.SHELL = "${pkgs.zsh}/bin/zsh";
programs = {
zsh = {

View File

@ -19,6 +19,7 @@
secrets-envsubst
security
ssh
users
zsh
];
}

View File

@ -17,6 +17,7 @@
secrets-envsubst
security
ssh
users
zsh
vscode-server

View File

@ -18,6 +18,7 @@
secrets-envsubst
security
ssh
users
zsh
];