nixos: remove forEachUser helper
This commit is contained in:
@@ -1,4 +1,4 @@
|
||||
{ config, pkgs, forEachUser, makeEnable, realUsers, ... }:
|
||||
{ config, pkgs, makeEnable, realUsers, ... }:
|
||||
makeEnable config "myModules.base" true {
|
||||
nixpkgs.config.permittedInsecurePackages = [
|
||||
"electron-12.2.3"
|
||||
|
||||
@@ -97,9 +97,7 @@
|
||||
specialArgs = rec {
|
||||
inherit inputs machineNames;
|
||||
makeEnable = (import ../make-enable.nix) nixpkgs.lib;
|
||||
mapValueToKeys = keys: value: builtins.listToAttrs (map (name: { inherit name value; }) keys);
|
||||
realUsers = [ "root" "imalison" "kat" "dean" "alex" "ben"];
|
||||
forEachUser = mapValueToKeys realUsers;
|
||||
} // specialArgs // (import ../keys.nix);
|
||||
});
|
||||
in
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
{ config, lib, forEachUser, ... }:
|
||||
{ config, lib, ... }:
|
||||
{
|
||||
imports = [
|
||||
./android.nix
|
||||
|
||||
@@ -4,6 +4,7 @@ makeEnable config "myModules.desktop" true {
|
||||
imports = [
|
||||
./fonts.nix
|
||||
./hyprland.nix
|
||||
./keyd.nix
|
||||
];
|
||||
|
||||
services.xserver = {
|
||||
@@ -47,6 +48,7 @@ makeEnable config "myModules.desktop" true {
|
||||
|
||||
# XOrg
|
||||
autorandr
|
||||
keyd
|
||||
wmctrl
|
||||
xclip
|
||||
xdotool
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
{ pkgs, config, makeEnable, forEachUser, ... }:
|
||||
{ pkgs, config, makeEnable, ... }:
|
||||
makeEnable config "myModules.electron" false {
|
||||
environment.systemPackages = with pkgs; [
|
||||
element-desktop
|
||||
@@ -8,7 +8,8 @@ makeEnable config "myModules.electron" false {
|
||||
# keybase-gui
|
||||
zoom-us
|
||||
];
|
||||
home-manager.users = forEachUser (if pkgs.stdenv.hostPlatform.system == "x86_64-linux" then {
|
||||
home-manager.sharedModules = [
|
||||
(if pkgs.stdenv.hostPlatform.system == "x86_64-linux" then {
|
||||
# systemd.user.services.bitwarden = {
|
||||
# Unit = {
|
||||
# Description = "Bitwarden";
|
||||
@@ -24,5 +25,6 @@ makeEnable config "myModules.electron" false {
|
||||
# RestartSec = 3;
|
||||
# };
|
||||
# };
|
||||
} else {});
|
||||
} else {})
|
||||
];
|
||||
}
|
||||
|
||||
@@ -342,8 +342,6 @@
|
||||
(_: value: (builtins.elem "isNormalUser" (builtins.attrNames value)) && value.isNormalUser)
|
||||
usersInfo.users.users)
|
||||
);
|
||||
mapAllKeysToValue = keys: value: builtins.listToAttrs (map (name: {inherit name value;}) keys);
|
||||
forEachUser = mapAllKeysToValue realUsers;
|
||||
}
|
||||
// specialArgs;
|
||||
};
|
||||
|
||||
@@ -60,22 +60,6 @@
|
||||
'';
|
||||
};
|
||||
|
||||
systemd.user.services.setxkbmap = {
|
||||
Unit = {
|
||||
Description = "Set up keyboard in X";
|
||||
After = [ "graphical-session-pre.target" ];
|
||||
PartOf = [ "graphical-session.target" ];
|
||||
};
|
||||
|
||||
Install = { WantedBy = [ "graphical-session.target" ]; };
|
||||
|
||||
Service = {
|
||||
Type = "oneshot";
|
||||
RemainAfterExit = true;
|
||||
ExecStart = "/usr/bin/env load_xkb_map";
|
||||
};
|
||||
};
|
||||
|
||||
gtk = {
|
||||
enable = true;
|
||||
iconTheme = {
|
||||
|
||||
@@ -6,6 +6,119 @@ makeEnable config "myModules.hyprland" true {
|
||||
package = inputs.hyprland.packages.${pkgs.stdenv.hostPlatform.system}.hyprland;
|
||||
};
|
||||
|
||||
home-manager.sharedModules = [
|
||||
{
|
||||
# Wire the Hyprland config from dotfiles into ~/.config/hypr
|
||||
xdg.configFile."hypr" = {
|
||||
source = ../dotfiles/config/hypr;
|
||||
recursive = true;
|
||||
force = true;
|
||||
};
|
||||
|
||||
programs.waybar = {
|
||||
enable = true;
|
||||
systemd.enable = true;
|
||||
settings = [
|
||||
{
|
||||
layer = "top";
|
||||
position = "top";
|
||||
height = 30;
|
||||
"modules-left" = [ "hyprland/workspaces" ];
|
||||
"modules-center" = [ "hyprland/window" ];
|
||||
"modules-right" = [ "tray" "clock" ];
|
||||
|
||||
"hyprland/workspaces" = {
|
||||
format = "{id}:{windows}";
|
||||
"format-window-separator" = " ";
|
||||
"window-rewrite-default" = "";
|
||||
"window-rewrite" = {
|
||||
"class<firefox>" = "";
|
||||
"class<google-chrome|chromium>" = "";
|
||||
"class<code|codium>" = "";
|
||||
"class<Alacritty|kitty|foot>" = "";
|
||||
"class<Slack>" = "";
|
||||
"class<Spotify>" = "";
|
||||
"class<Element|discord>" = "";
|
||||
"class<pavucontrol>" = "";
|
||||
"class<transmission-gtk>" = "";
|
||||
};
|
||||
"persistent-workspaces" = { "*" = 10; };
|
||||
"all-outputs" = true;
|
||||
"on-click" = "activate";
|
||||
};
|
||||
|
||||
"hyprland/window" = {
|
||||
format = "{class}: {title}";
|
||||
"separate-outputs" = true;
|
||||
};
|
||||
|
||||
tray = {
|
||||
spacing = 8;
|
||||
};
|
||||
|
||||
clock = {
|
||||
format = "{:%a %b %d %I:%M:%S %p}";
|
||||
};
|
||||
}
|
||||
];
|
||||
style = ''
|
||||
* {
|
||||
border: none;
|
||||
border-radius: 0;
|
||||
font-family: "Roboto", "JetBrainsMono Nerd Font";
|
||||
font-size: 11pt;
|
||||
min-height: 0;
|
||||
}
|
||||
|
||||
window#waybar {
|
||||
background: rgba(24, 24, 24, 0.92);
|
||||
color: #e6e6e6;
|
||||
}
|
||||
|
||||
#workspaces {
|
||||
margin-left: 6px;
|
||||
}
|
||||
|
||||
#workspaces button {
|
||||
padding: 0 8px;
|
||||
margin: 4px 4px;
|
||||
border-radius: 6px;
|
||||
background: transparent;
|
||||
color: #bfbfbf;
|
||||
}
|
||||
|
||||
#workspaces button.active {
|
||||
background: #e0b45a;
|
||||
color: #1c1c1c;
|
||||
}
|
||||
|
||||
#workspaces button.visible {
|
||||
background: #3a3a3a;
|
||||
color: #e6e6e6;
|
||||
}
|
||||
|
||||
#workspaces button.urgent {
|
||||
background: #e06060;
|
||||
color: #1c1c1c;
|
||||
}
|
||||
|
||||
#workspaces button.empty {
|
||||
color: #777777;
|
||||
}
|
||||
|
||||
#window {
|
||||
padding: 0 10px;
|
||||
}
|
||||
|
||||
#tray,
|
||||
#clock {
|
||||
padding: 0 10px;
|
||||
}
|
||||
'';
|
||||
};
|
||||
}
|
||||
];
|
||||
|
||||
# Hyprland-specific packages
|
||||
environment.systemPackages = with pkgs; [
|
||||
# Hyprland utilities
|
||||
|
||||
@@ -1,5 +1,5 @@
|
||||
{ forEachUser, ... }: {
|
||||
home-manager.users = forEachUser {
|
||||
services.kbfs.enable = true;
|
||||
};
|
||||
{ ... }: {
|
||||
home-manager.sharedModules = [
|
||||
{ services.kbfs.enable = true; }
|
||||
];
|
||||
}
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
{ lib, pkgs, inputs, forEachUser, ... }:
|
||||
{ lib, pkgs, inputs, ... }:
|
||||
|
||||
{
|
||||
imports = [
|
||||
@@ -71,9 +71,11 @@
|
||||
|
||||
powerManagement.cpuFreqGovernor = lib.mkDefault "performance";
|
||||
|
||||
home-manager.users = forEachUser {
|
||||
home-manager.sharedModules = [
|
||||
{
|
||||
home.stateVersion = "23.05";
|
||||
};
|
||||
}
|
||||
];
|
||||
|
||||
system.stateVersion = "23.05";
|
||||
}
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
{ lib, pkgs, config, inputs, forEachUser, ... }:
|
||||
{ lib, pkgs, config, inputs, ... }:
|
||||
{
|
||||
imports = [
|
||||
../configuration.nix
|
||||
@@ -18,9 +18,11 @@
|
||||
wsl.defaultUser = "ben";
|
||||
system.stateVersion = "22.05";
|
||||
|
||||
home-manager.users = forEachUser {
|
||||
home-manager.sharedModules = [
|
||||
{
|
||||
home.stateVersion = "22.05";
|
||||
};
|
||||
}
|
||||
];
|
||||
|
||||
users.users.ben = {
|
||||
extraGroups = [
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
{ pkgs, lib, forEachUser, config, ... }:
|
||||
{ pkgs, lib, config, ... }:
|
||||
let biskcomp-nginx-hostnames = "192.168.1.44 railbird.ai 1896Folsom.duckdns.org biskcomp.local 0.0.0.0 67.162.131.71";
|
||||
in
|
||||
{
|
||||
@@ -157,7 +157,9 @@ in
|
||||
networking.hostName = "biskcomp";
|
||||
system.stateVersion = "23.11";
|
||||
|
||||
home-manager.users = forEachUser {
|
||||
home-manager.sharedModules = [
|
||||
{
|
||||
home.stateVersion = "23.11";
|
||||
};
|
||||
}
|
||||
];
|
||||
}
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
{ config, lib, pkgs, forEachUser, ... }:
|
||||
{ config, lib, pkgs, ... }:
|
||||
|
||||
{
|
||||
imports = [
|
||||
@@ -53,9 +53,11 @@
|
||||
|
||||
networking.hostName = "david-blade";
|
||||
|
||||
home-manager.users = forEachUser {
|
||||
home-manager.sharedModules = [
|
||||
{
|
||||
home.stateVersion = "24.05";
|
||||
};
|
||||
}
|
||||
];
|
||||
|
||||
powerManagement.cpuFreqGovernor = lib.mkDefault "powersave";
|
||||
system.stateVersion = "24.05";
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
{ lib, pkgs, config, inputs, forEachUser, ... }:
|
||||
{ lib, pkgs, config, inputs, ... }:
|
||||
{
|
||||
imports = [
|
||||
../configuration.nix
|
||||
@@ -15,7 +15,9 @@
|
||||
wsl.defaultUser = "dean";
|
||||
system.stateVersion = "22.05";
|
||||
|
||||
home-manager.users = forEachUser {
|
||||
home-manager.sharedModules = [
|
||||
{
|
||||
home.stateVersion = "22.05";
|
||||
};
|
||||
}
|
||||
];
|
||||
}
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
{ lib, pkgs, config, inputs, forEachUser, ... }:
|
||||
{ lib, pkgs, config, inputs, ... }:
|
||||
{
|
||||
imports = [
|
||||
../configuration.nix
|
||||
@@ -12,7 +12,9 @@
|
||||
wsl.defaultUser = "kat";
|
||||
system.stateVersion = "22.05";
|
||||
|
||||
home-manager.users = forEachUser {
|
||||
home-manager.sharedModules = [
|
||||
{
|
||||
home.stateVersion = "22.05";
|
||||
};
|
||||
}
|
||||
];
|
||||
}
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
{ config, lib, pkgs, forEachUser, ... }:
|
||||
{ config, lib, pkgs, ... }:
|
||||
|
||||
{
|
||||
imports = [
|
||||
@@ -55,7 +55,9 @@
|
||||
|
||||
system.stateVersion = "23.05";
|
||||
|
||||
home-manager.users = forEachUser {
|
||||
home-manager.sharedModules = [
|
||||
{
|
||||
home.stateVersion = "23.05";
|
||||
};
|
||||
}
|
||||
];
|
||||
}
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
{ config, lib, pkgs, forEachUser, ... }:
|
||||
{ config, lib, pkgs, ... }:
|
||||
|
||||
{
|
||||
imports = [
|
||||
@@ -106,9 +106,11 @@
|
||||
{ device = "/dev/disk/by-uuid/598e9aa1-4940-4410-a2fa-3dfd8b7d2c0d"; }
|
||||
];
|
||||
|
||||
home-manager.users = forEachUser {
|
||||
home-manager.sharedModules = [
|
||||
{
|
||||
home.stateVersion = "23.11";
|
||||
};
|
||||
}
|
||||
];
|
||||
|
||||
networking.hostName = "jimi-hendnix";
|
||||
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
{ config, lib, pkgs, forEachUser, ... }:
|
||||
{ config, lib, pkgs, ... }:
|
||||
|
||||
{
|
||||
imports = [
|
||||
@@ -201,7 +201,9 @@
|
||||
|
||||
system.stateVersion = "23.05";
|
||||
|
||||
home-manager.users = forEachUser {
|
||||
home-manager.sharedModules = [
|
||||
{
|
||||
home.stateVersion = "23.05";
|
||||
};
|
||||
}
|
||||
];
|
||||
}
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
{ config, lib, pkgs, inputs, forEachUser, ... }:
|
||||
{ config, lib, pkgs, inputs, ... }:
|
||||
{
|
||||
imports = [
|
||||
../configuration.nix
|
||||
@@ -62,9 +62,11 @@
|
||||
services.xrdp.defaultWindowManager = "startplasma-x11";
|
||||
services.xrdp.openFirewall = true;
|
||||
|
||||
home-manager.users = forEachUser {
|
||||
home-manager.sharedModules = [
|
||||
{
|
||||
home.stateVersion = "23.11";
|
||||
};
|
||||
}
|
||||
];
|
||||
|
||||
system.stateVersion = "23.11";
|
||||
}
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
{ config, lib, pkgs, forEachUser, inputs, orgAgendaApiContainer ? null, orgAgendaApiImageName ? "org-agenda-api", ... }:
|
||||
{ config, lib, pkgs, inputs, orgAgendaApiContainer ? null, orgAgendaApiImageName ? "org-agenda-api", ... }:
|
||||
{
|
||||
imports = [
|
||||
../configuration.nix
|
||||
@@ -86,9 +86,11 @@
|
||||
powerManagement.cpuFreqGovernor = lib.mkDefault "powersave";
|
||||
hardware.cpu.amd.updateMicrocode = lib.mkDefault config.hardware.enableRedistributableFirmware;
|
||||
|
||||
home-manager.users = forEachUser {
|
||||
home-manager.sharedModules = [
|
||||
{
|
||||
home.stateVersion = "23.11";
|
||||
};
|
||||
}
|
||||
];
|
||||
|
||||
system.stateVersion = "23.11";
|
||||
}
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
{ lib, pkgs, forEachUser, ... }:
|
||||
{ lib, pkgs, ... }:
|
||||
|
||||
{
|
||||
imports = [
|
||||
@@ -93,9 +93,11 @@
|
||||
# services.xrdp.openFirewall = true;
|
||||
|
||||
system.stateVersion = "20.03";
|
||||
home-manager.users = forEachUser {
|
||||
home-manager.sharedModules = [
|
||||
{
|
||||
home.stateVersion = "21.05";
|
||||
};
|
||||
}
|
||||
];
|
||||
|
||||
# users.extraUsers.dean.home = "/shared/dean";
|
||||
}
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
{ lib, pkgs, config, inputs, forEachUser, ... }:
|
||||
{ lib, pkgs, config, inputs, ... }:
|
||||
{
|
||||
imports = [
|
||||
../configuration.nix
|
||||
@@ -18,7 +18,9 @@
|
||||
wsl.defaultUser = "imalison";
|
||||
system.stateVersion = "22.05";
|
||||
|
||||
home-manager.users = forEachUser {
|
||||
home-manager.sharedModules = [
|
||||
{
|
||||
home.stateVersion = "22.05";
|
||||
};
|
||||
}
|
||||
];
|
||||
}
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
{ lib, pkgs, forEachUser, ... }:
|
||||
{ lib, pkgs, ... }:
|
||||
|
||||
{
|
||||
imports = [
|
||||
@@ -83,9 +83,11 @@
|
||||
# services.xrdp.openFirewall = true;
|
||||
|
||||
system.stateVersion = "20.03";
|
||||
home-manager.users = forEachUser {
|
||||
home-manager.sharedModules = [
|
||||
{
|
||||
home.stateVersion = "21.05";
|
||||
};
|
||||
}
|
||||
];
|
||||
|
||||
# users.extraUsers.dean.home = "/shared/dean";
|
||||
}
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
{ lib, pkgs, config, inputs, forEachUser, ... }:
|
||||
{ lib, pkgs, config, inputs, ... }:
|
||||
{
|
||||
imports = [
|
||||
../configuration.nix
|
||||
@@ -11,9 +11,11 @@
|
||||
wsl.defaultUser = "imalison";
|
||||
system.stateVersion = "23.11"; # Did you read the comment?
|
||||
|
||||
home-manager.users = forEachUser {
|
||||
home-manager.sharedModules = [
|
||||
{
|
||||
home.stateVersion = "23.11";
|
||||
};
|
||||
}
|
||||
];
|
||||
|
||||
programs.gnupg = {
|
||||
agent = {
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
{ config, lib, pkgs, inputs, forEachUser, ... }:
|
||||
{ config, lib, pkgs, inputs, ... }:
|
||||
|
||||
{
|
||||
imports = [
|
||||
@@ -83,9 +83,11 @@
|
||||
powerManagement.cpuFreqGovernor = lib.mkDefault "performance";
|
||||
hardware.cpu.intel.updateMicrocode = lib.mkDefault true;
|
||||
|
||||
home-manager.users = forEachUser {
|
||||
home-manager.sharedModules = [
|
||||
{
|
||||
home.stateVersion = "23.05";
|
||||
};
|
||||
}
|
||||
];
|
||||
|
||||
system.stateVersion = "23.05";
|
||||
}
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
{ inputs, specialArgs, config, lib, ... }:
|
||||
{ inputs, specialArgs, config, lib, realUsers, ... }:
|
||||
{
|
||||
imports = [
|
||||
inputs.home-manager.nixosModules.home-manager
|
||||
@@ -11,6 +11,7 @@
|
||||
};
|
||||
};
|
||||
config = {
|
||||
home-manager.users = lib.genAttrs realUsers (_: {});
|
||||
home-manager.extraSpecialArgs = {
|
||||
nixos = {
|
||||
inherit specialArgs config;
|
||||
|
||||
@@ -1,7 +1,7 @@
|
||||
{ inputs, config, makeEnable, forEachUser, ... }:
|
||||
{ inputs, config, makeEnable, ... }:
|
||||
makeEnable config "myModules.vscode" true {
|
||||
home-manager.users = forEachUser {
|
||||
imports = [inputs.vscode-server.homeModules.default];
|
||||
services.vscode-server.enable = true;
|
||||
};
|
||||
home-manager.sharedModules = [
|
||||
inputs.vscode-server.homeModules.default
|
||||
{ services.vscode-server.enable = true; }
|
||||
];
|
||||
}
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
{ config, pkgs, inputs, forEachUser, makeEnable, ... }:
|
||||
{ config, pkgs, inputs, makeEnable, ... }:
|
||||
makeEnable config "myModules.xmonad" true {
|
||||
nixpkgs.overlays = with inputs; [
|
||||
xmonad.overlay
|
||||
@@ -34,7 +34,8 @@ makeEnable config "myModules.xmonad" true {
|
||||
inputs.imalison-taffybar.defaultPackage."${pkgs.stdenv.hostPlatform.system}"
|
||||
];
|
||||
|
||||
home-manager.users = forEachUser {
|
||||
home-manager.sharedModules = [
|
||||
{
|
||||
imports = [ ./dunst.nix ];
|
||||
|
||||
services.blueman-applet = {
|
||||
@@ -260,5 +261,6 @@ makeEnable config "myModules.xmonad" true {
|
||||
# RestartSec = 3;
|
||||
# };
|
||||
# };
|
||||
};
|
||||
}
|
||||
];
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user