move home configs to root

This commit is contained in:
Joakim Repomaa
2025-01-30 20:47:28 +02:00
parent ea7c4cbf31
commit 12647a2e77
27 changed files with 204 additions and 210 deletions

View File

Before

Width:  |  Height:  |  Size: 1.1 KiB

After

Width:  |  Height:  |  Size: 1.1 KiB

View File

Before

Width:  |  Height:  |  Size: 5.9 KiB

After

Width:  |  Height:  |  Size: 5.9 KiB

View File

@@ -6,6 +6,7 @@
moco = import ./moco;
};
extraSpecialArgs = { inherit ksoloti-pr inputs; };
sharedModules = [ (import ./common) ];
useUserPackages = true;
useGlobalPkgs = true;
};

View File

@@ -1,8 +1,6 @@
{ pkgs, ksoloti-pr, inputs, ... }:
{ pkgs, ksoloti-pr, ... }:
{
imports = [ ../common ];
config = {
_module.args.inputs = inputs;
# Home Manager needs a bit of information about you and the paths it should
# manage.
home.username = "jokke";

201
home/moco/default.nix Normal file
View File

@@ -0,0 +1,201 @@
{ pkgs, ... }:
let
homeDirectory = "/home/moco";
in
{
# Home Manager needs a bit of information about you and the paths it should
# manage.
home = {
username = "moco";
inherit homeDirectory;
packages = with pkgs; [
(slack.overrideAttrs (oldAttrs: {
fixupPhase = ''
sed -i -e 's/,"WebRTCPipeWireCapturer"/,"LebRTCPipeWireCapturer"/' $out/lib/slack/resources/app.asar
rm $out/bin/slack
makeWrapper $out/lib/slack/slack $out/bin/slack \
--prefix XDG_DATA_DIRS : $GSETTINGS_SCHEMAS_PATH \
--suffix PATH : ${lib.makeBinPath [ xdg-utils ]} \
--add-flags "--ozone-platform-hint=auto --enable-features=WaylandWindowDecorations,WebRTCPipeWireCapturer"
'';
}))
kooha
gnome-pomodoro
mitmproxy
(writeShellScriptBin "moco-admin-pw" ''
password=$(op item get fkj74ou6jfex7a6gcinac6o5oe --reveal --fields label=Kennwort)
otp=$(ykman oath accounts code -s 'MOCO:Admin')
echo "''${password}''${otp}" | wl-copy -n
'')
(writeShellScriptBin "moco-reto-otp" ''
ykman oath accounts code -s 'MOCO Reto' | wl-copy -n
'')
];
};
gnome = {
profilePicture = ../assets/profile-pictures/moco.png;
calendar.showWeekNumbers = true;
extensions.paperwm.winprops = [
{ wm_class = "gnome-pomodoro"; scratch_layer = true; }
];
};
programs.poetry = {
enable = true;
settings = {
virtualenvs = {
create = true;
inProject = true;
};
};
};
programs.zsh = {
cdpath = [
"${homeDirectory}/Code/mocoapp"
"${homeDirectory}/Code/mocoapp-promo"
"${homeDirectory}/Code/mocoapp-llama"
];
dirHashes = {
moco = "${homeDirectory}/Code/mocoapp";
promo = "${homeDirectory}/Code/mocoapp-promo";
llama = "${homeDirectory}/Code/mocoapp-llama";
};
};
programs.git.extraConfig.user.email = "joakim.repomaa@mocoapp.com";
programs.neovim = {
withTreesitterPlugins = p: [
p.ruby
p.javascript
p.typescript
p.graphql
];
formatters = [
{
filetypes = [ "ruby" ];
globs = [ "*.rb" "Gemfile" "*.rake" ];
exe = "bundle";
args = file: [ "exec" "rufo" "-x" "--filename" file ];
stdin = true;
}
{
filetypes = [ "javascript" "typescript" "javascriptreact" "typescriptreact" ];
globs = [ "*.js" "*.jsx" "*.ts" "*.tsx" ];
exe = "npx";
args = file: [ "prettier" "--stdin-filepath" file ];
stdin = true;
}
];
lsp.servers = with pkgs; [
{
name = "ruby_lsp";
config = {
init_options = {
formatter = "auto";
};
};
package = ruby-lsp;
}
{
name = "graphql";
package = nodePackages.graphql-language-service-cli;
}
];
};
programs.ssh.matchBlocks =
let
aliases = [ "moco" "mocoapp" "mocoapp.com" ];
matcher = subdomains:
builtins.concatStringsSep " " (
map
(alias: builtins.concatStringsSep " " (
map (subdomain: "*.${subdomain}.${alias} ${subdomain}.${alias}") subdomains
))
aliases);
in
{
"console.*.moco" = {
extraOptions = {
RequestTTY = "force";
RemoteCommand = "./rails-console.sh";
};
};
"${matcher ["reto" "reto.intern"]}" = {
hostname = "reto.intern.mocoapp.com";
user = "jokke";
};
"${matcher ["web"]}" = {
hostname = "mocoapp.com";
};
"${matcher ["prod-inc"]}" = {
hostname = "prod-inc.mocoapp.com";
};
"${matcher ["prod"]}" = {
hostname = "web02.mocoapp";
};
"${matcher ["pfg" "primeforcegroup"]}" = {
hostname = "primeforcegroup.mocoapp.com";
};
"${matcher ["crafft"]}" = {
hostname = "crafft.mocoapp.com";
};
"${matcher ["bd" "businessdecision"]}" = {
hostname = "businessdecision.mocoapp.com";
};
"${matcher ["festland"]}" = {
hostname = "festland.mocoapp.com";
};
"${matcher ["oi" "one-inside"]}" = {
hostname = "one-inside.mocoapp.com";
};
"${matcher ["se" "scope-engineering"]}" = {
hostname = "scope-engineering.mocoapp.com";
};
"${matcher ["cpc" "cpc-ag"]}" = {
hostname = "cpc-ag.mocoapp.com";
};
"${matcher ["weareact3"]}" = {
hostname = "weareact3.mocoapp.com";
};
"${matcher ["avenit"]}" = {
hostname = "avenit.mocoapp.com";
};
"${matcher ["staging"]}" = {
hostname = "staging.mocoapp.com";
};
"${matcher ["staging-v2"]}" = {
hostname = "staging-v2.mocoapp.com";
};
"${matcher ["staging-v3"]}" = {
hostname = "staging-v3.mocoapp.com";
};
"${matcher ["staging-v4"]}" = {
hostname = "staging-v4.mocoapp.com";
};
"${matcher ["staging-v5"]}" = {
hostname = "staging-v5.mocoapp.com";
};
"${matcher ["staging-v6"]}" = {
hostname = "staging-v6.mocoapp.com";
};
"${matcher ["prod-db" "production-db"]}" = {
hostname = "production-db.mocoapp";
};
"${matcher ["pdf-renderer"]}" = {
hostname = "mocoapp-pdf-renderer01.mocoapp.com";
};
"*.moco *.mocoapp *.mocoapp.com" = {
forwardAgent = true;
};
"*.moco !reto.moco *.mocoapp.com !reto.mocoapp.com" = {
user = "butler";
};
};
}

View File

@@ -9,6 +9,6 @@
./containers.nix
./desktop.nix
./users.nix
./home
../home
];
}

View File

@@ -1,206 +0,0 @@
{ pkgs, inputs, ... }:
{
imports = [ ../common ];
config =
let
homeDirectory = "/home/moco";
in
{
_module.args.inputs = inputs;
# Home Manager needs a bit of information about you and the paths it should
# manage.
home = {
username = "moco";
inherit homeDirectory;
packages = with pkgs; [
(slack.overrideAttrs (oldAttrs: {
fixupPhase = ''
sed -i -e 's/,"WebRTCPipeWireCapturer"/,"LebRTCPipeWireCapturer"/' $out/lib/slack/resources/app.asar
rm $out/bin/slack
makeWrapper $out/lib/slack/slack $out/bin/slack \
--prefix XDG_DATA_DIRS : $GSETTINGS_SCHEMAS_PATH \
--suffix PATH : ${lib.makeBinPath [ xdg-utils ]} \
--add-flags "--ozone-platform-hint=auto --enable-features=WaylandWindowDecorations,WebRTCPipeWireCapturer"
'';
}))
kooha
gnome-pomodoro
mitmproxy
(writeShellScriptBin "moco-admin-pw" ''
password=$(op item get fkj74ou6jfex7a6gcinac6o5oe --reveal --fields label=Kennwort)
otp=$(ykman oath accounts code -s 'MOCO:Admin')
echo "''${password}''${otp}" | wl-copy -n
'')
(writeShellScriptBin "moco-reto-otp" ''
ykman oath accounts code -s 'MOCO Reto' | wl-copy -n
'')
];
};
gnome = {
profilePicture = ../assets/profile-pictures/moco.png;
calendar.showWeekNumbers = true;
extensions.paperwm.winprops = [
{ wm_class = "gnome-pomodoro"; scratch_layer = true; }
];
};
programs.poetry = {
enable = true;
settings = {
virtualenvs = {
create = true;
inProject = true;
};
};
};
programs.zsh = {
cdpath = [
"${homeDirectory}/Code/mocoapp"
"${homeDirectory}/Code/mocoapp-promo"
"${homeDirectory}/Code/mocoapp-llama"
];
dirHashes = {
moco = "${homeDirectory}/Code/mocoapp";
promo = "${homeDirectory}/Code/mocoapp-promo";
llama = "${homeDirectory}/Code/mocoapp-llama";
};
};
programs.git.extraConfig.user.email = "joakim.repomaa@mocoapp.com";
programs.neovim = {
withTreesitterPlugins = p: [
p.ruby
p.javascript
p.typescript
p.graphql
];
formatters = [
{
filetypes = [ "ruby" ];
globs = [ "*.rb" "Gemfile" "*.rake" ];
exe = "bundle";
args = file: [ "exec" "rufo" "-x" "--filename" file ];
stdin = true;
}
{
filetypes = [ "javascript" "typescript" "javascriptreact" "typescriptreact" ];
globs = [ "*.js" "*.jsx" "*.ts" "*.tsx" ];
exe = "npx";
args = file: [ "prettier" "--stdin-filepath" file ];
stdin = true;
}
];
lsp.servers = with pkgs; [
{
name = "ruby_lsp";
config = {
init_options = {
formatter = "auto";
};
};
package = ruby-lsp;
}
{
name = "graphql";
package = nodePackages.graphql-language-service-cli;
}
];
};
programs.ssh.matchBlocks =
let
aliases = [ "moco" "mocoapp" "mocoapp.com" ];
matcher = subdomains:
builtins.concatStringsSep " " (
map
(alias: builtins.concatStringsSep " " (
map (subdomain: "*.${subdomain}.${alias} ${subdomain}.${alias}") subdomains
))
aliases);
in
{
"console.*.moco" = {
extraOptions = {
RequestTTY = "force";
RemoteCommand = "./rails-console.sh";
};
};
"${matcher ["reto" "reto.intern"]}" = {
hostname = "reto.intern.mocoapp.com";
user = "jokke";
};
"${matcher ["web"]}" = {
hostname = "mocoapp.com";
};
"${matcher ["prod-inc"]}" = {
hostname = "prod-inc.mocoapp.com";
};
"${matcher ["prod"]}" = {
hostname = "web02.mocoapp";
};
"${matcher ["pfg" "primeforcegroup"]}" = {
hostname = "primeforcegroup.mocoapp.com";
};
"${matcher ["crafft"]}" = {
hostname = "crafft.mocoapp.com";
};
"${matcher ["bd" "businessdecision"]}" = {
hostname = "businessdecision.mocoapp.com";
};
"${matcher ["festland"]}" = {
hostname = "festland.mocoapp.com";
};
"${matcher ["oi" "one-inside"]}" = {
hostname = "one-inside.mocoapp.com";
};
"${matcher ["se" "scope-engineering"]}" = {
hostname = "scope-engineering.mocoapp.com";
};
"${matcher ["cpc" "cpc-ag"]}" = {
hostname = "cpc-ag.mocoapp.com";
};
"${matcher ["weareact3"]}" = {
hostname = "weareact3.mocoapp.com";
};
"${matcher ["avenit"]}" = {
hostname = "avenit.mocoapp.com";
};
"${matcher ["staging"]}" = {
hostname = "staging.mocoapp.com";
};
"${matcher ["staging-v2"]}" = {
hostname = "staging-v2.mocoapp.com";
};
"${matcher ["staging-v3"]}" = {
hostname = "staging-v3.mocoapp.com";
};
"${matcher ["staging-v4"]}" = {
hostname = "staging-v4.mocoapp.com";
};
"${matcher ["staging-v5"]}" = {
hostname = "staging-v5.mocoapp.com";
};
"${matcher ["staging-v6"]}" = {
hostname = "staging-v6.mocoapp.com";
};
"${matcher ["prod-db" "production-db"]}" = {
hostname = "production-db.mocoapp";
};
"${matcher ["pdf-renderer"]}" = {
hostname = "mocoapp-pdf-renderer01.mocoapp.com";
};
"*.moco *.mocoapp *.mocoapp.com" = {
forwardAgent = true;
};
"*.moco !reto.moco *.mocoapp.com !reto.mocoapp.com" = {
user = "butler";
};
};
};
}