2023-06-09 10:47:29 +00:00
|
|
|
{ pkgs, dotfiles, ... }:
|
2023-06-09 11:31:06 +00:00
|
|
|
|
|
|
|
let
|
|
|
|
packageSets = with pkgs; rec {
|
2023-06-09 14:25:55 +00:00
|
|
|
system = [
|
|
|
|
gnutls
|
|
|
|
gsasl
|
|
|
|
libtool
|
|
|
|
patchelf
|
|
|
|
pcre
|
|
|
|
pkg-config
|
|
|
|
];
|
|
|
|
|
2023-06-09 11:31:06 +00:00
|
|
|
base = [
|
2023-06-09 14:25:55 +00:00
|
|
|
act
|
|
|
|
bat
|
|
|
|
bitwarden-cli
|
|
|
|
cloudflared
|
|
|
|
delta
|
|
|
|
exa
|
|
|
|
ffmpeg
|
|
|
|
fzf
|
|
|
|
gh
|
|
|
|
# git # already managed by home-manager
|
|
|
|
git-crypt
|
|
|
|
gitui
|
|
|
|
gnupg
|
2023-06-09 11:31:06 +00:00
|
|
|
jq
|
2023-06-09 14:25:55 +00:00
|
|
|
kubectl
|
|
|
|
kubelogin-oidc
|
|
|
|
mosh
|
2023-06-09 14:46:44 +00:00
|
|
|
# neovim # already managed by home-manager
|
2023-06-09 14:25:55 +00:00
|
|
|
nixpkgs-fmt
|
2023-06-09 11:31:06 +00:00
|
|
|
ripgrep
|
2023-06-09 14:25:55 +00:00
|
|
|
sops
|
|
|
|
vim
|
|
|
|
wget
|
|
|
|
];
|
|
|
|
|
|
|
|
languages = [
|
|
|
|
crystal
|
|
|
|
deno
|
|
|
|
dotnet-sdk
|
|
|
|
go
|
|
|
|
jdk
|
|
|
|
nil
|
|
|
|
nodejs_20
|
|
|
|
ruby_3_1
|
|
|
|
sbcl
|
|
|
|
shards
|
|
|
|
zig
|
2023-06-09 11:31:06 +00:00
|
|
|
];
|
|
|
|
|
2023-06-09 14:25:55 +00:00
|
|
|
programs = [
|
|
|
|
jetbrains.idea-ultimate
|
|
|
|
jetbrains.phpstorm
|
|
|
|
jetbrains.rider
|
|
|
|
rectangle
|
|
|
|
slack
|
|
|
|
tailscale
|
|
|
|
];
|
|
|
|
|
|
|
|
multimedia = [
|
|
|
|
ffmpeg
|
|
|
|
];
|
|
|
|
|
|
|
|
everything = system ++ base ++ languages ++ programs ++ multimedia;
|
2023-06-09 11:31:06 +00:00
|
|
|
};
|
|
|
|
|
|
|
|
in
|
2023-06-09 09:19:42 +00:00
|
|
|
{
|
2023-06-09 11:31:06 +00:00
|
|
|
imports = [];
|
|
|
|
|
2023-06-09 14:25:55 +00:00
|
|
|
# Absolutely proprietary.
|
|
|
|
nixpkgs.config.allowUnfree = true;
|
2023-06-09 11:31:06 +00:00
|
|
|
|
2023-06-09 09:19:42 +00:00
|
|
|
# Make sure the nix daemon always runs
|
|
|
|
services.nix-daemon.enable = true;
|
2023-06-09 11:31:06 +00:00
|
|
|
|
|
|
|
# enable the gpg agent by default
|
|
|
|
programs.gnupg.agent.enable = true;
|
2023-06-09 10:47:29 +00:00
|
|
|
|
2023-06-09 11:30:06 +00:00
|
|
|
# if you use zsh (the default on new macOS installations),
|
|
|
|
# you'll need to enable this so nix-darwin creates a zshrc sourcing needed environment changes
|
|
|
|
programs.zsh.enable = true;
|
|
|
|
|
2023-06-09 11:31:06 +00:00
|
|
|
# Make sure to set the correct values, or everything will break! (in reality,
|
|
|
|
# it will just not build)
|
2023-06-09 10:44:49 +00:00
|
|
|
users.users.alyxia = {
|
|
|
|
name = "alyxia";
|
|
|
|
home = "/Users/alyxia";
|
|
|
|
};
|
2023-06-09 09:19:42 +00:00
|
|
|
|
2023-06-09 10:47:04 +00:00
|
|
|
home-manager = {
|
|
|
|
useGlobalPkgs = true;
|
|
|
|
useUserPackages = true;
|
|
|
|
users.alyxia = { pkgs, ... }: {
|
2023-06-09 11:31:06 +00:00
|
|
|
home = {
|
|
|
|
packages = packageSets.everything;
|
|
|
|
};
|
|
|
|
|
2023-06-09 10:47:29 +00:00
|
|
|
programs.zsh = {
|
|
|
|
enable = true;
|
|
|
|
initExtra = ''
|
|
|
|
export GPG_TTY=$(tty)
|
|
|
|
source ${dotfiles}/zsh/zshrc
|
|
|
|
'';
|
|
|
|
};
|
|
|
|
|
2023-06-09 10:47:04 +00:00
|
|
|
programs.git = {
|
|
|
|
enable = true;
|
|
|
|
package = pkgs.gitAndTools.gitFull; # contains git send-email et al
|
|
|
|
|
|
|
|
userName = "Alyxia Sother";
|
|
|
|
userEmail = "alyxia@riseup.net";
|
|
|
|
|
|
|
|
signing = {
|
|
|
|
key = "01E16C4E775A37E4";
|
|
|
|
signByDefault = true;
|
|
|
|
};
|
|
|
|
|
|
|
|
delta.enable = true;
|
|
|
|
};
|
|
|
|
|
|
|
|
programs.gitui.enable = true;
|
|
|
|
|
2023-06-09 14:46:44 +00:00
|
|
|
programs.neovim = {
|
|
|
|
enable = true;
|
|
|
|
package = pkgs.neovim-unwrapped;
|
|
|
|
|
|
|
|
extraConfig = "source ${dotfiles}/nvim/init.vim";
|
|
|
|
|
|
|
|
coc = {
|
|
|
|
enable = true;
|
|
|
|
|
|
|
|
settings = {
|
|
|
|
languageServer = {
|
|
|
|
nix = {
|
|
|
|
command = "rnix-lsp";
|
|
|
|
filetypes = [ "nix" ];
|
|
|
|
};
|
|
|
|
"go.goPlsOptions" = {
|
|
|
|
completion = true;
|
|
|
|
completeUnimported = true;
|
|
|
|
};
|
|
|
|
};
|
|
|
|
};
|
|
|
|
};
|
|
|
|
};
|
|
|
|
|
2023-06-09 10:47:04 +00:00
|
|
|
# DO NOT CHANGE UNLESS YOU ARE ABSOLUTELY SURE ALL STATE AFFECTED BY THIS
|
|
|
|
# OPTION IS APPROPRIATELY MIGRATED!!!
|
|
|
|
home.stateVersion = "23.05"; # did you read the comment?
|
|
|
|
};
|
|
|
|
};
|
|
|
|
|
2023-06-09 09:19:42 +00:00
|
|
|
homebrew = {
|
|
|
|
enable = true;
|
|
|
|
onActivation = {
|
|
|
|
autoUpdate = true;
|
2023-06-09 14:25:55 +00:00
|
|
|
cleanup = "zap";
|
2023-06-09 09:19:42 +00:00
|
|
|
upgrade = true;
|
|
|
|
};
|
2023-06-09 14:25:55 +00:00
|
|
|
|
|
|
|
taps = [
|
|
|
|
"drud/ddev"
|
|
|
|
"homebrew/cask"
|
|
|
|
"homebrew/cask-versions"
|
|
|
|
];
|
|
|
|
|
|
|
|
# Please do not the brew.
|
|
|
|
brews = [
|
|
|
|
"composer"
|
|
|
|
"croc"
|
|
|
|
"ddev"
|
|
|
|
"mkcert"
|
2023-06-09 14:46:44 +00:00
|
|
|
"pinentry-mac"
|
2023-06-09 14:25:55 +00:00
|
|
|
"pkg-config"
|
|
|
|
"sdl2"
|
|
|
|
];
|
|
|
|
|
2023-06-09 09:19:42 +00:00
|
|
|
casks = [
|
2023-06-09 14:25:55 +00:00
|
|
|
"1password"
|
|
|
|
"1password-cli"
|
|
|
|
"alt-tab"
|
|
|
|
"android-studio"
|
|
|
|
"audacity"
|
|
|
|
"background-music"
|
|
|
|
"db-browser-for-sqlite"
|
2023-06-09 09:19:42 +00:00
|
|
|
"discord"
|
2023-06-09 14:25:55 +00:00
|
|
|
"discord-ptb"
|
|
|
|
"docker"
|
|
|
|
"firefox"
|
|
|
|
"google-chrome"
|
|
|
|
"itch"
|
|
|
|
"iterm2"
|
|
|
|
"obs"
|
|
|
|
"raycast"
|
|
|
|
"sequel-ace"
|
|
|
|
"shottr"
|
|
|
|
"spotify"
|
|
|
|
"thunderbird"
|
|
|
|
"visual-studio-code"
|
2023-06-09 09:19:42 +00:00
|
|
|
];
|
|
|
|
};
|
|
|
|
}
|