mirror of
https://github.com/nickolaj-jepsen/nixos.git
synced 2026-01-23 08:26:49 +01:00
feat: add minilab
This commit is contained in:
parent
c16d6d1b4d
commit
30a41e2fec
23 changed files with 3194 additions and 21 deletions
|
|
@ -1,4 +1,8 @@
|
|||
{lib, ...}: {
|
||||
{
|
||||
config,
|
||||
lib,
|
||||
...
|
||||
}: {
|
||||
options.fireproof = {
|
||||
hostname = lib.mkOption {
|
||||
type = lib.types.str;
|
||||
|
|
@ -9,7 +13,24 @@
|
|||
description = "The primary username for the machine";
|
||||
};
|
||||
work.enable = lib.mkEnableOption "Enable work-related applications and tools";
|
||||
dev.enable = lib.mkEnableOption "Enable development tools and applications";
|
||||
dev = {
|
||||
enable = lib.mkEnableOption "Enable development tools and applications";
|
||||
intellij.enable = lib.mkOption {
|
||||
type = lib.types.bool;
|
||||
default = config.fireproof.dev.enable;
|
||||
description = "Enable IntelliJ-based IDEs";
|
||||
};
|
||||
clickhouse.enable = lib.mkOption {
|
||||
type = lib.types.bool;
|
||||
default = config.fireproof.dev.enable;
|
||||
description = "Enable Clickhouse";
|
||||
};
|
||||
playwright.enable = lib.mkOption {
|
||||
type = lib.types.bool;
|
||||
default = config.fireproof.dev.enable;
|
||||
description = "Enable Playwright";
|
||||
};
|
||||
};
|
||||
hardware = {
|
||||
battery = lib.mkOption {
|
||||
type = lib.types.bool;
|
||||
|
|
|
|||
|
|
@ -10,6 +10,16 @@
|
|||
default = config.fireproof.desktop.enable;
|
||||
description = "Enable window manager (niri) and dank material shell (dms)";
|
||||
};
|
||||
chromium.enable = lib.mkOption {
|
||||
type = lib.types.bool;
|
||||
default = config.fireproof.desktop.enable;
|
||||
description = "Enable Chromium";
|
||||
};
|
||||
zed.enable = lib.mkOption {
|
||||
type = lib.types.bool;
|
||||
default = config.fireproof.desktop.enable;
|
||||
description = "Enable Zed editor";
|
||||
};
|
||||
};
|
||||
|
||||
imports = [
|
||||
|
|
|
|||
|
|
@ -5,7 +5,7 @@
|
|||
pkgsUnstable,
|
||||
...
|
||||
}: {
|
||||
config = lib.mkIf config.fireproof.desktop.enable {
|
||||
config = lib.mkIf (config.fireproof.desktop.enable && config.fireproof.desktop.chromium.enable) {
|
||||
fireproof.home-manager.programs.chromium = {
|
||||
enable = true;
|
||||
package = pkgsUnstable.chromium;
|
||||
|
|
|
|||
|
|
@ -5,7 +5,7 @@
|
|||
pkgsUnstable,
|
||||
...
|
||||
}: {
|
||||
config = lib.mkIf config.fireproof.dev.enable {
|
||||
config = lib.mkIf config.fireproof.dev.clickhouse.enable {
|
||||
environment.systemPackages = [
|
||||
pkgsUnstable.clickhouse
|
||||
pkgsUnstable.envsubst
|
||||
|
|
|
|||
|
|
@ -5,7 +5,7 @@
|
|||
pkgsUnstable,
|
||||
...
|
||||
}: {
|
||||
config = lib.mkIf config.fireproof.dev.enable {
|
||||
config = lib.mkIf config.fireproof.dev.playwright.enable {
|
||||
fireproof.home-manager.programs.fish.shellInit = ''
|
||||
set -xg PLAYWRIGHT_BROWSERS_PATH ${pkgsUnstable.playwright-driver.browsers}
|
||||
set -xg PLAYWRIGHT_SKIP_VALIDATE_HOST_REQUIREMENTS true
|
||||
|
|
|
|||
|
|
@ -4,22 +4,19 @@
|
|||
lib,
|
||||
pkgsUnstable,
|
||||
...
|
||||
}: let
|
||||
pycharmPkg = pkgsUnstable.jetbrains.pycharm.override {
|
||||
# -Dide.browser.jcef.enabled causes crashes on wayland
|
||||
vmopts = ''
|
||||
-Dide.browser.jcef.enabled=false
|
||||
-Dawt.toolkit.name=WLToolkit
|
||||
-Xmx8G
|
||||
'';
|
||||
};
|
||||
# pycharmWithPlugins = pkgsUnstable.jetbrains.plugins.addPlugins pycharmPkg [
|
||||
# "github-copilot"
|
||||
# ];
|
||||
in {
|
||||
config = lib.mkIf (config.fireproof.desktop.enable && config.fireproof.dev.enable) {
|
||||
}: {
|
||||
config = lib.mkIf (config.fireproof.desktop.enable && config.fireproof.dev.intellij.enable) (let
|
||||
pycharmPkg = pkgsUnstable.jetbrains.pycharm.override {
|
||||
# -Dide.browser.jcef.enabled causes crashes on wayland
|
||||
vmopts = ''
|
||||
-Dide.browser.jcef.enabled=false
|
||||
-Dawt.toolkit.name=WLToolkit
|
||||
-Xmx8G
|
||||
'';
|
||||
};
|
||||
in {
|
||||
environment.systemPackages = [
|
||||
pycharmPkg
|
||||
];
|
||||
};
|
||||
});
|
||||
}
|
||||
|
|
|
|||
|
|
@ -5,7 +5,7 @@
|
|||
pkgsUnstable,
|
||||
...
|
||||
}: {
|
||||
config = lib.mkIf (config.fireproof.desktop.enable && config.fireproof.dev.enable) {
|
||||
config = lib.mkIf (config.fireproof.desktop.enable && config.fireproof.desktop.zed.enable) {
|
||||
fireproof.home-manager.programs.zed-editor = {
|
||||
enable = true;
|
||||
package = pkgsUnstable.zed-editor;
|
||||
|
|
|
|||
|
|
@ -45,6 +45,11 @@ in {
|
|||
hostname = "x.nickolaj.com";
|
||||
user = "nickolaj";
|
||||
};
|
||||
minilab = {
|
||||
hostname = "10.0.0.7";
|
||||
user = "nickolaj";
|
||||
proxyJump = "homelab";
|
||||
};
|
||||
"forgejo.nickolaj.com" = {
|
||||
hostname = "forgejo.nickolaj.com";
|
||||
user = "git";
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue