Reduce jay-lenovo switch source builds
This commit is contained in:
@@ -2,18 +2,30 @@
|
||||
pkgs,
|
||||
lib,
|
||||
inputs,
|
||||
config ? {},
|
||||
...
|
||||
}: let
|
||||
system = pkgs.stdenv.hostPlatform.system;
|
||||
isJayLenovo = (config.networking.hostName or null) == "jay-lenovo";
|
||||
inputPackageOrNull = inputName: packageName: let
|
||||
input = inputs.${inputName} or null;
|
||||
packages = if input == null then null else input.packages or null;
|
||||
systemPackages = if packages == null then null else packages.${system} or null;
|
||||
packages =
|
||||
if input == null
|
||||
then null
|
||||
else input.packages or null;
|
||||
systemPackages =
|
||||
if packages == null
|
||||
then null
|
||||
else packages.${system} or null;
|
||||
in
|
||||
if systemPackages == null then null else systemPackages.${packageName} or null;
|
||||
if systemPackages == null
|
||||
then null
|
||||
else systemPackages.${packageName} or null;
|
||||
|
||||
git-blame-rank = inputs.git-blame-rank.packages.${system}.default.overrideAttrs (old: {
|
||||
env = (old.env or {}) // {
|
||||
env =
|
||||
(old.env or {})
|
||||
// {
|
||||
CARGO_BUILD_JOBS = "1";
|
||||
};
|
||||
});
|
||||
@@ -25,7 +37,6 @@
|
||||
|
||||
commonPkgs = lib.filter (pkg: lib.meta.availableOn pkgs.stdenv.hostPlatform pkg) ((with pkgs; [
|
||||
automake
|
||||
bazel
|
||||
bento4
|
||||
bind
|
||||
binutils
|
||||
@@ -72,6 +83,7 @@
|
||||
xkcdpass
|
||||
yubikey-manager
|
||||
])
|
||||
++ lib.optionals (!isJayLenovo) [pkgs.bazel]
|
||||
++ lib.optionals (coquiTtsStreamer != null) [coquiTtsStreamer]
|
||||
++ lib.optionals (builtins.hasAttr "git-sync-rs" pkgs) [pkgs.git-sync-rs]);
|
||||
|
||||
|
||||
@@ -5,20 +5,18 @@
|
||||
lib,
|
||||
makeEnable,
|
||||
...
|
||||
}:
|
||||
let
|
||||
}: let
|
||||
codexDesktopLinuxSource = pkgs.applyPatches {
|
||||
name = "codex-desktop-linux-patched";
|
||||
src = inputs.codex-desktop-linux;
|
||||
patches = [ ./patches/codex-desktop-linux-gsettings-schemas.patch ];
|
||||
patches = [./patches/codex-desktop-linux-gsettings-schemas.patch];
|
||||
};
|
||||
claudeDesktopSource = inputs.claude-desktop;
|
||||
claudeDesktop = pkgs.callPackage "${claudeDesktopSource}/nix/claude-desktop.nix" {};
|
||||
claudeDesktopFhs = pkgs.callPackage "${claudeDesktopSource}/nix/fhs.nix" {
|
||||
claude-desktop = claudeDesktop;
|
||||
};
|
||||
codexDesktopLinux =
|
||||
let
|
||||
codexDesktopLinux = let
|
||||
flake = import "${codexDesktopLinuxSource}/flake.nix";
|
||||
self' =
|
||||
(flake.outputs {
|
||||
@@ -34,7 +32,7 @@ let
|
||||
in
|
||||
self';
|
||||
in
|
||||
makeEnable config "myModules.code" true {
|
||||
makeEnable config "myModules.code" true {
|
||||
programs.direnv = {
|
||||
enable = true;
|
||||
nix-direnv.enable = true;
|
||||
@@ -101,7 +99,6 @@ makeEnable config "myModules.code" true {
|
||||
# LLM Tools
|
||||
# antigravity
|
||||
claude-code
|
||||
claudeDesktopFhs
|
||||
codex
|
||||
gemini-cli
|
||||
opencode
|
||||
@@ -119,7 +116,6 @@ makeEnable config "myModules.code" true {
|
||||
|
||||
# Haskell
|
||||
cabal-install
|
||||
cabal2nix
|
||||
ghc
|
||||
haskellPackages.hpack
|
||||
haskellPackages.hasktags
|
||||
@@ -174,6 +170,10 @@ makeEnable config "myModules.code" true {
|
||||
nil
|
||||
alejandra
|
||||
]
|
||||
++ lib.optionals (config.networking.hostName != "jay-lenovo") [
|
||||
claudeDesktopFhs
|
||||
cabal2nix
|
||||
]
|
||||
++ (
|
||||
if pkgs.stdenv.hostPlatform.system == "x86_64-linux"
|
||||
then
|
||||
@@ -185,4 +185,4 @@ makeEnable config "myModules.code" true {
|
||||
]
|
||||
else []
|
||||
);
|
||||
}
|
||||
}
|
||||
|
||||
@@ -1,5 +1,6 @@
|
||||
{
|
||||
config,
|
||||
inputs,
|
||||
lib,
|
||||
pkgs,
|
||||
...
|
||||
@@ -11,6 +12,15 @@
|
||||
myModules.wyoming.enable = false;
|
||||
features.full.enable = true;
|
||||
|
||||
nixpkgs.overlays = [
|
||||
(_final: prev: let
|
||||
stablePkgs = inputs.nixpkgs-stable.legacyPackages.${prev.stdenv.hostPlatform.system};
|
||||
in {
|
||||
shellcheck = stablePkgs.shellcheck;
|
||||
shellcheck-minimal = stablePkgs.shellcheck-minimal or stablePkgs.shellcheck;
|
||||
})
|
||||
];
|
||||
|
||||
environment.systemPackages = with pkgs; [
|
||||
android-studio
|
||||
perf
|
||||
|
||||
@@ -5,9 +5,12 @@
|
||||
lib,
|
||||
makeEnable,
|
||||
...
|
||||
}:
|
||||
makeEnable config "myModules.notifications-tray-icon" true {
|
||||
nixpkgs.overlays = [
|
||||
}: let
|
||||
system = pkgs.stdenv.hostPlatform.system;
|
||||
notificationsTrayIconPkgs = import pkgs.path {
|
||||
inherit system;
|
||||
config = pkgs.config or {};
|
||||
overlays = [
|
||||
inputs.notifications-tray-icon.overlays.default
|
||||
(final: prev: {
|
||||
haskellPackages = prev.haskellPackages.override (old: {
|
||||
@@ -30,9 +33,11 @@ makeEnable config "myModules.notifications-tray-icon" true {
|
||||
});
|
||||
})
|
||||
];
|
||||
|
||||
};
|
||||
in
|
||||
makeEnable config "myModules.notifications-tray-icon" true {
|
||||
home-manager.users.imalison = {config, ...}: let
|
||||
notificationsTrayIcon = pkgs.haskellPackages.notifications-tray-icon;
|
||||
notificationsTrayIcon = notificationsTrayIconPkgs.haskellPackages.notifications-tray-icon;
|
||||
gmailExecStart = pkgs.writeShellScript "notifications-tray-icon-gmail" ''
|
||||
creds_file="${config.xdg.configHome}/gws/client_secret.json"
|
||||
client_id=$(${pkgs.jq}/bin/jq -r '.installed.client_id // .web.client_id // empty' "$creds_file")
|
||||
@@ -84,4 +89,4 @@ makeEnable config "myModules.notifications-tray-icon" true {
|
||||
"${gmailExecStart}";
|
||||
};
|
||||
};
|
||||
}
|
||||
}
|
||||
|
||||
@@ -7,13 +7,13 @@
|
||||
...
|
||||
}: let
|
||||
session = import ./session-variables.nix;
|
||||
in
|
||||
makeEnable config "myModules.xmonad" true {
|
||||
myModules.taffybar.enable = lib.mkDefault (config.myModules.desktop.shellUi == "taffybar");
|
||||
|
||||
nixpkgs.overlays = with inputs; [
|
||||
xmonad.overlay
|
||||
xmonad-contrib.overlay
|
||||
system = pkgs.stdenv.hostPlatform.system;
|
||||
xmonadPkgs = import pkgs.path {
|
||||
inherit system;
|
||||
config = pkgs.config or {};
|
||||
overlays = [
|
||||
inputs.xmonad.overlay
|
||||
inputs.xmonad-contrib.overlay
|
||||
(final: prev: {
|
||||
haskellPackages = prev.haskellPackages.override (old: {
|
||||
overrides =
|
||||
@@ -31,6 +31,10 @@ in
|
||||
})
|
||||
(import ../dotfiles/config/xmonad/overlay.nix)
|
||||
];
|
||||
};
|
||||
in
|
||||
makeEnable config "myModules.xmonad" true {
|
||||
myModules.taffybar.enable = lib.mkDefault (config.myModules.desktop.shellUi == "taffybar");
|
||||
|
||||
services.rumno.enable = true;
|
||||
|
||||
@@ -48,13 +52,13 @@ in
|
||||
};
|
||||
};
|
||||
|
||||
environment.systemPackages = with pkgs; [
|
||||
environment.systemPackages = [
|
||||
# Haskell Desktop
|
||||
haskellPackages.xmonad
|
||||
haskellPackages.imalison-xmonad
|
||||
# haskellPackages.notifications-tray-icon
|
||||
# haskellPackages.gtk-sni-tray
|
||||
haskellPackages.dbus-hslogger
|
||||
xmonadPkgs.haskellPackages.xmonad
|
||||
xmonadPkgs.haskellPackages.imalison-xmonad
|
||||
# xmonadPkgs.haskellPackages.notifications-tray-icon
|
||||
# xmonadPkgs.haskellPackages.gtk-sni-tray
|
||||
xmonadPkgs.haskellPackages.dbus-hslogger
|
||||
];
|
||||
|
||||
home-manager.sharedModules = [
|
||||
|
||||
Reference in New Issue
Block a user