nixos-config/profiles/work/home.nix

151 lines
4.5 KiB
Nix
Raw Normal View History

{ config, lib, pkgs, stdenv, fetchurl, nix-doom-emacs, stylix, username, email, dotfilesDir, theme, wm, browser, editor, spawnEditor, term, ... }:
2023-06-21 20:03:51 +05:30
{
# Home Manager needs a bit of information about you and the paths it should
# manage.
home.username = username;
home.homeDirectory = "/home/"+username;
2023-06-21 20:03:51 +05:30
programs.home-manager.enable = true;
imports = [
nix-doom-emacs.hmModule
stylix.homeManagerModules.stylix
(./. + "../../../user/wm"+("/"+wm+"/"+wm)+".nix") # My window manager selected from flake
2023-06-21 20:03:51 +05:30
../../user/shell/sh.nix # My zsh and bash config
../../user/shell/cli-collection.nix # Useful CLI apps
../../user/bin/phoenix.nix # My nix command wrapper
../../user/app/doom-emacs/doom.nix # My doom emacs config
../../user/app/ranger/ranger.nix # My ranger file manager config
../../user/app/git/git.nix # My git config
../../user/app/keepass/keepass.nix # My password manager
(./. + "../../../user/app/browser"+("/"+browser)+".nix") # My default browser selected from flake
2023-06-21 20:03:51 +05:30
../../user/app/virtualization/virtualization.nix # Virtual machines
../../user/app/flatpak/flatpak.nix # Flatpaks
../../user/style/stylix.nix # Styling and themes for my apps
../../user/lang/cc/cc.nix # C and C++ tools
../../user/lang/godot/godot.nix # Game development
2023-08-05 00:17:41 +05:30
../../user/pkgs/blockbench.nix # Blockbench
2023-10-07 02:42:24 +05:30
../../user/hardware/bluetooth.nix # Bluetooth
2023-06-21 20:03:51 +05:30
];
home.stateVersion = "22.11"; # Please read the comment before changing.
home.packages = with pkgs; [
# Core
zsh
alacritty
librewolf
brave
2023-09-28 06:47:55 +05:30
qutebrowser
2023-06-21 20:03:51 +05:30
dmenu
rofi
git
syncthing
# Office
libreoffice-fresh
2023-06-21 20:03:51 +05:30
mate.atril
xournalpp
glib
gnome.nautilus
2023-06-21 20:03:51 +05:30
gnome.geary
gnome.gnome-calendar
gnome.seahorse
gnome.gnome-maps
openvpn
2023-06-27 19:52:02 +05:30
protonmail-bridge
2023-06-21 20:03:51 +05:30
2023-09-30 22:28:02 +05:30
wine
bottles
# The following requires 64-bit FL Studio (FL64) to be installed to a bottle
# With a bottle name of "FL Studio"
(pkgs.writeShellScriptBin "flstudio" ''
#!/bin/sh
if [ -z "$1" ]
then
bottles-cli run -b "FL Studio" -p FL64
#flatpak run --command=bottles-cli com.usebottles.bottles run -b FL\ Studio -p FL64
else
filepath=$(winepath --windows "$1")
echo \'"$filepath"\'
bottles-cli run -b "FL Studio" -p "FL64" --args \'"$filepath"\'
#flatpak run --command=bottles-cli com.usebottles.bottles run -b FL\ Studio -p FL64 -args "$filepath"
fi
'')
(pkgs.makeDesktopItem {
name = "flstudio";
desktopName = "FL Studio 64";
exec = "flstudio %U";
2023-09-30 22:28:02 +05:30
terminal = false;
type = "Application";
mimeTypes = ["application/octet-stream"];
2023-09-30 22:28:02 +05:30
})
2023-06-21 20:03:51 +05:30
# Media
gimp-with-plugins
2023-08-24 03:32:54 +05:30
pinta
2023-06-21 20:03:51 +05:30
krita
musikcube
vlc
mpv
yt-dlp
freetube
blender
2023-07-28 03:30:49 +05:30
blockbench-electron
2023-06-21 20:03:51 +05:30
obs-studio
libsForQt5.kdenlive
(pkgs.writeScriptBin "kdenlive-accel" ''
#!/bin/sh
DRI_PRIME=1 kdenlive "$1"
'')
2023-06-21 20:03:51 +05:30
movit
mediainfo
libmediainfo
mediainfo-gui
audio-recorder
# Various dev packages
texinfo
libffi zlib
nodePackages.ungit
];
services.syncthing.enable = true;
xdg.enable = true;
xdg.userDirs = {
enable = true;
createDirectories = true;
music = "${config.home.homeDirectory}/Media/Music";
videos = "${config.home.homeDirectory}/Media/Videos";
pictures = "${config.home.homeDirectory}/Media/Pictures";
templates = "${config.home.homeDirectory}/Templates";
download = "${config.home.homeDirectory}/Downloads";
documents = "${config.home.homeDirectory}/Documents";
desktop = null;
publicShare = null;
extraConfig = {
XDG_DOTFILES_DIR = "${config.home.homeDirectory}/.dotfiles";
XDG_ARCHIVE_DIR = "${config.home.homeDirectory}/Archive";
XDG_VM_DIR = "${config.home.homeDirectory}/Machines";
XDG_ORG_DIR = "${config.home.homeDirectory}/Org";
XDG_PODCAST_DIR = "${config.home.homeDirectory}/Media/Podcasts";
XDG_BOOK_DIR = "${config.home.homeDirectory}/Media/Books";
};
};
xdg.mime.enable = true;
xdg.mimeApps.enable = true;
xdg.mimeApps.associations.added = {
"application/octet-stream" = "flstudio.desktop;";
};
2023-06-21 20:03:51 +05:30
home.sessionVariables = {
EDITOR = editor;
SPAWNEDITOR = spawnEditor;
TERM = term;
BROWSER = browser;
};
2023-06-21 20:03:51 +05:30
}