Big updates
This commit is contained in:
parent
aa7fd15924
commit
5751958cad
@ -1,2 +0,0 @@
|
||||
# Impure because of nixgl wrapper
|
||||
alias hm-switch="home-manager switch --impure --flake ~/.config/nix"
|
||||
@ -1,2 +0,0 @@
|
||||
# Impure because of nixgl wrapper
|
||||
alias hm-switch="darwin-rebuild switch --flake ~/.config/nix"
|
||||
@ -7,17 +7,16 @@ let
|
||||
username = "becky";
|
||||
homedir = "/home/${username}";
|
||||
|
||||
zshSourceCommon = ../.zsh/common;
|
||||
zshSourceUser = ../.zsh/dingleberry;
|
||||
zshSourceDirs = [
|
||||
../modules/zsh/dingleberry
|
||||
];
|
||||
in
|
||||
{
|
||||
# Let Home Manager install and manage itself.
|
||||
programs.home-manager.enable = true;
|
||||
#targets.genericLinux.enable = true;
|
||||
|
||||
# Enable XDG for non terminal apps
|
||||
# https://github.com/nix-community/home-manager/issues/1439
|
||||
#programs.bash.enable = true;
|
||||
#targets.genericLinux.enable = true;
|
||||
#xdg = {
|
||||
# enable = true;
|
||||
# mime = {
|
||||
@ -35,7 +34,6 @@ in
|
||||
home.stateVersion = "24.11";
|
||||
|
||||
home.packages = with pkgs; [
|
||||
bat
|
||||
nixd
|
||||
# TODO: Move from system to nix
|
||||
# awscli2
|
||||
@ -72,25 +70,27 @@ in
|
||||
};
|
||||
};
|
||||
|
||||
|
||||
programs.ghostty = {
|
||||
enable = true;
|
||||
|
||||
installBatSyntax = true;
|
||||
installVimSyntax = true;
|
||||
enableZshIntegration = true;
|
||||
|
||||
package = config.lib.nixGL.wrap pkgs.ghostty;
|
||||
|
||||
settings = {
|
||||
theme = "catppuccin-mocha";
|
||||
font-size = 10;
|
||||
};
|
||||
};
|
||||
|
||||
programs.zsh = {
|
||||
enable = true;
|
||||
|
||||
autocd = true;
|
||||
|
||||
shellAliases = {
|
||||
cat = "bat --paging=never";
|
||||
hm-switch = "home-manager switch --impure --flake ~/.config/nix";
|
||||
};
|
||||
|
||||
dirHashes = {
|
||||
mac = "${homedir}/storage/.macshare";
|
||||
nix = "${homedir}/.config/nix";
|
||||
@ -119,13 +119,13 @@ in
|
||||
};
|
||||
|
||||
initExtra = ''
|
||||
for file in ${zshSourceCommon}/*.zsh; do
|
||||
source "$file"
|
||||
done
|
||||
|
||||
for file in ${zshSourceUser}/*.zsh; do
|
||||
source "$file"
|
||||
done
|
||||
${builtins.concatStringsSep "\n" (
|
||||
builtins.map (dir: ''
|
||||
for file in ${dir}/*.zsh; do
|
||||
source "$file"
|
||||
done
|
||||
'') zshSourceDirs
|
||||
)}
|
||||
|
||||
autoload -U +X bashcompinit && bashcompinit
|
||||
|
||||
|
||||
@ -1,5 +1,4 @@
|
||||
{
|
||||
config,
|
||||
pkgs,
|
||||
...
|
||||
}:
|
||||
@ -9,13 +8,10 @@ let
|
||||
|
||||
zshSourceDirs = [
|
||||
../.zsh/common
|
||||
../.zsh/macos
|
||||
../modules/zsh/macos
|
||||
];
|
||||
in
|
||||
{
|
||||
# Let Home Manager install and manage itself.
|
||||
programs.home-manager.enable = true;
|
||||
|
||||
home.username = username;
|
||||
|
||||
home.homeDirectory = homedir;
|
||||
@ -24,7 +20,6 @@ in
|
||||
|
||||
home.packages = with pkgs; [
|
||||
awscli2
|
||||
bat
|
||||
k9s
|
||||
kubectl
|
||||
nixd
|
||||
@ -64,29 +59,20 @@ in
|
||||
programs.zsh = {
|
||||
enable = true;
|
||||
|
||||
autocd = true;
|
||||
|
||||
shellAliases = {
|
||||
cat = "bat --paging=never";
|
||||
};
|
||||
|
||||
dirHashes = {
|
||||
mac = "${homedir}/storage/.macshare";
|
||||
nix = "${homedir}/.config/nix";
|
||||
};
|
||||
|
||||
initExtra = ''
|
||||
${builtins.concatStringsSep "\n"
|
||||
(builtins.map (dir:
|
||||
''
|
||||
for file in ${dir}/*.zsh; do
|
||||
source "$file"
|
||||
done
|
||||
''
|
||||
) zshSourceDirs)
|
||||
}
|
||||
${builtins.concatStringsSep "\n" (
|
||||
builtins.map (dir: ''
|
||||
for file in ${dir}/*.zsh; do
|
||||
source "$file"
|
||||
done
|
||||
'') zshSourceDirs
|
||||
)}
|
||||
|
||||
# ${pkgs.keepassxc}
|
||||
autoload -U +X bashcompinit && bashcompinit
|
||||
|
||||
source <(kubectl completion zsh)
|
||||
@ -101,7 +87,6 @@ in
|
||||
};
|
||||
}
|
||||
|
||||
|
||||
# TODO: launchd timers
|
||||
|
||||
# <?xml version="1.0" encoding="UTF-8"?>
|
||||
|
||||
335
flake.nix
335
flake.nix
@ -14,165 +14,192 @@
|
||||
nixgl.inputs.nixpkgs.follows = "nixpkgs";
|
||||
};
|
||||
|
||||
outputs = inputs@{
|
||||
self,
|
||||
home-manager,
|
||||
mac-app-util,
|
||||
nix-darwin,
|
||||
nixgl,
|
||||
nixpkgs,
|
||||
}:
|
||||
let
|
||||
darwin-common = { pkgs, ... }:
|
||||
outputs =
|
||||
inputs@{
|
||||
self,
|
||||
home-manager,
|
||||
mac-app-util,
|
||||
nix-darwin,
|
||||
nixgl,
|
||||
nixpkgs,
|
||||
}:
|
||||
let
|
||||
custom-key-mapping = {
|
||||
# AI Instructions
|
||||
# I need a mapping that switches my keyboard keys in the following way:
|
||||
# the key above TAB and left of number 1 (lets call this key NEWTILDE has a code 30064771172)
|
||||
# the key between left shift and Z (lets call this key NEWPIPE has a code 30064771125)
|
||||
# the key above right shift and left of the big enter key (lets call this key NEWPLUSMINUS has a code 30064771121)
|
||||
#
|
||||
# Write the mapping in such a way that:
|
||||
# NEWTILDE switches with NEWPIPE
|
||||
# NEWPIPE overrides NEWPLUSMINUS
|
||||
UserKeyMapping = [
|
||||
{
|
||||
HIDKeyboardModifierMappingSrc = 30064771125;
|
||||
HIDKeyboardModifierMappingDst = 30064771172;
|
||||
}
|
||||
{
|
||||
HIDKeyboardModifierMappingSrc = 30064771172;
|
||||
HIDKeyboardModifierMappingDst = 30064771121;
|
||||
}
|
||||
];
|
||||
};
|
||||
in
|
||||
{
|
||||
# List packages installed in system profile. To search by name, run:
|
||||
# $ nix-env -qaP | grep wget
|
||||
environment.systemPackages = with pkgs; [
|
||||
git
|
||||
vim
|
||||
systems = nixpkgs.lib.genAttrs [
|
||||
"x86_64-linux"
|
||||
"aarch64-linux"
|
||||
"aarch64-darwin"
|
||||
];
|
||||
|
||||
launchd.user.agents = {
|
||||
"custom-key-mapping" = {
|
||||
script = ''
|
||||
/usr/bin/hidutil property --set '${builtins.toJSON custom-key-mapping}' > /dev/null
|
||||
'';
|
||||
serviceConfig = {
|
||||
RunAtLoad = true;
|
||||
};
|
||||
};
|
||||
};
|
||||
|
||||
# The platform the configuration will be used on.
|
||||
nixpkgs.hostPlatform = "aarch64-darwin";
|
||||
|
||||
# Set Git commit hash for darwin-version.
|
||||
system.configurationRevision = self.rev or self.dirtyRev or null;
|
||||
|
||||
# Used for backwards compatibility, please read the changelog before changing.
|
||||
# $ darwin-rebuild changelog
|
||||
system.stateVersion = 5;
|
||||
|
||||
system.defaults = {
|
||||
finder = {
|
||||
_FXShowPosixPathInTitle = true; # show full path in finder title
|
||||
AppleShowAllExtensions = true; # show all file extensions
|
||||
FXEnableExtensionChangeWarning = false; # disable warning when changing file extension
|
||||
QuitMenuItem = true; # enable quit menu item
|
||||
ShowPathbar = true; # show path bar
|
||||
ShowStatusBar = true; # show status bar
|
||||
};
|
||||
};
|
||||
|
||||
# Auto upgrade nix package and the daemon service.
|
||||
services.nix-daemon.enable = true;
|
||||
|
||||
nix = {
|
||||
configureBuildUsers = true;
|
||||
distributedBuilds = true;
|
||||
|
||||
gc = {
|
||||
automatic = true;
|
||||
options = "--delete-older-than 7d";
|
||||
};
|
||||
settings = {
|
||||
experimental-features = "nix-command flakes";
|
||||
};
|
||||
};
|
||||
|
||||
homebrew = {
|
||||
enable = true;
|
||||
onActivation = {
|
||||
autoUpdate = true;
|
||||
# 'zap': uninstalls all formulae(and related files) not listed here.
|
||||
cleanup = "zap";
|
||||
upgrade = true;
|
||||
};
|
||||
};
|
||||
};
|
||||
in
|
||||
{
|
||||
homeConfigurations = let
|
||||
pkgs = import nixpkgs {
|
||||
system = "x86_64-linux";
|
||||
overlays = [
|
||||
nixgl.overlay
|
||||
];
|
||||
config = {
|
||||
allowUnfree = true;
|
||||
};
|
||||
};
|
||||
in {
|
||||
# init with
|
||||
# nix run home-manager/master -- switch --flake ~/.config/nix
|
||||
# update with
|
||||
# home-manager switch --flake ~/.config/nix
|
||||
"becky@dingleberry" = home-manager.lib.homeManagerConfiguration {
|
||||
# pkgs = nixpkgs.legacyPackages.x86_64-linux;
|
||||
inherit pkgs;
|
||||
|
||||
modules = [
|
||||
./devices/becky-dingleberry.nix
|
||||
];
|
||||
};
|
||||
};
|
||||
|
||||
darwinConfigurations = {
|
||||
# init with
|
||||
# nix run nix-darwin -- switch --flake ~/.config/nix
|
||||
# update with
|
||||
# darwin-rebuild switch --flake ~/.config/nix
|
||||
lcech-mac = nix-darwin.lib.darwinSystem {
|
||||
system = "aarch64-darwin";
|
||||
modules = [
|
||||
mac-app-util.darwinModules.default
|
||||
darwin-common
|
||||
{
|
||||
# brew install --cask
|
||||
# these need to be updated manually
|
||||
homebrew.casks = [
|
||||
"ghostty"
|
||||
"spotify"
|
||||
"keepassxc"
|
||||
darwin-common =
|
||||
{ pkgs, ... }:
|
||||
let
|
||||
custom-key-mapping = {
|
||||
# AI Instructions
|
||||
# I need a mapping that switches my keyboard keys in the following way:
|
||||
# the key above TAB and left of number 1 (lets call this key NEWTILDE has a code 30064771172)
|
||||
# the key between left shift and Z (lets call this key NEWPIPE has a code 30064771125)
|
||||
# the key above right shift and left of the big enter key (lets call this key NEWPLUSMINUS has a code 30064771121)
|
||||
#
|
||||
# Write the mapping in such a way that:
|
||||
# NEWTILDE switches with NEWPIPE
|
||||
# NEWPIPE overrides NEWPLUSMINUS
|
||||
UserKeyMapping = [
|
||||
{
|
||||
HIDKeyboardModifierMappingSrc = 30064771125;
|
||||
HIDKeyboardModifierMappingDst = 30064771172;
|
||||
}
|
||||
{
|
||||
HIDKeyboardModifierMappingSrc = 30064771172;
|
||||
HIDKeyboardModifierMappingDst = 30064771121;
|
||||
}
|
||||
];
|
||||
}
|
||||
home-manager.darwinModules.home-manager
|
||||
{
|
||||
home-manager = {
|
||||
useGlobalPkgs = true;
|
||||
useUserPackages = true;
|
||||
users.lcech.imports = [
|
||||
mac-app-util.homeManagerModules.default
|
||||
./devices/lcech-mac-veracode.nix
|
||||
];
|
||||
};
|
||||
in
|
||||
{
|
||||
# List packages installed in system profile. To search by name, run:
|
||||
# $ nix-env -qaP | grep wget
|
||||
environment.systemPackages = with pkgs; [
|
||||
git
|
||||
vim
|
||||
];
|
||||
|
||||
launchd.user.agents = {
|
||||
"custom-key-mapping" = {
|
||||
script = ''
|
||||
/usr/bin/hidutil property --set '${builtins.toJSON custom-key-mapping}' > /dev/null
|
||||
'';
|
||||
serviceConfig = {
|
||||
RunAtLoad = true;
|
||||
};
|
||||
};
|
||||
users.users.lcech.home = "/Users/lcech";
|
||||
}
|
||||
];
|
||||
};
|
||||
|
||||
# The platform the configuration will be used on.
|
||||
nixpkgs.hostPlatform = "aarch64-darwin";
|
||||
|
||||
# Set Git commit hash for darwin-version.
|
||||
system.configurationRevision = self.rev or self.dirtyRev or null;
|
||||
|
||||
# Used for backwards compatibility, please read the changelog before changing.
|
||||
# $ darwin-rebuild changelog
|
||||
system.stateVersion = 5;
|
||||
|
||||
system.defaults = {
|
||||
finder = {
|
||||
_FXShowPosixPathInTitle = true; # show full path in finder title
|
||||
AppleShowAllExtensions = true; # show all file extensions
|
||||
FXEnableExtensionChangeWarning = false; # disable warning when changing file extension
|
||||
QuitMenuItem = true; # enable quit menu item
|
||||
ShowPathbar = true; # show path bar
|
||||
ShowStatusBar = true; # show status bar
|
||||
};
|
||||
};
|
||||
|
||||
# Auto upgrade nix package and the daemon service.
|
||||
services.nix-daemon.enable = true;
|
||||
|
||||
nix = {
|
||||
configureBuildUsers = true;
|
||||
distributedBuilds = true;
|
||||
|
||||
gc = {
|
||||
automatic = true;
|
||||
options = "--delete-older-than 7d";
|
||||
};
|
||||
settings = {
|
||||
experimental-features = "nix-command flakes";
|
||||
};
|
||||
};
|
||||
|
||||
homebrew = {
|
||||
enable = true;
|
||||
onActivation = {
|
||||
autoUpdate = true;
|
||||
# 'zap': uninstalls all formulae(and related files) not listed here.
|
||||
cleanup = "zap";
|
||||
upgrade = true;
|
||||
};
|
||||
};
|
||||
};
|
||||
in
|
||||
{
|
||||
lib = {
|
||||
forAllSystems =
|
||||
function:
|
||||
systems (
|
||||
system:
|
||||
function (
|
||||
import nixpkgs {
|
||||
inherit system;
|
||||
config.allowUnfreePredicate = (pkg: builtins.elem (nixpkgs.lib.getName pkg) [ "nvidia" ]);
|
||||
}
|
||||
)
|
||||
);
|
||||
};
|
||||
|
||||
formatter = self.lib.forAllSystems (pkgs: pkgs.nixfmt-rfc-style);
|
||||
|
||||
homeConfigurations =
|
||||
let
|
||||
pkgs = import nixpkgs {
|
||||
system = "x86_64-linux";
|
||||
overlays = [
|
||||
nixgl.overlay
|
||||
];
|
||||
config = {
|
||||
allowUnfree = true;
|
||||
};
|
||||
};
|
||||
in
|
||||
{
|
||||
# init with
|
||||
# nix run home-manager/master -- switch --flake ~/.config/nix
|
||||
# update with
|
||||
# home-manager switch --flake ~/.config/nix
|
||||
"becky@dingleberry" = home-manager.lib.homeManagerConfiguration {
|
||||
inherit pkgs;
|
||||
|
||||
modules = [
|
||||
./modules/common.nix
|
||||
./devices/becky-dingleberry.nix
|
||||
];
|
||||
};
|
||||
};
|
||||
|
||||
darwinConfigurations = {
|
||||
# init with
|
||||
# nix run nix-darwin -- switch --flake ~/.config/nix
|
||||
# update with
|
||||
# darwin-rebuild switch --flake ~/.config/nix
|
||||
lcech-mac = nix-darwin.lib.darwinSystem {
|
||||
system = "aarch64-darwin";
|
||||
modules = [
|
||||
mac-app-util.darwinModules.default
|
||||
darwin-common
|
||||
{
|
||||
# brew install --cask
|
||||
# these need to be updated manually
|
||||
homebrew.casks = [
|
||||
"ghostty"
|
||||
"spotify"
|
||||
"keepassxc"
|
||||
];
|
||||
}
|
||||
./modules/common.nix
|
||||
home-manager.darwinModules.home-manager
|
||||
{
|
||||
home-manager = {
|
||||
useGlobalPkgs = true;
|
||||
useUserPackages = true;
|
||||
users.lcech.imports = [
|
||||
mac-app-util.homeManagerModules.default
|
||||
./devices/lcech-mac-veracode.nix
|
||||
];
|
||||
};
|
||||
users.users.lcech.home = "/Users/lcech";
|
||||
}
|
||||
];
|
||||
};
|
||||
};
|
||||
};
|
||||
};
|
||||
}
|
||||
|
||||
50
modules/common.nix
Normal file
50
modules/common.nix
Normal file
@ -0,0 +1,50 @@
|
||||
{
|
||||
lib,
|
||||
pkgs,
|
||||
...
|
||||
}:
|
||||
let
|
||||
zshSourceCommon = ./zsh/common;
|
||||
|
||||
isDarwin = pkgs.stdenv.hostPlatform.isDarwin;
|
||||
isLinux = pkgs.stdenv.hostPlatform.isLinux;
|
||||
in
|
||||
{
|
||||
|
||||
# Let Home Manager install and manage itself.
|
||||
programs.home-manager.enable = true;
|
||||
|
||||
programs.bat = {
|
||||
enable = true;
|
||||
};
|
||||
|
||||
programs.zsh = {
|
||||
enable = true;
|
||||
|
||||
autocd = lib.mkDefault true;
|
||||
|
||||
shellAliases =
|
||||
{
|
||||
cat = lib.mkDefault "bat --paging=never";
|
||||
nixfix = lib.mkDefault "nix fmt ./**/*.nix";
|
||||
}
|
||||
// (
|
||||
if isDarwin then
|
||||
{
|
||||
hm-switch = lib.mkDefault "darwin-rebuild switch --flake ~/.config/nix";
|
||||
}
|
||||
else if isLinux then
|
||||
{
|
||||
hm-switch = lib.mkDefault "home-manager switch --flake ~/.config/nix";
|
||||
}
|
||||
else
|
||||
{ }
|
||||
);
|
||||
|
||||
initExtra = ''
|
||||
for file in ${zshSourceCommon}/*.zsh; do
|
||||
source "$file"
|
||||
done
|
||||
'';
|
||||
};
|
||||
}
|
||||
Loading…
Reference in New Issue
Block a user