Home manager applied to caesium
This commit is contained in:
+6
-67
@@ -1,32 +1,24 @@
|
|||||||
{ config, inputs, pkgs, ... }: {
|
{ config, inputs, pkgs, ... }: {
|
||||||
home.stateVersion = "23.11";
|
|
||||||
|
|
||||||
home.username = "mbessette";
|
|
||||||
home.homeDirectory = "/home/mbessette";
|
|
||||||
|
|
||||||
home.packages = with pkgs; [];
|
|
||||||
|
|
||||||
programs.home-manager.enable = true;
|
|
||||||
|
|
||||||
home.packages = with pkgs; [
|
home.packages = with pkgs; [
|
||||||
claude-desktop
|
|
||||||
firefox
|
firefox
|
||||||
wowup-cf
|
wowup-cf
|
||||||
faugus-launcher
|
faugus-launcher
|
||||||
ghostty
|
|
||||||
|
|
||||||
];
|
];
|
||||||
|
|
||||||
services.flatpak = {
|
services.flatpak = {
|
||||||
packages = [
|
packages = [
|
||||||
com.spotify.Client
|
"com.spotify.Client"
|
||||||
com.discordapp.Discord
|
"com.discordapp.Discord"
|
||||||
|
"flathub:app/com.anthropic.Claude/x86_64/stable"
|
||||||
];
|
];
|
||||||
overrides = [];
|
overrides = [];
|
||||||
};
|
};
|
||||||
|
|
||||||
|
programs.zsh.shellAliases = {
|
||||||
|
claude = "nix run github:sadjow/claude-code-nix";
|
||||||
|
};
|
||||||
|
|
||||||
# Managed VS Code Extensions (The "Clean" Way)
|
|
||||||
programs.vscode = {
|
programs.vscode = {
|
||||||
enable = true;
|
enable = true;
|
||||||
package = pkgs.vscode-fhs;
|
package = pkgs.vscode-fhs;
|
||||||
@@ -38,24 +30,6 @@
|
|||||||
};
|
};
|
||||||
};
|
};
|
||||||
|
|
||||||
# Automatically load the 1Password agent in your shell
|
|
||||||
programs.zsh = {
|
|
||||||
enable = true;
|
|
||||||
enableCompletion = true;
|
|
||||||
autosuggestion.enable = true;
|
|
||||||
syntaxHighlighting.enable = true;
|
|
||||||
|
|
||||||
initContent = ''
|
|
||||||
export SSH_AUTH_SOCK=~/.1password/agent.sock
|
|
||||||
'';
|
|
||||||
|
|
||||||
shellAliases = {
|
|
||||||
ll = "ls -l";
|
|
||||||
update = "sudo nixos-rebuild switch --flake ~/nixos#caesium";
|
|
||||||
nixos = "code ~/nixos";
|
|
||||||
};
|
|
||||||
};
|
|
||||||
|
|
||||||
home.sessionVariables = {
|
home.sessionVariables = {
|
||||||
NPM_CONFIG_PREFIX = "/mnt/Projects/.npm-global/.npm-global";
|
NPM_CONFIG_PREFIX = "/mnt/Projects/.npm-global/.npm-global";
|
||||||
};
|
};
|
||||||
@@ -67,39 +41,4 @@
|
|||||||
home.file.".npmrc".text = ''
|
home.file.".npmrc".text = ''
|
||||||
prefix=/mnt/Projects/.npm-global/.npm-global
|
prefix=/mnt/Projects/.npm-global/.npm-global
|
||||||
'' ;
|
'' ;
|
||||||
|
|
||||||
home.file.".config/1Password/ssh/agent.toml".source = ./config.agent.toml;
|
|
||||||
|
|
||||||
# ~/.config (dotfiles)
|
|
||||||
xdg.enable = true;
|
|
||||||
xdg.configFile."ssh.conf".source = ./config.ssh.conf;
|
|
||||||
|
|
||||||
programs.ssh = {
|
|
||||||
enable = true;
|
|
||||||
enableDefaultConfig = false;
|
|
||||||
extraConfig = builtins.readFile ./config.ssh.conf;
|
|
||||||
matchBlocks = {
|
|
||||||
"*" = {
|
|
||||||
controlMaster = "auto";
|
|
||||||
controlPath = "~/.ssh/master-%r@%h:%p";
|
|
||||||
};
|
|
||||||
};
|
|
||||||
};
|
|
||||||
|
|
||||||
programs.git = {
|
|
||||||
enable = true;
|
|
||||||
|
|
||||||
signing.format = null;
|
|
||||||
|
|
||||||
settings.user = {
|
|
||||||
name = "Matthew Bessette";
|
|
||||||
email = "bessette.matthew94@gmail.com";
|
|
||||||
};
|
|
||||||
|
|
||||||
settings.init.defaultBranch = "main";
|
|
||||||
|
|
||||||
# This creates ~/.config/git/ignore and sets core.excludesFile
|
|
||||||
ignores = [
|
|
||||||
];
|
|
||||||
};
|
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -168,6 +168,8 @@
|
|||||||
curl
|
curl
|
||||||
python3
|
python3
|
||||||
nodejs_26
|
nodejs_26
|
||||||
|
home-manager
|
||||||
|
fastfetch
|
||||||
];
|
];
|
||||||
|
|
||||||
programs.appimage = {
|
programs.appimage = {
|
||||||
|
|||||||
@@ -1,6 +0,0 @@
|
|||||||
[[ssh-keys]]
|
|
||||||
item = "1Password SSH Key" # The Title of the item in 1Password
|
|
||||||
# vault = "Work" # Optional: Specify the vault if names collide
|
|
||||||
|
|
||||||
[[ssh-keys]]
|
|
||||||
item = "Personal GitHub"
|
|
||||||
@@ -58,6 +58,7 @@
|
|||||||
let
|
let
|
||||||
linuxSystem = "x86_64-linux";
|
linuxSystem = "x86_64-linux";
|
||||||
darwinSystem = "aarch64-darwin";
|
darwinSystem = "aarch64-darwin";
|
||||||
|
userConfigs = import ./variables.nix;
|
||||||
mkOverlays = sys: [
|
mkOverlays = sys: [
|
||||||
(final: prev: {
|
(final: prev: {
|
||||||
unstable = import nixpkgsUnstable {
|
unstable = import nixpkgsUnstable {
|
||||||
@@ -81,7 +82,6 @@
|
|||||||
nixpkgs.overlays = mkOverlays linuxSystem;
|
nixpkgs.overlays = mkOverlays linuxSystem;
|
||||||
nixpkgs.config.allowUnfree = true;
|
nixpkgs.config.allowUnfree = true;
|
||||||
}
|
}
|
||||||
nix-flatpak.nixosModules.nix-flatpak
|
|
||||||
./caesium.nixos.nix
|
./caesium.nixos.nix
|
||||||
];
|
];
|
||||||
};
|
};
|
||||||
@@ -124,8 +124,14 @@
|
|||||||
config.allowUnfree = true;
|
config.allowUnfree = true;
|
||||||
overlays = mkOverlays linuxSystem;
|
overlays = mkOverlays linuxSystem;
|
||||||
};
|
};
|
||||||
extraSpecialArgs = { inherit inputs; };
|
extraSpecialArgs = {
|
||||||
|
system = linuxSystem;
|
||||||
|
hostname = "caesium";
|
||||||
|
userConfig = userConfigs."mbessette";
|
||||||
|
inherit inputs;
|
||||||
|
};
|
||||||
modules = [
|
modules = [
|
||||||
|
nix-flatpak.homeManagerModules.nix-flatpak
|
||||||
./home.shared.nix
|
./home.shared.nix
|
||||||
./caesium.home.nix
|
./caesium.home.nix
|
||||||
];
|
];
|
||||||
@@ -137,7 +143,12 @@
|
|||||||
config.allowUnfree = true;
|
config.allowUnfree = true;
|
||||||
overlays = mkOverlays darwinSystem;
|
overlays = mkOverlays darwinSystem;
|
||||||
};
|
};
|
||||||
extraSpecialArgs = { inherit inputs; };
|
extraSpecialArgs = {
|
||||||
|
system = darwinSystem;
|
||||||
|
hostname = "hydrogen";
|
||||||
|
userConfig = userConfigs.mbessette;
|
||||||
|
inherit inputs;
|
||||||
|
};
|
||||||
modules = [
|
modules = [
|
||||||
./home.shared.nix
|
./home.shared.nix
|
||||||
./hydrogen.home.nix
|
./hydrogen.home.nix
|
||||||
@@ -151,7 +162,12 @@
|
|||||||
config.allowUnfree = true;
|
config.allowUnfree = true;
|
||||||
overlays = mkOverlays darwinSystem;
|
overlays = mkOverlays darwinSystem;
|
||||||
};
|
};
|
||||||
extraSpecialArgs = { inherit inputs; };
|
extraSpecialArgs = {
|
||||||
|
system = darwinSystem;
|
||||||
|
hostname = "cleo-darwin";
|
||||||
|
userConfig = userConfigs."matthew.bessette";
|
||||||
|
inherit inputs;
|
||||||
|
};
|
||||||
modules = [
|
modules = [
|
||||||
./home.shared.nix
|
./home.shared.nix
|
||||||
./cleo.home.nix
|
./cleo.home.nix
|
||||||
|
|||||||
+111
-2
@@ -1,3 +1,112 @@
|
|||||||
{
|
{ pkgs, hostname, userConfig, ... }:
|
||||||
home.backupFileExtension = "before-nix";
|
let
|
||||||
|
onePassPath = if pkgs.stdenv.isDarwin
|
||||||
|
then "${userConfig.homeDirectory}/Library/Group Containers/2BUA8C4S2C.com.1password/t/agent.sock"
|
||||||
|
else "${userConfig.homeDirectory}/.1password/agent.sock";
|
||||||
|
ghosttyPkg = if pkgs.stdenv.isDarwin
|
||||||
|
then pkgs."ghostty-bin"
|
||||||
|
else pkgs.ghostty;
|
||||||
|
in {
|
||||||
|
home.stateVersion = "26.05";
|
||||||
|
home.username = userConfig.username;
|
||||||
|
home.homeDirectory = userConfig.homeDirectory;
|
||||||
|
home.sessionVariables.SSH_AUTH_SOCK = onePassPath;
|
||||||
|
|
||||||
|
xdg.enable = true;
|
||||||
|
xdg.configFile."ssh.conf".source = ./config.ssh.conf;
|
||||||
|
xdg.configFile."1Password/ssh/agent.toml".text = ''
|
||||||
|
[[ssh-keys]]
|
||||||
|
item = "${userConfig._1PassKeyName}"
|
||||||
|
vault = "${userConfig._1PassKeyVault}"
|
||||||
|
'';
|
||||||
|
|
||||||
|
programs.zsh = {
|
||||||
|
enable = true;
|
||||||
|
enableCompletion = true;
|
||||||
|
autosuggestion.enable = true;
|
||||||
|
syntaxHighlighting.enable = true;
|
||||||
|
|
||||||
|
initContent = ''
|
||||||
|
export SSH_AUTH_SOCK=~/.1password/agent.sock
|
||||||
|
'';
|
||||||
|
|
||||||
|
shellAliases = {
|
||||||
|
ll = "ls -l";
|
||||||
|
gst = "git status";
|
||||||
|
nix-update = "sudo nixos-rebuild switch --flake ~/nixos#${hostname}";
|
||||||
|
home-update = "home-manager switch --flake ~/nixos#${userConfig.username}@${hostname}";
|
||||||
|
};
|
||||||
|
};
|
||||||
|
|
||||||
|
programs.starship = {
|
||||||
|
enable = true;
|
||||||
|
enableZshIntegration = true;
|
||||||
|
|
||||||
|
# Optional custom settings (translates to ~/.config/starship.toml)
|
||||||
|
settings = {
|
||||||
|
# Line 1: ➜ folder git:(branch) [status]
|
||||||
|
format = "$character$directory$git_branch\${custom.git_dirty} ";
|
||||||
|
|
||||||
|
# Show current directory name only
|
||||||
|
directory = {
|
||||||
|
style = "bold cyan";
|
||||||
|
truncation_length = 1;
|
||||||
|
truncate_to_repo = false;
|
||||||
|
};
|
||||||
|
|
||||||
|
# git:(branch) styling
|
||||||
|
git_branch = {
|
||||||
|
format = "[git:\\([$branch](red)\\)](bold blue)";
|
||||||
|
};
|
||||||
|
|
||||||
|
# Bottom line prompt arrow
|
||||||
|
character = {
|
||||||
|
success_symbol = "[➜](bold green)";
|
||||||
|
error_symbol = "[➜](bold red)";
|
||||||
|
vicmd_symbol = "[➜](bold yellow)";
|
||||||
|
};
|
||||||
|
|
||||||
|
custom.git_dirty = {
|
||||||
|
when = "test -n \"$(git status --porcelain 2>/dev/null)\"";
|
||||||
|
format = " [✘](yellow)";
|
||||||
|
};
|
||||||
|
|
||||||
|
# Nix shell indicator module configuration
|
||||||
|
nix_shell = {
|
||||||
|
symbol = "❄️ ";
|
||||||
|
format = "via [$symbol$state]($style) ";
|
||||||
|
};
|
||||||
|
};
|
||||||
|
};
|
||||||
|
|
||||||
|
programs.ssh = {
|
||||||
|
enable = true;
|
||||||
|
enableDefaultConfig = false;
|
||||||
|
extraConfig = builtins.readFile ./config.ssh.conf;
|
||||||
|
settings = {
|
||||||
|
"*" = {
|
||||||
|
controlMaster = "auto";
|
||||||
|
controlPath = "~/.ssh/master-%r@%h:%p";
|
||||||
|
identityAgent = onePassPath;
|
||||||
|
};
|
||||||
|
};
|
||||||
|
};
|
||||||
|
|
||||||
|
programs.git = {
|
||||||
|
enable = true;
|
||||||
|
settings = {
|
||||||
|
user.name = userConfig.gitName;
|
||||||
|
user.email = userConfig.gitEmail;
|
||||||
|
init.defaultBranch = "main";
|
||||||
|
pull.rebase = false;
|
||||||
|
core.sshCommand = "ssh";
|
||||||
|
};
|
||||||
|
};
|
||||||
|
|
||||||
|
programs.ghostty = {
|
||||||
|
enable = true;
|
||||||
|
package = ghosttyPkg;
|
||||||
|
enableBashIntegration = true;
|
||||||
|
enableZshIntegration = true;
|
||||||
|
};
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -0,0 +1,18 @@
|
|||||||
|
{
|
||||||
|
mbessette = {
|
||||||
|
username = "mbessette";
|
||||||
|
homeDirectory = "/home/mbessette";
|
||||||
|
gitName = "Matthew Bessette";
|
||||||
|
gitEmail = "blade30912@gmail.com";
|
||||||
|
_1PassKeyName = "Personal SSH Key";
|
||||||
|
_1PassKeyVault = "Private";
|
||||||
|
};
|
||||||
|
"matthew.bessette" = {
|
||||||
|
username = "matthew.bessette";
|
||||||
|
homeDirectory = "/home/matthew.bessette";
|
||||||
|
gitName = "Matthew Bessette";
|
||||||
|
gitEmail = "matthew.bessette@hicleo.com";
|
||||||
|
_1PassKeyName = "Cleo SSH Key";
|
||||||
|
_1PassKeyVault = "Cleo";
|
||||||
|
};
|
||||||
|
}
|
||||||
Reference in New Issue
Block a user