home.nix

Branches > main > be0925d > files / nixos / machines / pc / home.nix

{ config, pkgs, ... }:

{
  ## TODO default branch main?
  programs.git = {
    enable = true;
    settings = {
      user.name  = "Grahp";
      user.email = "git@grahp.dev";
    };
  };
  programs.fish = {
    enable = true;
    shellAliases = {
      rb = "sudo nixos-rebuild switch --flake ~/.config/nixos#pc";
      ed = "rlwrap ed -vEp:";
      ll = "lsd -1ANF --group-directories-first --blocks=name,date,size --date=relative";
      l  = "lsd -lANF --group-directories-first --date=relative";
      ls = "lsd -ANF --group-directories-first";
    };
    interactiveShellInit = ''
      set -g fish_greeting

      fish_vi_key_bindings
      function fish_prompt
        string join "" -- (set_color blue) (prompt_pwd --full-length-dirs 5) (set_color normal) " > "
      end
      function fish_mode_prompt
      end
    '';
  };

  home.stateVersion = "23.11";
  home.packages = with pkgs; [
    nerd-fonts.jetbrains-mono
    steam
    ghostty

    vesktop
    slack

    neovim
    tree-sitter
    fennel-ls
    fnlfmt
    clj-kondo
    clojure-lsp
    cljfmt
    lua-language-server
    fzf

    librewolf ## TODO config!
    tor-browser
    ungoogled-chromium

    obsidian
    gimp
    i3
    nautilus
    pavucontrol

    prismlauncher

    libreoffice
    maim
    xclip

    usbutils
    inotify-tools

    unzip
    git
    lazygit
    rlwrap
    ed # It's the standard editor, you know?
    fish
    lsd
    dig
    ripgrep
    dmenu

    bluez

    flatpak

    jdk25

    clojure
    babashka

    lua54Packages.fennel

    luajit

    nodejs
    bun

    cloc
    mpv
    loupe
    vlc
    ffmpeg

    obs-studio
    audacity

    # Maybe should be in ./build shell.nix?
    bundler
    jekyll

    shotcut

    amberol

    # For apps that don't respect the fucking CLOSE button
    killall

    filezilla
  ];
}