2022-11-08 19:08:54 -08:00
|
|
|
{ config, pkgs, user, ... }:
|
2022-10-08 15:40:33 -07:00
|
|
|
|
|
|
|
let
|
2022-10-10 16:50:15 -07:00
|
|
|
moz_overlay = import (builtins.fetchTarball https://github.com/mozilla/nixpkgs-mozilla/archive/master.tar.gz);
|
|
|
|
nixpkgs = import <nixpkgs> {
|
|
|
|
overlays = [ moz_overlay ];
|
|
|
|
};
|
|
|
|
ruststable = (nixpkgs.latest.rustChannels.stable.rust.override {
|
|
|
|
extensions = [ "rust-src" "rust-analysis" ];}
|
|
|
|
);
|
2022-10-08 15:40:33 -07:00
|
|
|
in
|
|
|
|
{
|
2023-02-16 11:47:00 -08:00
|
|
|
|
|
|
|
imports = [
|
2023-02-16 11:49:08 -08:00
|
|
|
../modules/emacs.nix
|
|
|
|
../modules/git.nix
|
|
|
|
../modules/fusuma.nix
|
|
|
|
../modules/vim.nix
|
|
|
|
../modules/wezterm.nix
|
|
|
|
../modules/xdg.nix
|
|
|
|
../modules/zsh.nix
|
2023-02-16 11:47:00 -08:00
|
|
|
];
|
|
|
|
|
2022-10-08 15:40:33 -07:00
|
|
|
# Let Home Manager install and manage itself.
|
|
|
|
programs.home-manager.enable = true;
|
|
|
|
|
2022-12-09 14:02:37 -08:00
|
|
|
|
|
|
|
programs.direnv.enable = true;
|
|
|
|
programs.direnv.nix-direnv.enable = true;
|
|
|
|
|
2022-10-08 15:40:33 -07:00
|
|
|
home = {
|
|
|
|
# Home Manager needs a bit of information about you and the
|
|
|
|
# paths it should manage.
|
|
|
|
username = user;
|
|
|
|
homeDirectory = "/home/${user}";
|
|
|
|
|
|
|
|
# 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.
|
2023-01-14 14:00:19 -08:00
|
|
|
stateVersion = "22.11";
|
2022-10-08 15:40:33 -07:00
|
|
|
|
|
|
|
packages = with pkgs; [
|
2022-10-11 09:28:10 -07:00
|
|
|
# utilities
|
|
|
|
ffmpeg-full
|
|
|
|
frei0r # kdenlive video plugins
|
2022-10-12 20:29:52 -07:00
|
|
|
pandoc
|
2022-12-04 15:15:50 -08:00
|
|
|
fontpreview
|
2023-01-27 12:46:41 -08:00
|
|
|
|
|
|
|
texlive.combined.scheme-medium
|
2022-10-11 09:28:10 -07:00
|
|
|
|
|
|
|
# commandline utils
|
2023-01-06 22:17:49 -08:00
|
|
|
pfetch
|
2023-01-08 19:31:04 -08:00
|
|
|
fortune
|
2023-01-09 16:54:18 -08:00
|
|
|
rmtrash
|
2023-01-26 17:59:18 -08:00
|
|
|
ripgrep
|
2023-01-27 12:46:41 -08:00
|
|
|
fd
|
2023-01-08 19:31:04 -08:00
|
|
|
neofetch
|
2022-10-08 15:40:33 -07:00
|
|
|
ranger
|
2022-11-08 19:20:43 -08:00
|
|
|
exa
|
2023-01-27 12:46:41 -08:00
|
|
|
xdotool
|
2022-11-26 11:43:14 -08:00
|
|
|
vhs
|
2022-10-08 15:40:33 -07:00
|
|
|
|
2022-10-09 21:31:30 -07:00
|
|
|
nodejs # required for coc-nvim
|
2022-10-10 16:50:15 -07:00
|
|
|
|
2022-12-03 12:08:39 -08:00
|
|
|
# Gui application
|
|
|
|
darktable # RAW processing
|
2023-01-28 08:50:53 -08:00
|
|
|
firefox # Internet access
|
2022-12-03 12:08:39 -08:00
|
|
|
inkscape # Vector drawing
|
2023-01-30 21:26:58 -08:00
|
|
|
jellyfin-media-player # plex-like media player client
|
2023-01-28 08:50:53 -08:00
|
|
|
kicad # PCB design
|
2022-12-03 12:08:39 -08:00
|
|
|
krita # Raster drawing
|
2023-01-28 08:50:53 -08:00
|
|
|
libreoffice # Office editing
|
|
|
|
obsidian # Markdown and notes
|
2023-01-21 17:55:48 -08:00
|
|
|
qalculate-gtk # unit-friendly calculator
|
2023-01-28 08:50:53 -08:00
|
|
|
vscodium # when vim isn't enough
|
2022-12-03 12:08:39 -08:00
|
|
|
|
2022-10-11 09:28:10 -07:00
|
|
|
libsForQt5.kate # kate/kwrite
|
2022-10-12 20:29:52 -07:00
|
|
|
libsForQt5.ark # kde archive manager
|
2022-12-03 12:08:39 -08:00
|
|
|
|
2022-10-12 20:29:52 -07:00
|
|
|
# Kdenlive and deps
|
|
|
|
libsForQt5.kdenlive
|
|
|
|
mediainfo
|
|
|
|
mlt
|
2022-12-03 12:08:39 -08:00
|
|
|
|
|
|
|
# Drawing tablet driver
|
|
|
|
opentabletdriver
|
2022-10-08 15:40:33 -07:00
|
|
|
];
|
|
|
|
|
|
|
|
sessionVariables = {
|
2022-11-26 11:43:14 -08:00
|
|
|
NIX_SHELL_PRESERVE_PROMPT = 1;
|
2022-10-08 15:40:33 -07:00
|
|
|
};
|
|
|
|
};
|
|
|
|
}
|