Compare commits
1 Commits
bead/nixos
...
bead/nixos
| Author | SHA1 | Date | |
|---|---|---|---|
| 49e6df605d |
113
flake.nix
113
flake.nix
@@ -56,75 +56,94 @@
|
||||
};
|
||||
|
||||
outputs = { self, nixpkgs, nixpkgs-unstable, nixos-wsl, ... } @ inputs: let
|
||||
# Shared overlay function to reduce duplication across module sets
|
||||
# Parameters:
|
||||
# unstableOverlays: Additional overlays to apply when importing nixpkgs-unstable
|
||||
mkBaseOverlay = { unstableOverlays ? [] }: (final: prev: {
|
||||
unstable = import nixpkgs-unstable {
|
||||
system = prev.stdenv.hostPlatform.system;
|
||||
config.allowUnfree = true;
|
||||
overlays = unstableOverlays;
|
||||
};
|
||||
custom = prev.callPackage ./packages {};
|
||||
# Compatibility: bitwarden renamed to bitwarden-desktop in unstable
|
||||
bitwarden-desktop = prev.bitwarden-desktop or prev.bitwarden;
|
||||
});
|
||||
|
||||
# Shared home-manager configuration factory
|
||||
# Parameters:
|
||||
# sharedModules: Additional modules to include in home-manager.sharedModules
|
||||
mkHomeManagerConfig = { sharedModules ? [] }: {
|
||||
home-manager.useGlobalPkgs = true;
|
||||
home-manager.useUserPackages = true;
|
||||
home-manager.sharedModules = sharedModules ++ [
|
||||
inputs.nix-doom-emacs-unstraightened.homeModule
|
||||
];
|
||||
home-manager.extraSpecialArgs = {
|
||||
globalInputs = inputs;
|
||||
};
|
||||
};
|
||||
|
||||
nixosModules = [
|
||||
./roles
|
||||
] ++ [
|
||||
inputs.home-manager.nixosModules.home-manager
|
||||
{
|
||||
nixpkgs.overlays = [ (mkBaseOverlay {}) ];
|
||||
nixpkgs.overlays = [
|
||||
(final: prev: {
|
||||
unstable = import nixpkgs-unstable {
|
||||
system = prev.stdenv.hostPlatform.system;
|
||||
config.allowUnfree = true;
|
||||
};
|
||||
custom = prev.callPackage ./packages {};
|
||||
# Compatibility: bitwarden renamed to bitwarden-desktop in unstable
|
||||
bitwarden-desktop = prev.bitwarden-desktop or prev.bitwarden;
|
||||
})
|
||||
];
|
||||
home-manager.useGlobalPkgs = true;
|
||||
home-manager.useUserPackages = true;
|
||||
home-manager.sharedModules = [
|
||||
inputs.plasma-manager.homeModules.plasma-manager
|
||||
inputs.nix-doom-emacs-unstraightened.homeModule
|
||||
];
|
||||
home-manager.extraSpecialArgs = {
|
||||
globalInputs = inputs;
|
||||
};
|
||||
}
|
||||
(mkHomeManagerConfig {
|
||||
sharedModules = [ inputs.plasma-manager.homeModules.plasma-manager ];
|
||||
})
|
||||
];
|
||||
|
||||
# Modules for unstable-based systems (like nix-deck)
|
||||
nixosModulesUnstable = [
|
||||
./roles
|
||||
] ++ [
|
||||
inputs.home-manager-unstable.nixosModules.home-manager
|
||||
inputs.jovian.nixosModules.jovian
|
||||
{
|
||||
nixpkgs.overlays = [ (mkBaseOverlay {}) ];
|
||||
nixpkgs.overlays = [
|
||||
(final: prev: {
|
||||
unstable = import nixpkgs-unstable {
|
||||
system = prev.stdenv.hostPlatform.system;
|
||||
config.allowUnfree = true;
|
||||
};
|
||||
custom = prev.callPackage ./packages {};
|
||||
# Compatibility: bitwarden renamed to bitwarden-desktop in unstable
|
||||
bitwarden-desktop = prev.bitwarden-desktop or prev.bitwarden;
|
||||
})
|
||||
];
|
||||
home-manager.useGlobalPkgs = true;
|
||||
home-manager.useUserPackages = true;
|
||||
home-manager.sharedModules = [
|
||||
inputs.plasma-manager-unstable.homeModules.plasma-manager
|
||||
inputs.nix-doom-emacs-unstraightened.homeModule
|
||||
];
|
||||
home-manager.extraSpecialArgs = {
|
||||
globalInputs = inputs;
|
||||
};
|
||||
}
|
||||
(mkHomeManagerConfig {
|
||||
sharedModules = [ inputs.plasma-manager-unstable.homeModules.plasma-manager ];
|
||||
})
|
||||
];
|
||||
|
||||
darwinModules = [
|
||||
./roles/darwin.nix
|
||||
] ++ [
|
||||
inputs.home-manager.darwinModules.home-manager
|
||||
{
|
||||
nixpkgs.overlays = [
|
||||
(mkBaseOverlay {
|
||||
# Override claude-code in unstable to use our custom GCS-based build
|
||||
# (needed for corporate networks that block npm registry)
|
||||
unstableOverlays = [
|
||||
(ufinal: uprev: {
|
||||
claude-code = uprev.callPackage ./packages/claude-code {};
|
||||
})
|
||||
];
|
||||
(final: prev: {
|
||||
unstable = import nixpkgs-unstable {
|
||||
system = prev.stdenv.hostPlatform.system;
|
||||
config.allowUnfree = true;
|
||||
overlays = [
|
||||
# Override claude-code in unstable to use our custom GCS-based build
|
||||
# (needed for corporate networks that block npm registry)
|
||||
(ufinal: uprev: {
|
||||
claude-code = prev.custom.claude-code or (prev.callPackage ./packages {}).claude-code;
|
||||
})
|
||||
];
|
||||
};
|
||||
custom = prev.callPackage ./packages {};
|
||||
# Compatibility: bitwarden renamed to bitwarden-desktop in unstable
|
||||
bitwarden-desktop = prev.bitwarden-desktop or prev.bitwarden;
|
||||
})
|
||||
];
|
||||
home-manager.useGlobalPkgs = true;
|
||||
home-manager.useUserPackages = true;
|
||||
home-manager.sharedModules = [
|
||||
inputs.nix-doom-emacs-unstraightened.homeModule
|
||||
];
|
||||
home-manager.extraSpecialArgs = {
|
||||
globalInputs = inputs;
|
||||
};
|
||||
}
|
||||
(mkHomeManagerConfig { sharedModules = []; })
|
||||
];
|
||||
|
||||
in {
|
||||
|
||||
@@ -1,6 +1,30 @@
|
||||
#!/usr/bin/env bash
|
||||
set -euo pipefail
|
||||
|
||||
# Parse arguments
|
||||
while [[ $# -gt 0 ]]; do
|
||||
case $1 in
|
||||
--help|-h)
|
||||
echo "Usage: $0 [OPTIONS]"
|
||||
echo ""
|
||||
echo "Rotate to the next wallpaper in the configured list."
|
||||
echo ""
|
||||
echo "This script increments the currentIndex in home/wallpapers/default.nix,"
|
||||
echo "cycling through available wallpapers. Rebuild your system to apply"
|
||||
echo "the new wallpaper."
|
||||
echo ""
|
||||
echo "Options:"
|
||||
echo " --help, -h Show this help message"
|
||||
exit 0
|
||||
;;
|
||||
*)
|
||||
echo "Unknown option: $1"
|
||||
echo "Use --help for usage information"
|
||||
exit 1
|
||||
;;
|
||||
esac
|
||||
done
|
||||
|
||||
# Colors for output
|
||||
RED='\033[0;31m'
|
||||
GREEN='\033[0;32m'
|
||||
|
||||
@@ -1,6 +1,30 @@
|
||||
#!/usr/bin/env bash
|
||||
set -euo pipefail
|
||||
|
||||
# Parse arguments
|
||||
while [[ $# -gt 0 ]]; do
|
||||
case $1 in
|
||||
--help|-h)
|
||||
echo "Usage: $0 [OPTIONS]"
|
||||
echo ""
|
||||
echo "Update Doom Emacs to the latest commit from the doomemacs repository."
|
||||
echo ""
|
||||
echo "This script fetches the latest commit SHA from the default branch,"
|
||||
echo "updates the rev and sha256 in home/roles/emacs/default.nix, and"
|
||||
echo "prepares the configuration for a system rebuild."
|
||||
echo ""
|
||||
echo "Options:"
|
||||
echo " --help, -h Show this help message"
|
||||
exit 0
|
||||
;;
|
||||
*)
|
||||
echo "Unknown option: $1"
|
||||
echo "Use --help for usage information"
|
||||
exit 1
|
||||
;;
|
||||
esac
|
||||
done
|
||||
|
||||
# Colors for output
|
||||
RED='\033[0;31m'
|
||||
GREEN='\033[0;32m'
|
||||
|
||||
@@ -1,6 +1,35 @@
|
||||
#!/usr/bin/env bash
|
||||
set -euo pipefail
|
||||
|
||||
# Parse arguments
|
||||
while [[ $# -gt 0 ]]; do
|
||||
case $1 in
|
||||
--help|-h)
|
||||
echo "Usage: $0 [OPTIONS]"
|
||||
echo ""
|
||||
echo "Perform a major upgrade of the NixOS configuration."
|
||||
echo ""
|
||||
echo "This script runs the following steps:"
|
||||
echo " 1. Update all flake inputs (nix flake update)"
|
||||
echo " 2. Update Doom Emacs to the latest commit"
|
||||
echo " 3. Update Claude Code to the latest version"
|
||||
echo " 4. Rotate to the next wallpaper"
|
||||
echo ""
|
||||
echo "After completion, review changes with 'git diff' and rebuild"
|
||||
echo "your system with 'sudo nixos-rebuild switch --flake .'"
|
||||
echo ""
|
||||
echo "Options:"
|
||||
echo " --help, -h Show this help message"
|
||||
exit 0
|
||||
;;
|
||||
*)
|
||||
echo "Unknown option: $1"
|
||||
echo "Use --help for usage information"
|
||||
exit 1
|
||||
;;
|
||||
esac
|
||||
done
|
||||
|
||||
# Colors for output
|
||||
RED='\033[0;31m'
|
||||
GREEN='\033[0;32m'
|
||||
|
||||
Reference in New Issue
Block a user