2023-10-22 19:21:16 -07:00
|
|
|
|
2024-01-09 18:47:47 -08:00
|
|
|
{ inputs, config, osConfig, pkgs, pkgs-stable, ewwtilities, atuin, user, ... }:
|
2023-10-22 19:21:16 -07:00
|
|
|
|
|
|
|
let
|
|
|
|
moz_overlay = import (builtins.fetchTarball https://github.com/mozilla/nixpkgs-mozilla/archive/master.tar.gz);
|
2023-12-02 18:17:10 -08:00
|
|
|
rustpkgs = import pkgs {
|
2023-10-22 19:21:16 -07:00
|
|
|
overlays = [ moz_overlay ];
|
|
|
|
};
|
2023-12-02 18:35:20 -08:00
|
|
|
|
2023-12-02 18:17:10 -08:00
|
|
|
ruststable = (rustpkgs.latest.rustChannels.stable.rust.override {
|
2023-10-22 19:21:16 -07:00
|
|
|
extensions = [ "rust-src" "rust-analysis" ];}
|
|
|
|
);
|
|
|
|
|
|
|
|
commandline_only_hosts = [
|
|
|
|
"Alaska"
|
|
|
|
];
|
|
|
|
|
|
|
|
install_packages = with pkgs; [
|
|
|
|
# (pkgs.callPackage ./modules/minecraft-bedrock/minecraft-bedrock-server.nix {}) # the possible minecraft-bedrock-server package for testing
|
|
|
|
# utilities
|
2024-01-09 18:47:47 -08:00
|
|
|
atuin.packages.${pkgs.system}.atuin
|
2023-10-22 19:21:16 -07:00
|
|
|
bat # cat with wings (better cat)
|
|
|
|
bottom # system monitor
|
|
|
|
du-dust # directory disk-space analyzer
|
|
|
|
ffmpeg-full # ffmpeg for video/audio rendering
|
2023-11-08 21:00:11 -08:00
|
|
|
ewwtilities.packages.${pkgs.system}.ewwtilities
|
2023-10-22 19:21:16 -07:00
|
|
|
pkgs-stable.fontpreview # utility to preview fonts
|
|
|
|
gitui # command line git tui
|
2023-10-27 09:49:17 -07:00
|
|
|
hugo
|
2023-10-22 19:21:16 -07:00
|
|
|
pkgs-stable.pandoc # utility for converting between document types
|
|
|
|
pkgs-stable.qmk # QMK utility for compiling qmk firmware
|
|
|
|
nextcloud-client # Nextcloud private syncing
|
|
|
|
hddtemp
|
|
|
|
|
|
|
|
pkgs-stable.texlive.combined.scheme-medium
|
|
|
|
|
|
|
|
# commandline utils
|
|
|
|
eza
|
|
|
|
fd
|
|
|
|
fortune
|
|
|
|
neofetch
|
2024-01-06 19:59:12 -08:00
|
|
|
nftables
|
2023-10-22 19:21:16 -07:00
|
|
|
pfetch
|
|
|
|
rmtrash
|
|
|
|
testdisk # file recovery https://itsfoss.com/recover-deleted-files-linux/
|
|
|
|
xdotool
|
2023-12-21 22:25:17 -08:00
|
|
|
#pkgs-stable.vhs
|
2023-10-22 19:21:16 -07:00
|
|
|
|
|
|
|
pkgs-stable.nodejs # required for coc-nvim
|
|
|
|
|
|
|
|
] ++ pkgs.lib.optionals (! builtins.elem osConfig.networking.hostName commandline_only_hosts ) [
|
|
|
|
# Gui application
|
|
|
|
pkgs-stable.darktable # RAW processing
|
2023-12-30 11:21:10 -08:00
|
|
|
dbeaver # SQL management tool
|
2023-11-23 08:56:36 -08:00
|
|
|
pkgs-stable.dragon # simple audio player
|
2023-10-22 19:21:16 -07:00
|
|
|
firefox # Internet access
|
|
|
|
freerdp # RDP client
|
|
|
|
pkgs-stable.flameshot # screenshot utility
|
2023-11-06 17:01:06 -08:00
|
|
|
pkgs-stable.grim pkgs-stable.slurp pkgs-stable.wl-clipboard # DIY wayland screenshots
|
2023-10-22 19:21:16 -07:00
|
|
|
pkgs-stable.frei0r # kdenlive video plugins
|
|
|
|
pkgs-stable.godot_4
|
|
|
|
pkgs-stable.helvum # audio sink gui control
|
|
|
|
pkgs-stable.inkscape # Vector drawing
|
|
|
|
pkgs-stable.kicad # PCB design
|
|
|
|
krita # Raster drawing
|
|
|
|
pkgs-stable.libreoffice-fresh # Office editing
|
2023-12-02 18:20:32 -08:00
|
|
|
makemkv # blue-ray + dvd -> mkv
|
2023-10-22 19:21:16 -07:00
|
|
|
qalculate-gtk # unit-friendly calculator
|
2024-01-24 16:57:44 -08:00
|
|
|
pkgs-stable.qlcplus # LED xlr control program
|
2023-11-23 08:56:36 -08:00
|
|
|
signal-desktop # secure messaging service
|
2023-10-22 19:21:16 -07:00
|
|
|
pkgs-stable.vscodium # when vim and emacs (somehow) isn't enough
|
|
|
|
obs-studio # for video recording and virtual camera
|
|
|
|
|
|
|
|
libsForQt5.kate # kate/kwrite
|
|
|
|
libsForQt5.ark # kde archive manager
|
|
|
|
libsForQt5.kio # extra file-type click support
|
|
|
|
libsForQt5.kio-extras # even more extra file-type click support
|
2023-12-21 22:25:17 -08:00
|
|
|
# libsForQt5.soundkonverter # audio cd ripping
|
2023-10-22 19:21:16 -07:00
|
|
|
|
|
|
|
# Kdenlive and deps
|
|
|
|
pkgs-stable.libsForQt5.kdenlive
|
|
|
|
pkgs-stable.mediainfo
|
|
|
|
pkgs-stable.mlt
|
|
|
|
|
|
|
|
# Drawing tablet driver
|
|
|
|
opentabletdriver
|
|
|
|
];
|
|
|
|
in
|
|
|
|
{
|
|
|
|
|
|
|
|
imports = [
|
2024-01-09 18:56:16 -08:00
|
|
|
./modules/atuin.nix
|
2023-10-22 19:21:16 -07:00
|
|
|
./modules/discord.nix
|
|
|
|
#./modules/emacs.nix
|
2023-12-25 18:50:01 -08:00
|
|
|
./modules/fusuma.nix
|
2023-10-22 19:21:16 -07:00
|
|
|
./modules/git.nix
|
2023-12-25 18:50:01 -08:00
|
|
|
./modules/hyprland
|
2023-10-23 21:19:39 -07:00
|
|
|
./modules/kitty.nix
|
2023-12-25 18:50:01 -08:00
|
|
|
./modules/neovim.nix
|
2023-10-22 19:21:16 -07:00
|
|
|
./modules/rofi.nix
|
|
|
|
./modules/tmux.nix
|
|
|
|
./modules/wezterm.nix
|
|
|
|
./modules/xdg.nix
|
|
|
|
./modules/yazi.nix
|
|
|
|
./modules/zsh.nix
|
|
|
|
];
|
|
|
|
|
|
|
|
# Let Home Manager install and manage itself.
|
|
|
|
programs.home-manager.enable = true;
|
|
|
|
|
2023-12-25 18:50:01 -08:00
|
|
|
programs.direnv = {
|
|
|
|
enable = true;
|
|
|
|
nix-direnv.enable = true;
|
|
|
|
};
|
2023-10-22 19:21:16 -07:00
|
|
|
|
|
|
|
home = {
|
2023-10-22 19:31:56 -07:00
|
|
|
|
2023-10-22 19:21:16 -07:00
|
|
|
# Home Manager needs a bit of information about you and the
|
|
|
|
# paths it should manage.
|
|
|
|
username = user;
|
|
|
|
homeDirectory = "/home/${user}";
|
|
|
|
|
|
|
|
sessionVariables = {
|
|
|
|
CARGO_TARGET_DIR = "$HOME/.target/";
|
|
|
|
};
|
|
|
|
|
|
|
|
|
|
|
|
# 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 can update Home Manager without changing this value. See
|
|
|
|
# the Home Manager release notes for a list of state version
|
|
|
|
# changes in each release.
|
|
|
|
stateVersion = "22.11";
|
|
|
|
|
|
|
|
packages = install_packages;
|
|
|
|
sessionVariables = {
|
|
|
|
NIX_SHELL_PRESERVE_PROMPT = 1;
|
|
|
|
EDITOR = "nvim";
|
|
|
|
};
|
|
|
|
};
|
|
|
|
|
|
|
|
}
|