use users module
This commit is contained in:
parent
e9e6c06f64
commit
346dfd683c
@ -130,13 +130,13 @@
|
|||||||
hostnames = builtins.attrNames (builtins.readDir ./machines);
|
hostnames = builtins.attrNames (builtins.readDir ./machines);
|
||||||
mkHost = name: {
|
mkHost = name: {
|
||||||
system = builtins.readFile (./machines + "/${name}/system");
|
system = builtins.readFile (./machines + "/${name}/system");
|
||||||
modules = [ (import (./machines + "/${name}")) { device = name; } ];
|
modules = [ (import (./machines + "/${name}")) { device = name; mainuser = "alukard"; } ];
|
||||||
specialArgs = { inherit inputs; };
|
specialArgs = { inherit inputs; };
|
||||||
};
|
};
|
||||||
in (genAttrs hostnames mkHost) // {
|
in (genAttrs hostnames mkHost) // {
|
||||||
AMD-Workstation = {
|
AMD-Workstation = {
|
||||||
system = builtins.readFile (./machines + "/AMD-Workstation/system");
|
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; };
|
specialArgs = { inherit inputs; };
|
||||||
channelName = "unstable-zfs";
|
channelName = "unstable-zfs";
|
||||||
};
|
};
|
||||||
@ -178,13 +178,13 @@
|
|||||||
packages = {
|
packages = {
|
||||||
Wayland-VM = nixos-generators.nixosGenerate {
|
Wayland-VM = nixos-generators.nixosGenerate {
|
||||||
system = builtins.readFile (./machines/Wayland-VM/system);
|
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; };
|
specialArgs = { inherit inputs; };
|
||||||
format = "vm";
|
format = "vm";
|
||||||
};
|
};
|
||||||
Hypervisor-VM = nixos-generators.nixosGenerate {
|
Hypervisor-VM = nixos-generators.nixosGenerate {
|
||||||
system = builtins.readFile (./machines/Hypervisor-VM/system);
|
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; };
|
specialArgs = { inherit inputs; };
|
||||||
format = "vm";
|
format = "vm";
|
||||||
};
|
};
|
||||||
|
@ -39,25 +39,26 @@
|
|||||||
hardware.video.hidpi.enable = lib.mkForce false;
|
hardware.video.hidpi.enable = lib.mkForce false;
|
||||||
hardware.firmware = [ pkgs.rtl8761b-firmware ];
|
hardware.firmware = [ pkgs.rtl8761b-firmware ];
|
||||||
|
|
||||||
home-manager.users.alukard.home.packages = lib.mkIf config.deviceSpecific.enableVirtualisation [
|
home-manager.users.${config.mainuser} = {
|
||||||
inputs.nixos-generators.packages.${pkgs.system}.nixos-generate
|
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";
|
system.stateVersion = "21.11";
|
||||||
|
|
||||||
# VFIO Passthough
|
# VFIO Passthough
|
||||||
# virtualisation = {
|
# virtualisation = {
|
||||||
# sharedMemoryFiles = {
|
# sharedMemoryFiles = {
|
||||||
# # scream = {
|
# # scream = {
|
||||||
# # user = "alukard";
|
# # user = config.mainuser;
|
||||||
# # group = "qemu-libvirtd";
|
# # group = "qemu-libvirtd";
|
||||||
# # mode = "666";
|
# # mode = "666";
|
||||||
# # };
|
# # };
|
||||||
# looking-glass = {
|
# looking-glass = {
|
||||||
# user = "alukard";
|
# user = config.mainuser;
|
||||||
# group = "libvirtd";
|
# group = "libvirtd";
|
||||||
# mode = "666";
|
# mode = "666";
|
||||||
# };
|
# };
|
||||||
|
@ -46,6 +46,6 @@
|
|||||||
# "mem_sleep_default=deep"
|
# "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";
|
system.stateVersion = "21.11";
|
||||||
}
|
}
|
||||||
|
@ -167,9 +167,10 @@ in {
|
|||||||
fonts.enableDefaultFonts = lib.mkForce false;
|
fonts.enableDefaultFonts = lib.mkForce false;
|
||||||
fonts.fonts = [ (pkgs.nerdfonts.override { fonts = [ "FiraCode" "VictorMono" ]; }) ];
|
fonts.fonts = [ (pkgs.nerdfonts.override { fonts = [ "FiraCode" "VictorMono" ]; }) ];
|
||||||
|
|
||||||
home-manager.users.alukard.home.packages = with pkgs; [ bat podman-compose ];
|
home-manager.users.${config.mainuser} = {
|
||||||
|
home.packages = with pkgs; [ bat podman-compose ];
|
||||||
home-manager.users.alukard.xdg.mime.enable = false;
|
xdg.mime.enable = false;
|
||||||
home-manager.users.alukard.home.stateVersion = "22.11";
|
home.stateVersion = "22.11";
|
||||||
|
};
|
||||||
system.stateVersion = "22.11";
|
system.stateVersion = "22.11";
|
||||||
}
|
}
|
||||||
|
@ -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";
|
system.stateVersion = "21.11";
|
||||||
}
|
}
|
||||||
|
@ -54,7 +54,7 @@
|
|||||||
networking.hostName = "Wayland-VM";
|
networking.hostName = "Wayland-VM";
|
||||||
|
|
||||||
users.mutableUsers = false;
|
users.mutableUsers = false;
|
||||||
users.users.alukard = {
|
users.users.${config.mainuser} = {
|
||||||
isNormalUser = true;
|
isNormalUser = true;
|
||||||
extraGroups = [ "wheel" "video" "input" ];
|
extraGroups = [ "wheel" "video" "input" ];
|
||||||
uid = 1000;
|
uid = 1000;
|
||||||
@ -135,7 +135,7 @@
|
|||||||
|
|
||||||
security.polkit.enable = true;
|
security.polkit.enable = true;
|
||||||
|
|
||||||
services.getty.autologinUser = "alukard";
|
services.getty.autologinUser = config.mainuser;
|
||||||
|
|
||||||
environment.shellAliases = {
|
environment.shellAliases = {
|
||||||
ws = "waydroid show-full-ui";
|
ws = "waydroid show-full-ui";
|
||||||
|
@ -56,7 +56,7 @@ in {
|
|||||||
|
|
||||||
###### Implementation
|
###### Implementation
|
||||||
|
|
||||||
config.home-manager.users.alukard = mkIf cfg.enable {
|
config.home-manager.users.${config.mainuser} = mkIf cfg.enable {
|
||||||
systemd.user.services.seadrive-daemon = {
|
systemd.user.services.seadrive-daemon = {
|
||||||
Service = {
|
Service = {
|
||||||
Type = "simple";
|
Type = "simple";
|
||||||
|
@ -97,7 +97,7 @@ let
|
|||||||
mkIndividualSecrets = name: cfg:
|
mkIndividualSecrets = name: cfg:
|
||||||
map (x: {
|
map (x: {
|
||||||
"${name}-envsubst-${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}/"
|
lib.optionalString (!isNull cfg.directory) "${cfg.directory}/"
|
||||||
}${x}.gpg";
|
}${x}.gpg";
|
||||||
services = [ ];
|
services = [ ];
|
||||||
|
@ -24,7 +24,7 @@ let
|
|||||||
};
|
};
|
||||||
user = mkOption {
|
user = mkOption {
|
||||||
type = str;
|
type = str;
|
||||||
default = "alukard";
|
default = config.mainuser;
|
||||||
};
|
};
|
||||||
owner = mkOption {
|
owner = mkOption {
|
||||||
type = str;
|
type = str;
|
||||||
@ -127,11 +127,11 @@ in {
|
|||||||
options.secretsConfig = {
|
options.secretsConfig = {
|
||||||
password-store = lib.mkOption {
|
password-store = lib.mkOption {
|
||||||
type = lib.types.path;
|
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 {
|
gnupgHome = lib.mkOption {
|
||||||
type = lib.types.path;
|
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 {
|
repo = lib.mkOption {
|
||||||
type = str;
|
type = str;
|
||||||
@ -143,14 +143,14 @@ in {
|
|||||||
mkMerge (concatLists (mapAttrsToList mkServices config.secrets));
|
mkMerge (concatLists (mapAttrsToList mkServices config.secrets));
|
||||||
|
|
||||||
config.security.doas.extraRules = [{
|
config.security.doas.extraRules = [{
|
||||||
users = [ "alukard" ];
|
users = [ config.mainuser ];
|
||||||
noPass = true;
|
noPass = true;
|
||||||
keepEnv = true;
|
keepEnv = true;
|
||||||
cmd = "/run/current-system/sw/bin/systemctl ";
|
cmd = "/run/current-system/sw/bin/systemctl ";
|
||||||
args = [ "restart" ] ++ allServicesMap;
|
args = [ "restart" ] ++ allServicesMap;
|
||||||
}];
|
}];
|
||||||
|
|
||||||
config.home-manager.users.alukard = {
|
config.home-manager.users.${config.mainuser} = {
|
||||||
systemd.user.services.activate-secrets = {
|
systemd.user.services.activate-secrets = {
|
||||||
Service = {
|
Service = {
|
||||||
ExecStart = "${activate-secrets}/bin/activate-secrets";
|
ExecStart = "${activate-secrets}/bin/activate-secrets";
|
||||||
|
7
modules/users.nix
Normal file
7
modules/users.nix
Normal file
@ -0,0 +1,7 @@
|
|||||||
|
{ config, lib, pkgs, ... }:
|
||||||
|
with lib;
|
||||||
|
with types; {
|
||||||
|
options = {
|
||||||
|
mainuser = mkOption { type = str; };
|
||||||
|
};
|
||||||
|
}
|
@ -43,11 +43,11 @@
|
|||||||
VISUAL = config.defaultApplications.editor.cmd;
|
VISUAL = config.defaultApplications.editor.cmd;
|
||||||
};
|
};
|
||||||
|
|
||||||
home-manager.users.alukard = {
|
home-manager.users.${config.mainuser} = {
|
||||||
home.activation."mimeapps-remove" = {
|
home.activation."mimeapps-remove" = {
|
||||||
before = [ "checkLinkTargets" ];
|
before = [ "checkLinkTargets" ];
|
||||||
after = [ ];
|
after = [ ];
|
||||||
data = "rm -f /home/alukard/.config/mimeapps.list";
|
data = "rm -f /home/${config.mainuser}/.config/mimeapps.list";
|
||||||
};
|
};
|
||||||
|
|
||||||
xdg.mimeApps = {
|
xdg.mimeApps = {
|
||||||
|
@ -8,7 +8,7 @@ with config.deviceSpecific;
|
|||||||
# cmd = "${pkgs.alacritty}/bin/alacritty";
|
# cmd = "${pkgs.alacritty}/bin/alacritty";
|
||||||
# desktop = "alacritty";
|
# desktop = "alacritty";
|
||||||
# };
|
# };
|
||||||
home-manager.users.alukard = {
|
home-manager.users.${config.mainuser} = {
|
||||||
programs.alacritty = {
|
programs.alacritty = {
|
||||||
# enable = isDesktop;
|
# enable = isDesktop;
|
||||||
enable = false;
|
enable = false;
|
||||||
|
@ -3,7 +3,7 @@ with lib;
|
|||||||
let
|
let
|
||||||
thm = config.lib.base16.theme;
|
thm = config.lib.base16.theme;
|
||||||
fonts = config.lib.base16.theme.fonts;
|
fonts = config.lib.base16.theme.fonts;
|
||||||
profileName = "alukard";
|
profileName = config.mainuser;
|
||||||
profilePath = ".mozilla/firefox/${profileName}";
|
profilePath = ".mozilla/firefox/${profileName}";
|
||||||
mkUserJs = { prefs ? {}, extraPrefs ? "" }: ''
|
mkUserJs = { prefs ? {}, extraPrefs ? "" }: ''
|
||||||
${extraPrefs}
|
${extraPrefs}
|
||||||
@ -14,7 +14,7 @@ let
|
|||||||
'';
|
'';
|
||||||
|
|
||||||
firefox-kpoxa = pkgs.writeShellScriptBin "firefox-kpoxa" ''
|
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 {
|
in {
|
||||||
environment.sessionVariables = {
|
environment.sessionVariables = {
|
||||||
@ -28,7 +28,7 @@ in {
|
|||||||
desktop = "firefox";
|
desktop = "firefox";
|
||||||
};
|
};
|
||||||
|
|
||||||
home-manager.users.alukard = {
|
home-manager.users.${config.mainuser} = {
|
||||||
home.packages = [ firefox-kpoxa ];
|
home.packages = [ firefox-kpoxa ];
|
||||||
# Mailvelope GnuPG integration
|
# Mailvelope GnuPG integration
|
||||||
home.file.".mozilla/native-messaging-hosts/gpgmejson.json".text = ''
|
home.file.".mozilla/native-messaging-hosts/gpgmejson.json".text = ''
|
||||||
@ -69,7 +69,7 @@ in {
|
|||||||
enable = true;
|
enable = true;
|
||||||
package = pkgs.firefox-wayland;
|
package = pkgs.firefox-wayland;
|
||||||
profiles = {
|
profiles = {
|
||||||
alukard = {
|
${config.mainuser} = {
|
||||||
id = 0;
|
id = 0;
|
||||||
userChrome = ''
|
userChrome = ''
|
||||||
#TabsToolbar {
|
#TabsToolbar {
|
||||||
|
@ -1,5 +1,5 @@
|
|||||||
{ config, lib, pkgs, ... }: {
|
{ config, lib, pkgs, ... }: {
|
||||||
home-manager.users.alukard = {
|
home-manager.users.${config.mainuser} = {
|
||||||
home.packages = [ pkgs.google-drive-ocamlfuse ];
|
home.packages = [ pkgs.google-drive-ocamlfuse ];
|
||||||
# systemd.user.services.google-drive-ocamlfuse = {
|
# systemd.user.services.google-drive-ocamlfuse = {
|
||||||
# Service = {
|
# Service = {
|
||||||
|
@ -1,10 +1,10 @@
|
|||||||
{ config, pkgs, inputs, lib, system, ... }: {
|
{ config, pkgs, inputs, lib, system, ... }: {
|
||||||
|
|
||||||
home-manager.users.alukard = {
|
home-manager.users.${config.mainuser} = {
|
||||||
home.packages = [ pkgs.himalaya ];
|
home.packages = [ pkgs.himalaya ];
|
||||||
|
|
||||||
xdg.configFile."himalaya/config.toml".text = ''
|
xdg.configFile."himalaya/config.toml".text = ''
|
||||||
downloads-dir="/home/alukard/Downloads/mail"
|
downloads-dir="/home/${config.mainuser}/Downloads/mail"
|
||||||
name="Dmitriy Kholkin"
|
name="Dmitriy Kholkin"
|
||||||
signature="Regards,"
|
signature="Regards,"
|
||||||
[ataraxiadev]
|
[ataraxiadev]
|
||||||
|
@ -7,7 +7,7 @@ in with config.deviceSpecific;
|
|||||||
cmd = "${pkgs.kitty}/bin/kitty";
|
cmd = "${pkgs.kitty}/bin/kitty";
|
||||||
desktop = "kitty";
|
desktop = "kitty";
|
||||||
};
|
};
|
||||||
home-manager.users.alukard = {
|
home-manager.users.${config.mainuser} = {
|
||||||
programs.kitty = {
|
programs.kitty = {
|
||||||
enable = true;
|
enable = true;
|
||||||
font.name = "${thm.fonts.mono.family} ${thm.fontSizes.small.str}";
|
font.name = "${thm.fonts.mono.family} ${thm.fontSizes.small.str}";
|
||||||
|
@ -1,5 +1,5 @@
|
|||||||
{ lib, pkgs, config, ... }: {
|
{ 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 ];
|
home.packages = [ pkgs.mangohud ];
|
||||||
xdg.configFile."MangoHud/MangoHud.conf".source = pkgs.writeText "MangoHud.conf" ''
|
xdg.configFile."MangoHud/MangoHud.conf".source = pkgs.writeText "MangoHud.conf" ''
|
||||||
fps_limit=60
|
fps_limit=60
|
||||||
@ -36,7 +36,7 @@
|
|||||||
text_color=ffffff
|
text_color=ffffff
|
||||||
toggle_hud=Shift_R+F12
|
toggle_hud=Shift_R+F12
|
||||||
toggle_logging=Shift_L+F2
|
toggle_logging=Shift_L+F2
|
||||||
output_folder=/home/alukard
|
output_folder=/home/${config.mainuser}
|
||||||
media_player_name=spotify
|
media_player_name=spotify
|
||||||
'';
|
'';
|
||||||
};
|
};
|
||||||
|
@ -12,7 +12,7 @@
|
|||||||
port = 6600
|
port = 6600
|
||||||
|
|
||||||
[local]
|
[local]
|
||||||
media_dir = /home/alukard/Music
|
media_dir = /home/${config.mainuser}/Music
|
||||||
'';
|
'';
|
||||||
extensionPackages = with pkgs; [
|
extensionPackages = with pkgs; [
|
||||||
mopidy-local
|
mopidy-local
|
||||||
|
@ -1,23 +1,23 @@
|
|||||||
{ config, lib, pkgs, ... }:
|
{ config, lib, pkgs, ... }:
|
||||||
{
|
{
|
||||||
home-manager.users.alukard.programs.mpv = {
|
home-manager.users.${config.mainuser} = {
|
||||||
enable = true;
|
programs.mpv = {
|
||||||
config = {
|
enable = true;
|
||||||
vo = "gpu";
|
config = {
|
||||||
gpu-context = "wayland";
|
vo = "gpu";
|
||||||
save-position-on-quit = "yes";
|
gpu-context = "wayland";
|
||||||
hwdec = if config.deviceSpecific.devInfo.gpu.vendor == "nvidia" then
|
save-position-on-quit = "yes";
|
||||||
"vdpau"
|
hwdec = if config.deviceSpecific.devInfo.gpu.vendor == "nvidia" then
|
||||||
else
|
"vdpau"
|
||||||
"vaapi";
|
else
|
||||||
ytdl-format = if config.deviceSpecific.isLaptop then
|
"vaapi";
|
||||||
"bestvideo[height<=?1080]+bestaudio/best"
|
ytdl-format = if config.deviceSpecific.isLaptop then
|
||||||
else
|
"bestvideo[height<=?1080]+bestaudio/best"
|
||||||
"bestvideo[height<=?2160]+bestaudio/best";
|
else
|
||||||
|
"bestvideo[height<=?2160]+bestaudio/best";
|
||||||
|
};
|
||||||
};
|
};
|
||||||
};
|
home.file.".config/yt-dlp/config".text = ''
|
||||||
home-manager.users.alukard.home.file.".config/yt-dlp/config" = {
|
|
||||||
text = ''
|
|
||||||
--cookies-from-browser firefox
|
--cookies-from-browser firefox
|
||||||
--mark-watched
|
--mark-watched
|
||||||
'';
|
'';
|
||||||
|
@ -1,5 +1,5 @@
|
|||||||
{ pkgs, ... }: {
|
{ pkgs, ... }: {
|
||||||
home-manager.users.alukard.programs.ncmpcpp = {
|
home-manager.users.${config.mainuser}.programs.ncmpcpp = {
|
||||||
enable = true;
|
enable = true;
|
||||||
# mpdMusicDir = "$HOME/Music";
|
# mpdMusicDir = "$HOME/Music";
|
||||||
settings = {
|
settings = {
|
||||||
|
@ -2,7 +2,7 @@
|
|||||||
with config.deviceSpecific; {
|
with config.deviceSpecific; {
|
||||||
programs.adb.enable = true;
|
programs.adb.enable = true;
|
||||||
|
|
||||||
home-manager.users.alukard.home.packages = with pkgs; [
|
home-manager.users.${config.mainuser}.home.packages = with pkgs; [
|
||||||
# cli
|
# cli
|
||||||
a2ln
|
a2ln
|
||||||
bat
|
bat
|
||||||
|
@ -1,6 +1,6 @@
|
|||||||
{ config, pkgs, lib, ... }: {
|
{ config, pkgs, lib, ... }: {
|
||||||
config = lib.mkIf (config.device == "AMD-Workstation") {
|
config = lib.mkIf (config.device == "AMD-Workstation") {
|
||||||
services.ratbagd.enable = true;
|
services.ratbagd.enable = true;
|
||||||
home-manager.users.alukard.home.packages = [ pkgs.piper ];
|
home-manager.users.${config.mainuser}.home.packages = [ pkgs.piper ];
|
||||||
};
|
};
|
||||||
}
|
}
|
@ -9,7 +9,7 @@ in
|
|||||||
desktop = "rofi";
|
desktop = "rofi";
|
||||||
};
|
};
|
||||||
|
|
||||||
home-manager.users.alukard = {
|
home-manager.users.${config.mainuser} = {
|
||||||
programs.rofi = {
|
programs.rofi = {
|
||||||
enable = true;
|
enable = true;
|
||||||
package = pkgs.rofi-wayland;
|
package = pkgs.rofi-wayland;
|
||||||
|
@ -1,5 +1,5 @@
|
|||||||
{ config, lib, pkgs, ... }: {
|
{ config, lib, pkgs, ... }: {
|
||||||
home-manager.users.alukard.home.packages = with pkgs; [
|
home-manager.users.${config.mainuser}.home.packages = with pkgs; [
|
||||||
spotifywm
|
spotifywm
|
||||||
];
|
];
|
||||||
startupApplications = [
|
startupApplications = [
|
||||||
|
@ -9,7 +9,7 @@
|
|||||||
# systemd.user.services.x11-ownership = rec {
|
# systemd.user.services.x11-ownership = rec {
|
||||||
# # serviceConfig.Type = "oneshot";
|
# # serviceConfig.Type = "oneshot";
|
||||||
# script = ''
|
# script = ''
|
||||||
# chown alukard /tmp/.X11-unix
|
# chown ${config.mainuser} /tmp/.X11-unix
|
||||||
# '';
|
# '';
|
||||||
# after = [ "graphical-session.target" ];
|
# after = [ "graphical-session.target" ];
|
||||||
# wants = after;
|
# wants = after;
|
||||||
@ -17,7 +17,7 @@
|
|||||||
# };
|
# };
|
||||||
|
|
||||||
# Start Steam only after the network is up
|
# 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 = {
|
# Service = {
|
||||||
# ExecStart = "${pkgs.steam}/bin/steam";
|
# ExecStart = "${pkgs.steam}/bin/steam";
|
||||||
# Type = "oneshot";
|
# Type = "oneshot";
|
||||||
|
@ -1,5 +1,5 @@
|
|||||||
{ config, lib, pkgs, ... }: {
|
{ config, lib, pkgs, ... }: {
|
||||||
home-manager.users.alukard = {
|
home-manager.users.${config.mainuser} = {
|
||||||
home.packages = [ pkgs.sunshine ];
|
home.packages = [ pkgs.sunshine ];
|
||||||
systemd.user.services.sunshine = {
|
systemd.user.services.sunshine = {
|
||||||
Unit.Description = "Sunshine is a Gamestream host for Moonlight.";
|
Unit.Description = "Sunshine is a Gamestream host for Moonlight.";
|
||||||
|
@ -1,5 +1,5 @@
|
|||||||
{ config, pkgs, lib, ... }: {
|
{ config, pkgs, lib, ... }: {
|
||||||
home-manager.users.alukard = {
|
home-manager.users.${config.mainuser} = {
|
||||||
services.syncthing.enable = true;
|
services.syncthing.enable = true;
|
||||||
};
|
};
|
||||||
}
|
}
|
@ -4,7 +4,7 @@ let
|
|||||||
mullvad-exclude ${pkgs.tor-browser-bundle-bin}/bin/tor-browser
|
mullvad-exclude ${pkgs.tor-browser-bundle-bin}/bin/tor-browser
|
||||||
'';
|
'';
|
||||||
in {
|
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
|
tor-browser
|
||||||
] else [
|
] else [
|
||||||
pkgs.tor-browser-bundle-bin
|
pkgs.tor-browser-bundle-bin
|
||||||
|
@ -4,7 +4,7 @@
|
|||||||
# desktop = "vivaldi";
|
# desktop = "vivaldi";
|
||||||
# };
|
# };
|
||||||
|
|
||||||
home-manager.users.alukard = {
|
home-manager.users.${config.mainuser} = {
|
||||||
home.packages = with pkgs; [
|
home.packages = with pkgs; [
|
||||||
((vivaldi.overrideAttrs (oldAttrs: rec {
|
((vivaldi.overrideAttrs (oldAttrs: rec {
|
||||||
buildInputs = oldAttrs.buildInputs ++ [ pkgs.libglvnd pkgs.pipewire pkgs.wayland ];
|
buildInputs = oldAttrs.buildInputs ++ [ pkgs.libglvnd pkgs.pipewire pkgs.wayland ];
|
||||||
|
@ -3,10 +3,10 @@ let
|
|||||||
thmFile = config.lib.base16.templateFile;
|
thmFile = config.lib.base16.templateFile;
|
||||||
thm = config.lib.base16.theme;
|
thm = config.lib.base16.theme;
|
||||||
EDITOR = pkgs.writeShellScript "code-editor" ''
|
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 \
|
NIX_OZONE_WL=1 \
|
||||||
exec \
|
exec \
|
||||||
${config.home-manager.users.alukard.programs.vscode.package}/bin/code \
|
${config.home-manager.users.${config.mainuser}.programs.vscode.package}/bin/code \
|
||||||
-w -n \
|
-w -n \
|
||||||
"$@"
|
"$@"
|
||||||
'';
|
'';
|
||||||
@ -17,7 +17,7 @@ in
|
|||||||
desktop = "code-wayland";
|
desktop = "code-wayland";
|
||||||
};
|
};
|
||||||
|
|
||||||
home-manager.users.alukard = {
|
home-manager.users.${config.mainuser} = {
|
||||||
programs.vscode = {
|
programs.vscode = {
|
||||||
enable = true;
|
enable = true;
|
||||||
package = pkgs.vscode;
|
package = pkgs.vscode;
|
||||||
@ -37,7 +37,7 @@ in
|
|||||||
cp -R * $out/share/vscode/extensions/direnv.direnv-vscode
|
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
|
aaron-bond.better-comments
|
||||||
alefragnani.bookmarks
|
alefragnani.bookmarks
|
||||||
|
@ -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
|
{ 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, ... }:
|
, base0A-hex, base0B-hex, base0C-hex, base0D-hex, base0E-hex, base0F-hex, ... }:
|
||||||
let
|
let
|
||||||
@ -919,7 +919,7 @@ let
|
|||||||
name = "theme";
|
name = "theme";
|
||||||
displayName = "Generated theme";
|
displayName = "Generated theme";
|
||||||
version = "0.0.0";
|
version = "0.0.0";
|
||||||
publisher = "alukard";
|
publisher = mainuser;
|
||||||
engines.vscode = "^1.22.0";
|
engines.vscode = "^1.22.0";
|
||||||
contributes.themes = [{
|
contributes.themes = [{
|
||||||
label = "Generated theme";
|
label = "Generated theme";
|
||||||
@ -933,7 +933,7 @@ let
|
|||||||
};
|
};
|
||||||
};
|
};
|
||||||
in with builtins;
|
in with builtins;
|
||||||
linkFarm "alukard.theme" (attrValues (mapAttrs (name: value: {
|
linkFarm "${mainuser}.theme" (attrValues (mapAttrs (name: value: {
|
||||||
name = "share/vscode/extensions/alukard.theme/${name}";
|
name = "share/vscode/extensions/${mainuser}.theme/${name}";
|
||||||
path = toFile (baseNameOf name) value;
|
path = toFile (baseNameOf name) value;
|
||||||
}) theme))
|
}) theme))
|
||||||
|
@ -20,6 +20,6 @@ in {
|
|||||||
# environment.etc."gbinder.d/anbox.conf".source = lib.mkForce anboxGbinderConf;
|
# environment.etc."gbinder.d/anbox.conf".source = lib.mkForce anboxGbinderConf;
|
||||||
virtualisation.waydroid.enable = true;
|
virtualisation.waydroid.enable = true;
|
||||||
# virtualisation.lxd.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 ];
|
||||||
};
|
};
|
||||||
}
|
}
|
||||||
|
@ -24,7 +24,7 @@ with deviceSpecific;
|
|||||||
"nofail"
|
"nofail"
|
||||||
"dmode=0755"
|
"dmode=0755"
|
||||||
"fmode=0644"
|
"fmode=0644"
|
||||||
"uid=${toString config.users.users.alukard.uid}"
|
"uid=${toString config.users.users.${config.mainuser}.uid}"
|
||||||
"gid=${toString config.users.groups.smbuser.gid}"
|
"gid=${toString config.users.groups.smbuser.gid}"
|
||||||
];
|
];
|
||||||
};
|
};
|
||||||
@ -35,7 +35,7 @@ with deviceSpecific;
|
|||||||
options = [
|
options = [
|
||||||
# "noatime"
|
# "noatime"
|
||||||
"nofail"
|
"nofail"
|
||||||
"uid=${toString config.users.users.alukard.uid}"
|
"uid=${toString config.users.users.${config.mainuser}.uid}"
|
||||||
"gid=${toString config.users.groups.smbuser.gid}"
|
"gid=${toString config.users.groups.smbuser.gid}"
|
||||||
];
|
];
|
||||||
} else {
|
} else {
|
||||||
@ -44,7 +44,7 @@ with deviceSpecific;
|
|||||||
device = "//192.168.0.100/data";
|
device = "//192.168.0.100/data";
|
||||||
options = [
|
options = [
|
||||||
"credentials=${secrets.samba.decrypted}"
|
"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}"
|
"gid=${toString config.users.groups.users.gid}"
|
||||||
"vers=3.0"
|
"vers=3.0"
|
||||||
"nofail"
|
"nofail"
|
||||||
@ -62,7 +62,7 @@ with deviceSpecific;
|
|||||||
options = [
|
options = [
|
||||||
# "noatime"
|
# "noatime"
|
||||||
"nofail"
|
"nofail"
|
||||||
"uid=${toString config.users.users.alukard.uid}"
|
"uid=${toString config.users.users.${config.mainuser}.uid}"
|
||||||
"gid=${toString config.users.groups.smbuser.gid}"
|
"gid=${toString config.users.groups.smbuser.gid}"
|
||||||
];
|
];
|
||||||
};
|
};
|
||||||
@ -72,7 +72,7 @@ with deviceSpecific;
|
|||||||
# device = "//192.168.0.100/files";
|
# device = "//192.168.0.100/files";
|
||||||
# options = [
|
# options = [
|
||||||
# "credentials=${secrets.samba.decrypted}"
|
# "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}"
|
# "gid=${toString config.users.groups.users.gid}"
|
||||||
# "vers=3.0"
|
# "vers=3.0"
|
||||||
# "nofail"
|
# "nofail"
|
||||||
|
@ -5,7 +5,7 @@ in {
|
|||||||
config = lib.mkIf vpn.enable {
|
config = lib.mkIf vpn.enable {
|
||||||
services.mullvad-vpn.enable = true;
|
services.mullvad-vpn.enable = true;
|
||||||
services.mullvad-vpn.enableExcludeWrapper = 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" ];
|
startupApplications = [ "${pkgs.mullvad-vpn}/share/mullvad/mullvad-gui" ];
|
||||||
};
|
};
|
||||||
}
|
}
|
@ -34,14 +34,14 @@ with config.deviceSpecific; {
|
|||||||
# "nixos-rocm.cachix.org-1:VEpsf7pRIijjd8csKjFNBGzkBqOmw8H9PRmgAq14LnE="
|
# "nixos-rocm.cachix.org-1:VEpsf7pRIijjd8csKjFNBGzkBqOmw8H9PRmgAq14LnE="
|
||||||
# "webcord.cachix.org-1:l555jqOZGHd2C9+vS8ccdh8FhqnGe8L78QrHNn+EFEs="
|
# "webcord.cachix.org-1:l555jqOZGHd2C9+vS8ccdh8FhqnGe8L78QrHNn+EFEs="
|
||||||
];
|
];
|
||||||
trusted-users = [ "root" "alukard" "@wheel" ];
|
trusted-users = [ "root" config.mainuser "@wheel" ];
|
||||||
};
|
};
|
||||||
|
|
||||||
buildMachines = [
|
buildMachines = [
|
||||||
{
|
{
|
||||||
hostName = "nix-builder";
|
hostName = "nix-builder";
|
||||||
maxJobs = 8;
|
maxJobs = 8;
|
||||||
sshUser = "alukard";
|
sshUser = config.mainuser;
|
||||||
sshKey = config.secrets.ssh-builder.decrypted;
|
sshKey = config.secrets.ssh-builder.decrypted;
|
||||||
systems = [ "x86_64-linux" "i686-linux" ];
|
systems = [ "x86_64-linux" "i686-linux" ];
|
||||||
supportedFeatures = [ "nixos-test" "benchmark" "big-parallel" "kvm" ];
|
supportedFeatures = [ "nixos-test" "benchmark" "big-parallel" "kvm" ];
|
||||||
|
@ -3,7 +3,7 @@ with config.deviceSpecific; {
|
|||||||
security.apparmor.enable = !isContainer;
|
security.apparmor.enable = !isContainer;
|
||||||
programs.firejail.enable = true;
|
programs.firejail.enable = true;
|
||||||
users.mutableUsers = false;
|
users.mutableUsers = false;
|
||||||
users.users.alukard = {
|
users.users.${config.mainuser} = {
|
||||||
isNormalUser = true;
|
isNormalUser = true;
|
||||||
extraGroups = [
|
extraGroups = [
|
||||||
"adbusers"
|
"adbusers"
|
||||||
@ -37,7 +37,7 @@ with config.deviceSpecific; {
|
|||||||
security.sudo = {
|
security.sudo = {
|
||||||
enable = true;
|
enable = true;
|
||||||
extraRules = [{
|
extraRules = [{
|
||||||
users = [ "alukard" ];
|
users = [ config.mainuser ];
|
||||||
commands = [{
|
commands = [{
|
||||||
command = "/run/current-system/sw/bin/nixos-rebuild";
|
command = "/run/current-system/sw/bin/nixos-rebuild";
|
||||||
options = [ "SETENV" "NOPASSWD" ];
|
options = [ "SETENV" "NOPASSWD" ];
|
||||||
@ -50,39 +50,39 @@ with config.deviceSpecific; {
|
|||||||
}];
|
}];
|
||||||
}];
|
}];
|
||||||
# extraConfig = lib.concatStrings [''
|
# 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 ''
|
# (if (isLaptop) then ''
|
||||||
# alukard ALL = (root) NOPASSWD: /run/current-system/sw/bin/tlp-stat
|
# ${config.mainuser} ALL = (root) NOPASSWD: /run/current-system/sw/bin/tlp-stat
|
||||||
# alukard ALL = (root) NOPASSWD: /run/current-system/sw/bin/tlp ac
|
# ${config.mainuser} 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 bat
|
||||||
# '' else "")
|
# '' else "")
|
||||||
# ];
|
# ];
|
||||||
};
|
};
|
||||||
security.doas = {
|
security.doas = {
|
||||||
enable = true;
|
enable = true;
|
||||||
extraRules = [{
|
extraRules = [{
|
||||||
users = [ "alukard" ];
|
users = [ config.mainuser ];
|
||||||
keepEnv = true;
|
keepEnv = true;
|
||||||
persist = true;
|
persist = true;
|
||||||
} {
|
} {
|
||||||
users = [ "alukard" ];
|
users = [ config.mainuser ];
|
||||||
noPass = true;
|
noPass = true;
|
||||||
keepEnv = true;
|
keepEnv = true;
|
||||||
cmd = "/run/current-system/sw/bin/btrfs";
|
cmd = "/run/current-system/sw/bin/btrfs";
|
||||||
args = [ "fi" "usage" "/" ];
|
args = [ "fi" "usage" "/" ];
|
||||||
}] ++ lib.optionals isLaptop [{
|
}] ++ lib.optionals isLaptop [{
|
||||||
users = [ "alukard" ];
|
users = [ config.mainuser ];
|
||||||
noPass = true;
|
noPass = true;
|
||||||
keepEnv = true;
|
keepEnv = true;
|
||||||
cmd = "/run/current-system/sw/bin/tlp";
|
cmd = "/run/current-system/sw/bin/tlp";
|
||||||
} {
|
} {
|
||||||
users = [ "alukard" ];
|
users = [ config.mainuser ];
|
||||||
noPass = true;
|
noPass = true;
|
||||||
keepEnv = true;
|
keepEnv = true;
|
||||||
cmd = "/run/current-system/sw/bin/tlp-stat";
|
cmd = "/run/current-system/sw/bin/tlp-stat";
|
||||||
}];
|
}];
|
||||||
};
|
};
|
||||||
systemd.services."user@" = { serviceConfig = { Restart = "always"; }; };
|
systemd.services."user@" = { serviceConfig = { Restart = "always"; }; };
|
||||||
services.getty.autologinUser = "alukard";
|
services.getty.autologinUser = config.mainuser;
|
||||||
}
|
}
|
||||||
|
@ -1,5 +1,5 @@
|
|||||||
{ config, lib, pkgs, ... }:
|
{ 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" = {
|
secrets."cloudflare-ddns-ataraxiadev" = {
|
||||||
owner = "${toString uid}";
|
owner = "${toString uid}";
|
||||||
# permissions = "400";
|
# permissions = "400";
|
||||||
|
@ -24,7 +24,7 @@ in with config.virtualisation.oci-containers; {
|
|||||||
image = "rocm-arch";
|
image = "rocm-arch";
|
||||||
ports = [ "80:7860/tcp" ];
|
ports = [ "80:7860/tcp" ];
|
||||||
volumes = [
|
volumes = [
|
||||||
"/home/alukard/projects/rocm-terminal/shared:/shared"
|
"/home/${config.mainuser}/projects/rocm-terminal/shared:/shared"
|
||||||
];
|
];
|
||||||
};
|
};
|
||||||
|
|
||||||
|
@ -3,7 +3,7 @@
|
|||||||
inputs.vscode-server-fixup.nixosModules.home-manager.nixos-vscode-server
|
inputs.vscode-server-fixup.nixosModules.home-manager.nixos-vscode-server
|
||||||
];
|
];
|
||||||
|
|
||||||
home-manager.users.alukard = {
|
home-manager.users.${config.mainuser} = {
|
||||||
services.vscode-server.enable = true;
|
services.vscode-server.enable = true;
|
||||||
};
|
};
|
||||||
}
|
}
|
||||||
|
@ -78,18 +78,20 @@ with config.deviceSpecific; {
|
|||||||
pkgs.stlink
|
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 = {
|
gammastep = {
|
||||||
enable = !isServer;
|
enable = !isServer;
|
||||||
latitude = 48.79;
|
latitude = 48.79;
|
||||||
longitude = 44.78;
|
longitude = 44.78;
|
||||||
temperature.day = 6500;
|
temperature.day = 6500;
|
||||||
temperature.night = 3000;
|
temperature.night = 3000;
|
||||||
|
};
|
||||||
};
|
};
|
||||||
|
|
||||||
secrets.seadrive = {
|
secrets.seadrive = {
|
||||||
owner = "alukard";
|
owner = config.mainuser;
|
||||||
};
|
};
|
||||||
services.seadrive = {
|
services.seadrive = {
|
||||||
enable = !isServer;
|
enable = !isServer;
|
||||||
|
@ -1,8 +1,11 @@
|
|||||||
{ config, lib, pkgs, ... }: {
|
{ config, lib, pkgs, ... }: {
|
||||||
home-manager.users.alukard.xdg.configFile."easyeffects/output/HE4XX.json".text =
|
home-manager.users.${config.mainuser} = {
|
||||||
(builtins.readFile ./HE4XX.json);
|
xdg.configFile = {
|
||||||
home-manager.users.alukard.xdg.configFile."easyeffects/output/Bluetooth.json".text =
|
"easyeffects/output/HE4XX.json".text =
|
||||||
(builtins.readFile ./Bluetooth.json);
|
(builtins.readFile ./HE4XX.json);
|
||||||
|
"easyeffects/output/Bluetooth.json".text =
|
||||||
home-manager.users.alukard.services.easyeffects.enable = true;
|
(builtins.readFile ./Bluetooth.json);
|
||||||
|
};
|
||||||
|
services.easyeffects.enable = true;
|
||||||
|
};
|
||||||
}
|
}
|
@ -1,4 +1,4 @@
|
|||||||
{ pkgs, lib, ... }: {
|
{ config, pkgs, lib, ... }: {
|
||||||
sound.enable = false;
|
sound.enable = false;
|
||||||
|
|
||||||
services.pipewire = {
|
services.pipewire = {
|
||||||
@ -84,18 +84,20 @@
|
|||||||
'';
|
'';
|
||||||
};
|
};
|
||||||
|
|
||||||
home-manager.users.alukard.xdg.configFile."wireplumber/bluetooth.lua.d/51-bluez-config.lua".text = ''
|
home-manager.users.${config.mainuser} = {
|
||||||
bluez_monitor.properties = {
|
xdg.configFile."wireplumber/bluetooth.lua.d/51-bluez-config.lua".text = ''
|
||||||
["bluez5.enable-sbc-xq"] = true,
|
bluez_monitor.properties = {
|
||||||
["bluez5.enable-msbc"] = true,
|
["bluez5.enable-sbc-xq"] = true,
|
||||||
["bluez5.hw-volume"] = "[ hfp_ag hsp_ag a2dp_source a2dp_sink ]",
|
["bluez5.enable-msbc"] = true,
|
||||||
["bluez5.headset-roles"] = "[ hsp_hs hsp_ag hfp_hf hfp_ag a2dp_sink ]",
|
["bluez5.hw-volume"] = "[ hfp_ag hsp_ag a2dp_source a2dp_sink ]",
|
||||||
["bluez5.reconnect-profiles"] = "[ hsp_hs hfp_hf 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.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;
|
hardware.pulseaudio.enable = lib.mkForce false;
|
||||||
services.jack.jackd.enable = lib.mkForce false;
|
services.jack.jackd.enable = lib.mkForce false;
|
||||||
|
@ -26,7 +26,7 @@ with config.deviceSpecific; {
|
|||||||
onShutdown = "shutdown";
|
onShutdown = "shutdown";
|
||||||
};
|
};
|
||||||
|
|
||||||
home-manager.users.alukard = {
|
home-manager.users.${config.mainuser} = {
|
||||||
home.file.".config/libvirt/libvirt.conf".text = ''
|
home.file.".config/libvirt/libvirt.conf".text = ''
|
||||||
uri_default = "qemu:///system"
|
uri_default = "qemu:///system"
|
||||||
'';
|
'';
|
||||||
|
@ -1,6 +1,6 @@
|
|||||||
{ config, pkgs, ... }: {
|
{ config, pkgs, ... }: {
|
||||||
environment.systemPackages = [ pkgs.copyq ];
|
environment.systemPackages = [ pkgs.copyq ];
|
||||||
home-manager.users.alukard = {
|
home-manager.users.${config.mainuser} = {
|
||||||
wayland.windowManager.hyprland.extraConfig = ''
|
wayland.windowManager.hyprland.extraConfig = ''
|
||||||
windowrule=float,title=(.*CopyQ)
|
windowrule=float,title=(.*CopyQ)
|
||||||
'';
|
'';
|
||||||
|
@ -2,7 +2,7 @@
|
|||||||
let
|
let
|
||||||
thm = config.lib.base16.theme;
|
thm = config.lib.base16.theme;
|
||||||
in {
|
in {
|
||||||
home-manager.users.alukard = {
|
home-manager.users.${config.mainuser} = {
|
||||||
home.pointerCursor = {
|
home.pointerCursor = {
|
||||||
package = thm.cursorPackage;
|
package = thm.cursorPackage;
|
||||||
name = "Bibata-Modern-TokyoNight";
|
name = "Bibata-Modern-TokyoNight";
|
||||||
|
@ -1,5 +1,5 @@
|
|||||||
{ ... }: {
|
{ config, ... }: {
|
||||||
home-manager.users.alukard.programs = {
|
home-manager.users.${config.mainuser}.programs = {
|
||||||
direnv = {
|
direnv = {
|
||||||
enable = true;
|
enable = true;
|
||||||
enableZshIntegration = true;
|
enableZshIntegration = true;
|
||||||
|
@ -1,5 +1,5 @@
|
|||||||
{
|
{ config, ... }: {
|
||||||
home-manager.users.alukard = {
|
home-manager.users.${config.mainuser} = {
|
||||||
programs.git = {
|
programs.git = {
|
||||||
enable = true;
|
enable = true;
|
||||||
lfs.enable = true;
|
lfs.enable = true;
|
||||||
|
@ -1,6 +1,6 @@
|
|||||||
{ config, lib, ... }:
|
{ config, lib, ... }:
|
||||||
with config.deviceSpecific; {
|
with config.deviceSpecific; {
|
||||||
home-manager.users.alukard = {
|
home-manager.users.${config.mainuser} = {
|
||||||
programs.gpg = {
|
programs.gpg = {
|
||||||
enable = true;
|
enable = true;
|
||||||
homedir = config.secretsConfig.gnupgHome;
|
homedir = config.secretsConfig.gnupgHome;
|
||||||
|
@ -34,7 +34,7 @@ in {
|
|||||||
gtk.iconCache.enable = true;
|
gtk.iconCache.enable = true;
|
||||||
programs.dconf.enable = true;
|
programs.dconf.enable = true;
|
||||||
services.dbus.packages = with pkgs; [ dconf gcr ];
|
services.dbus.packages = with pkgs; [ dconf gcr ];
|
||||||
home-manager.users.alukard = {
|
home-manager.users.${config.mainuser} = {
|
||||||
gtk = {
|
gtk = {
|
||||||
enable = true;
|
enable = true;
|
||||||
iconTheme = {
|
iconTheme = {
|
||||||
|
@ -5,7 +5,7 @@ let
|
|||||||
gsettings = "${pkgs.glib}/bin/gsettings";
|
gsettings = "${pkgs.glib}/bin/gsettings";
|
||||||
gnomeSchema = "org.gnome.desktop.interface";
|
gnomeSchema = "org.gnome.desktop.interface";
|
||||||
importGsettings = pkgs.writeShellScript "import_gsettings.sh" ''
|
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
|
if [ ! -f "$config" ]; then exit 1; fi
|
||||||
gtk_theme="$(grep 'gtk-theme-name' "$config" | sed 's/.*\s*=\s*//')"
|
gtk_theme="$(grep 'gtk-theme-name' "$config" | sed 's/.*\s*=\s*//')"
|
||||||
icon_theme="$(grep 'gtk-icon-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 = [
|
imports = [
|
||||||
inputs.hyprland.homeManagerModules.default
|
inputs.hyprland.homeManagerModules.default
|
||||||
];
|
];
|
||||||
|
@ -3,7 +3,7 @@ let
|
|||||||
scripts = import ./scripts pkgs config;
|
scripts = import ./scripts pkgs config;
|
||||||
thm = config.lib.base16.theme;
|
thm = config.lib.base16.theme;
|
||||||
in {
|
in {
|
||||||
home-manager.users.alukard = {
|
home-manager.users.${config.mainuser} = {
|
||||||
# xsession.windowManager.i3.config.bars = [{
|
# xsession.windowManager.i3.config.bars = [{
|
||||||
wayland.windowManager.sway.config.bars = [{
|
wayland.windowManager.sway.config.bars = [{
|
||||||
id = "default";
|
id = "default";
|
||||||
|
@ -16,7 +16,7 @@ with config.lib.base16.theme; {
|
|||||||
KDEDIRS =
|
KDEDIRS =
|
||||||
"/run/current-system/sw:/run/current-system/sw/share/kservices5:/run/current-system/sw/share/kservicetypes5:/run/current-system/sw/share/kxmlgui5";
|
"/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;
|
services.kdeconnect.enable = true;
|
||||||
|
|
||||||
xdg.configFile."kdeglobals".text = lib.generators.toGitINI {
|
xdg.configFile."kdeglobals".text = lib.generators.toGitINI {
|
||||||
|
@ -19,7 +19,7 @@ with config.deviceSpecific; {
|
|||||||
longitude = 44.78;
|
longitude = 44.78;
|
||||||
};
|
};
|
||||||
|
|
||||||
home-manager.users.alukard = {
|
home-manager.users.${config.mainuser} = {
|
||||||
home.language = let
|
home.language = let
|
||||||
en = "en_GB.utf8";
|
en = "en_GB.utf8";
|
||||||
ru = "ru_RU.utf8";
|
ru = "ru_RU.utf8";
|
||||||
|
@ -1,5 +1,5 @@
|
|||||||
{ pkgs, config, ... }: {
|
{ pkgs, config, ... }: {
|
||||||
home-manager.users.alukard = {
|
home-manager.users.${config.mainuser} = {
|
||||||
systemd.user.services.mako = {
|
systemd.user.services.mako = {
|
||||||
Service = { ExecStart = "${pkgs.mako}/bin/mako"; };
|
Service = { ExecStart = "${pkgs.mako}/bin/mako"; };
|
||||||
Install = {
|
Install = {
|
||||||
|
@ -4,7 +4,7 @@
|
|||||||
LESS = "MR";
|
LESS = "MR";
|
||||||
LESSHISTFILE = "~/.local/share/lesshist";
|
LESSHISTFILE = "~/.local/share/lesshist";
|
||||||
SYSTEMD_LESS = LESS;
|
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";
|
LIBVIRT_DEFAULT_URI = "qemu:///system";
|
||||||
};
|
};
|
||||||
|
|
||||||
@ -12,7 +12,7 @@
|
|||||||
services.dbus.packages = [ pkgs.pass-secret-service ];
|
services.dbus.packages = [ pkgs.pass-secret-service ];
|
||||||
xdg.portal.extraPortals = [ pkgs.pass-secret-service ];
|
xdg.portal.extraPortals = [ pkgs.pass-secret-service ];
|
||||||
|
|
||||||
home-manager.users.alukard = {
|
home-manager.users.${config.mainuser} = {
|
||||||
news.display = "silent";
|
news.display = "silent";
|
||||||
systemd.user.startServices = true;
|
systemd.user.startServices = true;
|
||||||
|
|
||||||
|
@ -1,5 +1,5 @@
|
|||||||
{ ... }: {
|
{ config, ... }: {
|
||||||
home-manager.users.alukard = {
|
home-manager.users.${config.mainuser} = {
|
||||||
programs.nix-index = {
|
programs.nix-index = {
|
||||||
enable = true;
|
enable = true;
|
||||||
enableZshIntegration = true;
|
enableZshIntegration = true;
|
||||||
|
@ -1,6 +1,6 @@
|
|||||||
{ config, lib, pkgs, ... }:
|
{ config, lib, pkgs, ... }:
|
||||||
{
|
{
|
||||||
home-manager.users.alukard = {
|
home-manager.users.${config.mainuser} = {
|
||||||
services.picom = {
|
services.picom = {
|
||||||
enable = true;
|
enable = true;
|
||||||
backend = "glx";
|
backend = "glx";
|
||||||
|
@ -9,7 +9,7 @@ with config.deviceSpecific; {
|
|||||||
ports = [ 22 ];
|
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 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"
|
"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 = ''
|
programs.ssh.extraConfig = ''
|
||||||
Host nix-builder
|
Host nix-builder
|
||||||
hostname 192.168.0.100
|
hostname 192.168.0.100
|
||||||
user alukard
|
user ${config.mainuser}
|
||||||
identitiesOnly yes
|
identitiesOnly yes
|
||||||
identityFile ${config.secrets.ssh-builder.decrypted}
|
identityFile ${config.secrets.ssh-builder.decrypted}
|
||||||
'';
|
'';
|
||||||
|
|
||||||
home-manager.users.alukard = {
|
home-manager.users.${config.mainuser} = {
|
||||||
programs.ssh = {
|
programs.ssh = {
|
||||||
enable = true;
|
enable = true;
|
||||||
matchBlocks = {
|
matchBlocks = {
|
||||||
@ -40,19 +40,19 @@ with config.deviceSpecific; {
|
|||||||
};
|
};
|
||||||
"matrix.pve" = {
|
"matrix.pve" = {
|
||||||
hostname = "192.168.0.11";
|
hostname = "192.168.0.11";
|
||||||
user = "alukard";
|
user = config.mainuser;
|
||||||
};
|
};
|
||||||
"nixos.pve" = {
|
"nixos.pve" = {
|
||||||
hostname = "192.168.0.12";
|
hostname = "192.168.0.12";
|
||||||
user = "alukard";
|
user = config.mainuser;
|
||||||
};
|
};
|
||||||
"dell.ataraxia" = {
|
"dell.ataraxia" = {
|
||||||
hostname = "192.168.0.101";
|
hostname = "192.168.0.101";
|
||||||
user = "alukard";
|
user = config.mainuser;
|
||||||
};
|
};
|
||||||
"amd.ataraxia" = {
|
"amd.ataraxia" = {
|
||||||
hostname = "192.168.0.100";
|
hostname = "192.168.0.100";
|
||||||
user = "alukard";
|
user = config.mainuser;
|
||||||
};
|
};
|
||||||
};
|
};
|
||||||
extraConfig = ''
|
extraConfig = ''
|
||||||
|
@ -1,6 +1,6 @@
|
|||||||
{ config, lib, pkgs, inputs, ... }:
|
{ config, lib, pkgs, inputs, ... }:
|
||||||
with config.deviceSpecific; {
|
with config.deviceSpecific; {
|
||||||
home-manager.users.alukard.programs.waybar = {
|
home-manager.users.${config.mainuser}.programs.waybar = {
|
||||||
enable = true;
|
enable = true;
|
||||||
# package = inputs.nixpkgs-wayland.packages.${pkgs.system}.waybar;
|
# package = inputs.nixpkgs-wayland.packages.${pkgs.system}.waybar;
|
||||||
settings = {
|
settings = {
|
||||||
|
@ -1,5 +1,5 @@
|
|||||||
{ config, pkgs, lib, ... }: {
|
{ config, pkgs, lib, ... }: {
|
||||||
home-manager.users.alukard = {
|
home-manager.users.${config.mainuser} = {
|
||||||
xdg.enable = true;
|
xdg.enable = true;
|
||||||
xdg.userDirs.enable = true;
|
xdg.userDirs.enable = true;
|
||||||
|
|
||||||
|
@ -2,7 +2,7 @@
|
|||||||
|
|
||||||
environment.pathsToLink = [ "/share/zsh" ];
|
environment.pathsToLink = [ "/share/zsh" ];
|
||||||
environment.sessionVariables.SHELL = "${pkgs.zsh}/bin/zsh";
|
environment.sessionVariables.SHELL = "${pkgs.zsh}/bin/zsh";
|
||||||
home-manager.users.alukard = {
|
home-manager.users.${config.mainuser} = {
|
||||||
home.sessionVariables.SHELL = "${pkgs.zsh}/bin/zsh";
|
home.sessionVariables.SHELL = "${pkgs.zsh}/bin/zsh";
|
||||||
programs = {
|
programs = {
|
||||||
zsh = {
|
zsh = {
|
||||||
|
@ -19,6 +19,7 @@
|
|||||||
secrets-envsubst
|
secrets-envsubst
|
||||||
security
|
security
|
||||||
ssh
|
ssh
|
||||||
|
users
|
||||||
zsh
|
zsh
|
||||||
];
|
];
|
||||||
}
|
}
|
||||||
|
@ -17,6 +17,7 @@
|
|||||||
secrets-envsubst
|
secrets-envsubst
|
||||||
security
|
security
|
||||||
ssh
|
ssh
|
||||||
|
users
|
||||||
zsh
|
zsh
|
||||||
|
|
||||||
vscode-server
|
vscode-server
|
||||||
|
@ -18,6 +18,7 @@
|
|||||||
secrets-envsubst
|
secrets-envsubst
|
||||||
security
|
security
|
||||||
ssh
|
ssh
|
||||||
|
users
|
||||||
zsh
|
zsh
|
||||||
];
|
];
|
||||||
|
|
||||||
|
Loading…
x
Reference in New Issue
Block a user