Compare commits
7 commits
391d83d7f9
...
31d222fdaf
| Author | SHA1 | Date | |
|---|---|---|---|
| 31d222fdaf | |||
| 0fc4cbf5fd | |||
| aabc3478d7 | |||
| 1a20ce20f1 | |||
| 4259275a45 | |||
| b51bb2c497 | |||
| 2f7400349a |
8 changed files with 77 additions and 406 deletions
325
home.nix
325
home.nix
|
|
@ -1,325 +0,0 @@
|
||||||
{ config, lib, pkgs, pkgs-unstable, ... }:
|
|
||||||
|
|
||||||
{
|
|
||||||
# Home Manager needs a bit of information about you and the paths it should
|
|
||||||
# manage.
|
|
||||||
home.username = "millironx";
|
|
||||||
home.homeDirectory = "/Users/millironx";
|
|
||||||
|
|
||||||
# This value determines the Home Manager release that your configuration is
|
|
||||||
# compatible with. This helps avoid breakage when a new Home Manager release
|
|
||||||
# introduces backwards incompatible changes.
|
|
||||||
#
|
|
||||||
# You should not change this value, even if you update Home Manager. If you do
|
|
||||||
# want to update the value, then make sure to first check the Home Manager
|
|
||||||
# release notes.
|
|
||||||
home.stateVersion = "23.11"; # Please read the comment before changing.
|
|
||||||
|
|
||||||
# The home.packages option allows you to install Nix packages into your
|
|
||||||
# environment.
|
|
||||||
home.packages = with pkgs; [
|
|
||||||
act
|
|
||||||
asitop
|
|
||||||
bat
|
|
||||||
cowsay
|
|
||||||
direnv
|
|
||||||
earthly
|
|
||||||
ffmpeg
|
|
||||||
figlet
|
|
||||||
fortune
|
|
||||||
gh
|
|
||||||
gitflow
|
|
||||||
git-absorb
|
|
||||||
gnugrep
|
|
||||||
gnupg
|
|
||||||
gnused
|
|
||||||
htop
|
|
||||||
jq
|
|
||||||
kdePackages.qtdeclarative
|
|
||||||
lsd
|
|
||||||
lynx
|
|
||||||
most
|
|
||||||
nil
|
|
||||||
nixd
|
|
||||||
nixfmt
|
|
||||||
pandoc
|
|
||||||
pinentry_mac
|
|
||||||
pipx
|
|
||||||
python3
|
|
||||||
quarto
|
|
||||||
shellcheck
|
|
||||||
sketchybar-app-font
|
|
||||||
sqlitebrowser
|
|
||||||
woodpecker-cli
|
|
||||||
yt-dlp
|
|
||||||
zulu17
|
|
||||||
|
|
||||||
# # It is sometimes useful to fine-tune packages, for example, by applying
|
|
||||||
# # overrides. You can do that directly here, just don't forget the
|
|
||||||
# # parentheses. Maybe you want to install Nerd Fonts with a limited number of
|
|
||||||
# # fonts?
|
|
||||||
(pkgs.nerdfonts.override {
|
|
||||||
fonts = [ "FiraCode" "Hack" "Meslo" "NerdFontsSymbolsOnly" ];
|
|
||||||
})
|
|
||||||
(texlive.combine { inherit (texlive) scheme-basic latex-bin latexmk; })
|
|
||||||
|
|
||||||
# # You can also create simple shell scripts directly inside your
|
|
||||||
# # configuration. For example, this adds a command 'my-hello' to your
|
|
||||||
# # environment:
|
|
||||||
# (pkgs.writeShellScriptBin "my-hello" ''
|
|
||||||
# echo "Hello, ${config.home.username}!"
|
|
||||||
# '')
|
|
||||||
(pkgs.writeShellScriptBin "uq" ''
|
|
||||||
xattr -rdv com.apple.quarantine "/Applications/$1.app"
|
|
||||||
'')
|
|
||||||
(pkgs.writeShellScriptBin "get-current-wifi" ''
|
|
||||||
ipconfig getsummary $(networksetup -listallhardwareports | awk '/Hardware Port: Wi-Fi/{getline; print $2}') | awk -F ' SSID : ' '/ SSID : / {print $2}'
|
|
||||||
'')
|
|
||||||
];
|
|
||||||
|
|
||||||
# Home Manager is pretty good at managing dotfiles. The primary way to manage
|
|
||||||
# plain files is through 'home.file'.
|
|
||||||
home.file = {
|
|
||||||
# # Building this configuration will create a copy of 'dotfiles/screenrc' in
|
|
||||||
# # the Nix store. Activating the configuration will then make '~/.screenrc' a
|
|
||||||
# # symlink to the Nix store copy.
|
|
||||||
# ".screenrc".source = dotfiles/screenrc;
|
|
||||||
|
|
||||||
# # You can also set the file content immediately.
|
|
||||||
# ".gradle/gradle.properties".text = ''
|
|
||||||
# org.gradle.console=verbose
|
|
||||||
# org.gradle.daemon.idletimeout=3600000
|
|
||||||
# '';
|
|
||||||
};
|
|
||||||
|
|
||||||
# Home Manager can also manage your environment variables through
|
|
||||||
# 'home.sessionVariables'. If you don't want to manage your shell through Home
|
|
||||||
# Manager then you have to manually source 'hm-session-vars.sh' located at
|
|
||||||
# either
|
|
||||||
#
|
|
||||||
# ~/.nix-profile/etc/profile.d/hm-session-vars.sh
|
|
||||||
#
|
|
||||||
# or
|
|
||||||
#
|
|
||||||
# /etc/profiles/per-user/millironx/etc/profile.d/hm-session-vars.sh
|
|
||||||
#
|
|
||||||
home.sessionVariables = {
|
|
||||||
EDITOR = "nvim";
|
|
||||||
PAGER = "most";
|
|
||||||
NXF_HOME = "$HOME/.nextflow";
|
|
||||||
NXF_CACHE = "$HOME/.cache/nextflow";
|
|
||||||
NXF_CONDA_CACHEDIR = "$NXF_CACHE/conda";
|
|
||||||
NXF_SINGULARITY_CACHEDIR = "$NXF_CACHE/singularity";
|
|
||||||
JULIA_NUM_THREADS = "$(sysctl -n hw.logicalcpu)";
|
|
||||||
JULIA_PKG_USE_CLI_GIT = "true";
|
|
||||||
GPG_TTY = "$(tty)";
|
|
||||||
SSH_AUTH_SOCK = "$(gpgconf --list-dirs agent-ssh-socket)";
|
|
||||||
};
|
|
||||||
|
|
||||||
home.shellAliases = {
|
|
||||||
cat = "bat";
|
|
||||||
ls = "lsd";
|
|
||||||
code = "codium";
|
|
||||||
nproc = "sysctl -n hw.logicalcpu";
|
|
||||||
please = "sudo $(fc -ln -1)";
|
|
||||||
nrun = ''
|
|
||||||
__NV_PRIME_RENDER_OFFLOAD=1 __GLX_VENDOR_LIBRARY_NAME=nvidia __VK_LAYER_NV_optimus="NVIDIA_only"'';
|
|
||||||
grim = "git rebase -i --autosquash $(git_main_branch)";
|
|
||||||
grid = "git rebase -i --autosquash $(git_develop_branch)";
|
|
||||||
gpub = "git push --set-upstream origin $(git rev-parse --abbrev-ref HEAD)";
|
|
||||||
};
|
|
||||||
|
|
||||||
home.sessionPath = [
|
|
||||||
"$HOME/.julia/bin"
|
|
||||||
"$HOME/.juliaup/bin"
|
|
||||||
"$HOME/.cargo/bin"
|
|
||||||
"$HOME/.local/bin"
|
|
||||||
"$HOME/.rd/bin"
|
|
||||||
];
|
|
||||||
|
|
||||||
# Let Home Manager install and manage itself.
|
|
||||||
programs.home-manager.enable = true;
|
|
||||||
|
|
||||||
programs.bash = {
|
|
||||||
enable = true;
|
|
||||||
initExtra = ''
|
|
||||||
# >>> conda initialize >>>
|
|
||||||
# !! Contents within this block are managed by 'conda init' !!
|
|
||||||
__conda_setup="$($HOME/miniconda3/bin/conda shell.bash 'hook' 2> /dev/null)"
|
|
||||||
if [ $? -eq 0 ]; then
|
|
||||||
eval "$__conda_setup"
|
|
||||||
else
|
|
||||||
if [ -f "$HOME/miniconda3/etc/profile.d/conda.sh" ]; then
|
|
||||||
. "$HOME/miniconda3/etc/profile.d/conda.sh"
|
|
||||||
else
|
|
||||||
export PATH="$HOME/miniconda3/bin:$PATH"
|
|
||||||
fi
|
|
||||||
fi
|
|
||||||
unset __conda_setup
|
|
||||||
|
|
||||||
if [ -f "$HOME/miniconda3/etc/profile.d/mamba.sh" ]; then
|
|
||||||
. "$HOME/miniconda3/etc/profile.d/mamba.sh"
|
|
||||||
fi
|
|
||||||
# <<< conda initialize <<<
|
|
||||||
export PS1="[\[\e[32m\]\u\[\e[m\]@\[\e[33m\]\h\[\e[m\] \[\e[34m\]\W\[\e[m\]] \\$ "
|
|
||||||
function nd() {
|
|
||||||
mkdir -p "$1" && cd "$1"
|
|
||||||
}
|
|
||||||
'';
|
|
||||||
profileExtra = ''
|
|
||||||
if [ "$(arch)" = "i386" ]; then
|
|
||||||
eval "$(/usr/local/bin/brew shellenv bash)"
|
|
||||||
else
|
|
||||||
eval "$(/opt/homebrew/bin/brew shellenv bash)"
|
|
||||||
fi
|
|
||||||
#gpgconf --launch gpg-agent
|
|
||||||
'';
|
|
||||||
};
|
|
||||||
programs.bat = {
|
|
||||||
enable = true;
|
|
||||||
config = { pager = "less -SRF"; };
|
|
||||||
};
|
|
||||||
programs.direnv = {
|
|
||||||
enable = true;
|
|
||||||
enableBashIntegration = true;
|
|
||||||
enableZshIntegration = true;
|
|
||||||
};
|
|
||||||
programs.git = {
|
|
||||||
enable = true;
|
|
||||||
userName = "Thomas A. Christensen II";
|
|
||||||
userEmail = "25492070+MillironX@users.noreply.github.com";
|
|
||||||
signing = {
|
|
||||||
key = "0x19A2EF3A3C0C18A9!";
|
|
||||||
signByDefault = true;
|
|
||||||
};
|
|
||||||
extraConfig = {
|
|
||||||
core = { editor = "nvim"; };
|
|
||||||
credential = { helper = "store"; };
|
|
||||||
color = { ui = "auto"; };
|
|
||||||
init = { defaultBranch = "master"; };
|
|
||||||
column = { ui = "auto"; };
|
|
||||||
branch = { sort = "-committerdate"; };
|
|
||||||
tag = { sort = "version:refname"; };
|
|
||||||
diff = {
|
|
||||||
algorithm = "histogram";
|
|
||||||
colorMoved = "plain";
|
|
||||||
mnemonicPrefix = true;
|
|
||||||
renames = true;
|
|
||||||
};
|
|
||||||
push = {
|
|
||||||
default = "simple";
|
|
||||||
autoSetupRemote = true;
|
|
||||||
followTages = true;
|
|
||||||
};
|
|
||||||
fetch = {
|
|
||||||
prune = true;
|
|
||||||
pruneTags = true;
|
|
||||||
all = true;
|
|
||||||
};
|
|
||||||
help = { autocorrect = "prompt"; };
|
|
||||||
commit = { verbose = true; };
|
|
||||||
rerere = {
|
|
||||||
enabled = true;
|
|
||||||
autoupdate = true;
|
|
||||||
};
|
|
||||||
rebase = {
|
|
||||||
autoSquash = true;
|
|
||||||
autoStash = true;
|
|
||||||
updateRefs = true;
|
|
||||||
};
|
|
||||||
merge = { conflictstyle = "zdiff3"; };
|
|
||||||
pull = { rebase = true; };
|
|
||||||
};
|
|
||||||
};
|
|
||||||
programs.gpg.enable = true;
|
|
||||||
programs.neovim = {
|
|
||||||
enable = true;
|
|
||||||
package = pkgs.neovim-unwrapped;
|
|
||||||
coc.enable = true;
|
|
||||||
plugins = with pkgs.vimPlugins; [
|
|
||||||
mason-nvim
|
|
||||||
mason-lspconfig-nvim
|
|
||||||
nvim-lspconfig
|
|
||||||
nvim-dap
|
|
||||||
nvim-dap-ui
|
|
||||||
null-ls-nvim
|
|
||||||
nvim-lint
|
|
||||||
formatter-nvim
|
|
||||||
lspsaga-nvim
|
|
||||||
vim-slime
|
|
||||||
];
|
|
||||||
extraLuaConfig = ''
|
|
||||||
require("mason").setup()
|
|
||||||
'';
|
|
||||||
};
|
|
||||||
programs.zsh = {
|
|
||||||
enable = true;
|
|
||||||
autosuggestion.enable = true;
|
|
||||||
enableCompletion = true;
|
|
||||||
completionInit =
|
|
||||||
"autoload -U compinit && compinit; autoload -U bashcompinit && bashcompinit";
|
|
||||||
antidote = {
|
|
||||||
enable = true;
|
|
||||||
plugins = [
|
|
||||||
"ohmyzsh/ohmyzsh path:lib"
|
|
||||||
"ohmyzsh/ohmyzsh path:plugins/git"
|
|
||||||
"ohmyzsh/ohmyzsh path:plugins/extract"
|
|
||||||
"zsh-users/zsh-syntax-highlighting"
|
|
||||||
"zsh-users/zsh-autosuggestions"
|
|
||||||
"zsh-users/zsh-completions"
|
|
||||||
"romkatv/powerlevel10k"
|
|
||||||
];
|
|
||||||
};
|
|
||||||
initExtraFirst = ''
|
|
||||||
if [[ -r "''${XDG_CACHE_HOME:-$HOME/.cache}/p10k-instant-prompt-''${(%):-%n}.zsh" ]]; then
|
|
||||||
source "''${XDG_CACHE_HOME:-$HOME/.cache}/p10k-instant-prompt-''${(%):-%n}.zsh"
|
|
||||||
fi
|
|
||||||
'';
|
|
||||||
initExtra = ''
|
|
||||||
source ~/.p10k.zsh
|
|
||||||
# >>> conda initialize >>>
|
|
||||||
# !! Contents within this block are managed by 'conda init' !!
|
|
||||||
__conda_setup="$($HOME/miniconda3/bin/conda shell.zsh 'hook' 2> /dev/null)"
|
|
||||||
if [ $? -eq 0 ]; then
|
|
||||||
eval "$__conda_setup"
|
|
||||||
else
|
|
||||||
if [ -f "$HOME/miniconda3/etc/profile.d/conda.sh" ]; then
|
|
||||||
. "$HOME/miniconda3/etc/profile.d/conda.sh"
|
|
||||||
else
|
|
||||||
export PATH="$HOME/miniconda3/bin:$PATH"
|
|
||||||
fi
|
|
||||||
fi
|
|
||||||
unset __conda_setup
|
|
||||||
|
|
||||||
if [ -f "$HOME/miniconda3/etc/profile.d/mamba.sh" ]; then
|
|
||||||
. "$HOME/miniconda3/etc/profile.d/mamba.sh"
|
|
||||||
fi
|
|
||||||
# <<< conda initialize <<<
|
|
||||||
#gpgconf --launch gpg-agent
|
|
||||||
source "$HOME/.cargo/env"
|
|
||||||
|
|
||||||
function nd() {
|
|
||||||
mkdir -p "$1" && cd "$1"
|
|
||||||
}
|
|
||||||
'';
|
|
||||||
profileExtra = ''
|
|
||||||
if [ "$(arch)" = "i386" ]; then
|
|
||||||
eval "$(/usr/local/bin/brew shellenv zsh)"
|
|
||||||
else
|
|
||||||
eval "$(/opt/homebrew/bin/brew shellenv zsh)"
|
|
||||||
fi
|
|
||||||
'';
|
|
||||||
};
|
|
||||||
services.gpg-agent = {
|
|
||||||
enable = true;
|
|
||||||
enableBashIntegration = true;
|
|
||||||
enableSshSupport = true;
|
|
||||||
enableZshIntegration = true;
|
|
||||||
defaultCacheTtl = 60;
|
|
||||||
maxCacheTtl = 120;
|
|
||||||
pinentryPackage = pkgs.pinentry_mac;
|
|
||||||
sshKeys = [ "CC3F27D613DCC2248B56A881FDDACEF6EA090E37" ];
|
|
||||||
verbose = true;
|
|
||||||
};
|
|
||||||
services.syncthing.enable = true;
|
|
||||||
}
|
|
||||||
|
|
@ -1,9 +1,5 @@
|
||||||
{ config, lib, pkgs, pkgs-unstable, ... }:
|
{ config, lib, pkgs, pkgs-unstable, ... }:
|
||||||
let
|
let
|
||||||
packages = import ./../pkgs.nix {
|
|
||||||
inherit pkgs;
|
|
||||||
inherit pkgs-unstable;
|
|
||||||
};
|
|
||||||
conda_init = shell: ''
|
conda_init = shell: ''
|
||||||
# >>> conda initialize >>>
|
# >>> conda initialize >>>
|
||||||
# !! Contents within this block are managed by 'conda init' !!
|
# !! Contents within this block are managed by 'conda init' !!
|
||||||
|
|
@ -38,7 +34,33 @@ in {
|
||||||
".p10k.zsh".source = ./../dotfiles/p10k.zsh;
|
".p10k.zsh".source = ./../dotfiles/p10k.zsh;
|
||||||
".local/share/julia/config/startup.jl".source = ./../dotfiles/startup.jl;
|
".local/share/julia/config/startup.jl".source = ./../dotfiles/startup.jl;
|
||||||
};
|
};
|
||||||
packages = packages.common;
|
packages = with pkgs; [
|
||||||
|
act
|
||||||
|
cowsay
|
||||||
|
earthly
|
||||||
|
ffmpeg
|
||||||
|
figlet
|
||||||
|
fortune
|
||||||
|
gitflow
|
||||||
|
git-absorb
|
||||||
|
gnugrep
|
||||||
|
gnused
|
||||||
|
gzip
|
||||||
|
htop
|
||||||
|
jq
|
||||||
|
julia-bin
|
||||||
|
lynx
|
||||||
|
most
|
||||||
|
nil
|
||||||
|
nixd
|
||||||
|
nixfmt-classic
|
||||||
|
pipx
|
||||||
|
python3
|
||||||
|
quarto
|
||||||
|
shellcheck
|
||||||
|
zulu17
|
||||||
|
(texlive.combine { inherit (texlive) scheme-basic latex-bin latexmk; })
|
||||||
|
];
|
||||||
sessionVariables = {
|
sessionVariables = {
|
||||||
PAGER = "most";
|
PAGER = "most";
|
||||||
NXF_HOME = "\${XDG_DATA_HOME:-$HOME/.local/share}/nextflow";
|
NXF_HOME = "\${XDG_DATA_HOME:-$HOME/.local/share}/nextflow";
|
||||||
|
|
@ -47,8 +69,8 @@ in {
|
||||||
NXF_SINGULARITY_CACHEDIR = "$NXF_CACHE/singularity";
|
NXF_SINGULARITY_CACHEDIR = "$NXF_CACHE/singularity";
|
||||||
JULIA_DEPOT_PATH = "\${XDG_DATA_HOME:-$HOME/.local/share}/julia:";
|
JULIA_DEPOT_PATH = "\${XDG_DATA_HOME:-$HOME/.local/share}/julia:";
|
||||||
JULIA_PKG_USE_CLI_GIT = "true";
|
JULIA_PKG_USE_CLI_GIT = "true";
|
||||||
GPG_TTY = "$(tty)";
|
# GPG_TTY = "$(tty)";
|
||||||
SSH_AUTH_SOCK = "$(gpgconf --list-dirs agent-ssh-socket)";
|
# SSH_AUTH_SOCK = "$(gpgconf --list-dirs agent-ssh-socket)";
|
||||||
};
|
};
|
||||||
shellAliases = {
|
shellAliases = {
|
||||||
cat = "bat";
|
cat = "bat";
|
||||||
|
|
|
||||||
|
|
@ -1,12 +1,15 @@
|
||||||
{ config, lib, pkgs, pkgs-unstable, ... }:
|
{ config, lib, pkgs, pkgs-unstable, ... }: {
|
||||||
let
|
|
||||||
packages = import ./../pkgs.nix {
|
|
||||||
inherit pkgs;
|
|
||||||
inherit pkgs-unstable;
|
|
||||||
};
|
|
||||||
in {
|
|
||||||
home = {
|
home = {
|
||||||
packages = packages.darwin;
|
packages = with pkgs; [
|
||||||
|
asitop
|
||||||
|
pinentry_mac
|
||||||
|
(pkgs.writeShellScriptBin "uq" ''
|
||||||
|
xattr -rdv com.apple.quarantine "/Applications/$1.app"
|
||||||
|
'')
|
||||||
|
(pkgs.writeShellScriptBin "get-current-wifi" ''
|
||||||
|
ipconfig getsummary $(networksetup -listallhardwareports | awk '/Hardware Port: Wi-Fi/{getline; print $2}') | awk -F ' SSID : ' '/ SSID : / {print $2}'
|
||||||
|
'')
|
||||||
|
];
|
||||||
sessionVariables = { JULIA_NUM_THREADS = "$(sysctl -n hw.logicalcpu)"; };
|
sessionVariables = { JULIA_NUM_THREADS = "$(sysctl -n hw.logicalcpu)"; };
|
||||||
shellAliases = { nproc = "sysctl -n hw.logicalcpu"; };
|
shellAliases = { nproc = "sysctl -n hw.logicalcpu"; };
|
||||||
};
|
};
|
||||||
|
|
|
||||||
|
|
@ -8,7 +8,14 @@ let
|
||||||
zed-config = import ./../programs/zed.nix;
|
zed-config = import ./../programs/zed.nix;
|
||||||
in {
|
in {
|
||||||
home = {
|
home = {
|
||||||
packages = packages.desktop;
|
packages = with pkgs; [
|
||||||
|
kdePackages.qtdeclarative
|
||||||
|
sqlitebrowser
|
||||||
|
woodpecker-cli
|
||||||
|
(pkgs.nerdfonts.override {
|
||||||
|
fonts = [ "FiraCode" "Meslo" "NerdFontsSymbolsOnly" ];
|
||||||
|
})
|
||||||
|
];
|
||||||
shellAliases = { code = "codium"; };
|
shellAliases = { code = "codium"; };
|
||||||
};
|
};
|
||||||
programs = {
|
programs = {
|
||||||
|
|
@ -26,8 +33,8 @@ in {
|
||||||
enableBashIntegration = true;
|
enableBashIntegration = true;
|
||||||
enableSshSupport = true;
|
enableSshSupport = true;
|
||||||
enableZshIntegration = true;
|
enableZshIntegration = true;
|
||||||
defaultCacheTtl = 60;
|
defaultCacheTtl = 10800;
|
||||||
maxCacheTtl = 120;
|
maxCacheTtl = 21600;
|
||||||
verbose = true;
|
verbose = true;
|
||||||
};
|
};
|
||||||
syncthing = { enable = true; };
|
syncthing = { enable = true; };
|
||||||
|
|
|
||||||
|
|
@ -12,11 +12,23 @@
|
||||||
# https://pkgs.tailscale.com/stable/fedora/tailscale.repo
|
# https://pkgs.tailscale.com/stable/fedora/tailscale.repo
|
||||||
# https://packagecloud.io/filips/FirefoxPWA
|
# https://packagecloud.io/filips/FirefoxPWA
|
||||||
|
|
||||||
|
# copr repos:
|
||||||
|
# iucar/rstudio
|
||||||
|
|
||||||
# dnf packages:
|
# dnf packages:
|
||||||
|
# chromium
|
||||||
# firefoxpwa - The nix version installs an "immutable" runtime, which simply launches extra browser windows on non-NixOS
|
# firefoxpwa - The nix version installs an "immutable" runtime, which simply launches extra browser windows on non-NixOS
|
||||||
|
# inkscape
|
||||||
# kate
|
# kate
|
||||||
|
# krita
|
||||||
|
# musescore
|
||||||
# nextcloud-client
|
# nextcloud-client
|
||||||
# nextcloud-client-dolphin
|
# nextcloud-client-dolphin
|
||||||
|
# obs-studio
|
||||||
|
# qownnotes
|
||||||
|
# qt
|
||||||
|
# rssguard
|
||||||
|
# rstudio-desktop
|
||||||
# steam
|
# steam
|
||||||
# tailscale
|
# tailscale
|
||||||
# thunderbird
|
# thunderbird
|
||||||
|
|
@ -25,11 +37,12 @@
|
||||||
# yakuake
|
# yakuake
|
||||||
# zed
|
# zed
|
||||||
# zsh
|
# zsh
|
||||||
|
# R
|
||||||
home = {
|
home = {
|
||||||
username = "millironx";
|
username = "millironx";
|
||||||
homeDirectory = "/home/millironx";
|
homeDirectory = "/home/millironx";
|
||||||
# Signal desktop is not available in any other package repository for aarch64 linux
|
# Signal desktop is not available in any other package repository for aarch64 linux
|
||||||
packages = [ pkgs-unstable.signal-desktop ];
|
packages = [ pkgs-unstable.signal-desktop pkgs.bitwarden-desktop ];
|
||||||
};
|
};
|
||||||
programs = {
|
programs = {
|
||||||
git = {
|
git = {
|
||||||
|
|
|
||||||
|
|
@ -1,15 +1,5 @@
|
||||||
{ config, lib, pkgs, pkgs-unstable, ... }: {
|
{ config, lib, pkgs, pkgs-unstable, ... }: {
|
||||||
home = {
|
home = { packages = with pkgs; [ ollama trayscale veracrypt ]; };
|
||||||
packages = with pkgs; [
|
|
||||||
inkscape-with-extensions
|
|
||||||
musescore
|
|
||||||
obs-studio
|
|
||||||
ollama
|
|
||||||
qownnotes
|
|
||||||
trayscale
|
|
||||||
veracrypt
|
|
||||||
];
|
|
||||||
};
|
|
||||||
programs = { };
|
programs = { };
|
||||||
services = {
|
services = {
|
||||||
flatpak = {
|
flatpak = {
|
||||||
|
|
@ -20,7 +10,6 @@
|
||||||
# serves as a place for me to write down the flatpaks I want to install
|
# serves as a place for me to write down the flatpaks I want to install
|
||||||
# anyway
|
# anyway
|
||||||
packages = [
|
packages = [
|
||||||
"com.bitwarden.desktop"
|
|
||||||
"com.github.tchx84.Flatseal"
|
"com.github.tchx84.Flatseal"
|
||||||
"com.logseq.Logseq"
|
"com.logseq.Logseq"
|
||||||
"io.freetubeapp.FreeTube"
|
"io.freetubeapp.FreeTube"
|
||||||
|
|
|
||||||
|
|
@ -15,6 +15,18 @@
|
||||||
"${config.xdg.dataHome}/kio/servicemenus/powerpoint-to-pdf.desktop".source =
|
"${config.xdg.dataHome}/kio/servicemenus/powerpoint-to-pdf.desktop".source =
|
||||||
./../dotfiles/powerpoint-to-pdf.desktop;
|
./../dotfiles/powerpoint-to-pdf.desktop;
|
||||||
};
|
};
|
||||||
|
# A notable exception here: R
|
||||||
|
# R is a very painful program to manage.
|
||||||
|
# Package compatibility between R versions is abysmal, so I need to keep multiple R versions around.inherit
|
||||||
|
# For other languages, Nix/home-manager is the perfect solution
|
||||||
|
# (julia: `nix shell nixpkgs#julia-bin`, `nix shell nixpkgs#julia-lts`;
|
||||||
|
# node: `nix shell nixpkgs#nodejs`, `nix shell nixpkgs#nodejs_20`
|
||||||
|
# ruby: ... You get the picture).
|
||||||
|
# R is *very* complicated to manage in Nix.
|
||||||
|
# Nix requires bundling the base packages *and* RStudio, or RStudio can't find R.
|
||||||
|
# RStudio is useless without certain bundled packages (mainly `renv` in today's environment).
|
||||||
|
# Right now, I am using the distro's R on Linux, and Homebrew on MacOS.
|
||||||
|
# This is less than ideal, but I'm willing to deal with it for now.
|
||||||
packages = with pkgs; [ bitwarden-cli ];
|
packages = with pkgs; [ bitwarden-cli ];
|
||||||
sessionVariables = { JULIA_NUM_THREADS = "$(nproc)"; };
|
sessionVariables = { JULIA_NUM_THREADS = "$(nproc)"; };
|
||||||
shellAliases = {
|
shellAliases = {
|
||||||
|
|
|
||||||
50
pkgs.nix
50
pkgs.nix
|
|
@ -1,50 +0,0 @@
|
||||||
{ pkgs, pkgs-unstable, ... }: {
|
|
||||||
common = with pkgs; [
|
|
||||||
act
|
|
||||||
cowsay
|
|
||||||
earthly
|
|
||||||
ffmpeg
|
|
||||||
figlet
|
|
||||||
fortune
|
|
||||||
gitflow
|
|
||||||
git-absorb
|
|
||||||
gnugrep
|
|
||||||
gnused
|
|
||||||
gzip
|
|
||||||
htop
|
|
||||||
jq
|
|
||||||
julia-bin
|
|
||||||
lynx
|
|
||||||
most
|
|
||||||
nil
|
|
||||||
nixd
|
|
||||||
nixfmt-classic
|
|
||||||
pipx
|
|
||||||
python3
|
|
||||||
quarto
|
|
||||||
shellcheck
|
|
||||||
zulu17
|
|
||||||
(texlive.combine { inherit (texlive) scheme-basic latex-bin latexmk; })
|
|
||||||
];
|
|
||||||
|
|
||||||
darwin = with pkgs; [
|
|
||||||
asitop
|
|
||||||
pinentry_mac
|
|
||||||
(pkgs.writeShellScriptBin "uq" ''
|
|
||||||
xattr -rdv com.apple.quarantine "/Applications/$1.app"
|
|
||||||
'')
|
|
||||||
(pkgs.writeShellScriptBin "get-current-wifi" ''
|
|
||||||
ipconfig getsummary $(networksetup -listallhardwareports | awk '/Hardware Port: Wi-Fi/{getline; print $2}') | awk -F ' SSID : ' '/ SSID : / {print $2}'
|
|
||||||
'')
|
|
||||||
];
|
|
||||||
|
|
||||||
desktop = with pkgs; [
|
|
||||||
kdePackages.qtdeclarative
|
|
||||||
sqlitebrowser
|
|
||||||
woodpecker-cli
|
|
||||||
(pkgs.nerdfonts.override {
|
|
||||||
fonts = [ "FiraCode" "Meslo" "NerdFontsSymbolsOnly" ];
|
|
||||||
})
|
|
||||||
];
|
|
||||||
|
|
||||||
}
|
|
||||||
Loading…
Add table
Add a link
Reference in a new issue