nixpkgs/home.nix

227 lines
6.6 KiB
Nix
Raw Normal View History

{ config, pkgs, ... }:
{
imports = [
./home/modules/programs/cmus.nix
./home/modules/programs/languagetool.nix
./home/modules/programs/mailhog.nix
];
# Home Manager needs a bit of information about you and the
# paths it should manage.
home.username = "daniels";
home.homeDirectory = "/home/daniels";
# 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.
home.stateVersion = "22.05";
# Let Home Manager install and manage itself.
programs.home-manager.enable = true;
nix = import ./home/programs/nix.nix {
inherit pkgs;
};
# Install packages
# Some are installed via `programs` below, as they are also configured.
# Some packages don't have a module for configuration, and are configured via `home.file` below.
home.packages = [
2022-02-02 17:40:23 +01:00
pkgs.nix
pkgs.cacert
2022-02-02 17:40:23 +01:00
# System tools
pkgs.dmenu
pkgs.networkmanager_dmenu
pkgs.dmenu-custom-scripts
2022-02-14 08:05:09 +01:00
pkgs.custom-update-system
pkgs.custom-push-etckeeper
pkgs.dunst
pkgs.i3blocks
pkgs.st
2022-02-08 16:38:29 +01:00
pkgs.ncdu
2022-02-08 17:06:47 +01:00
pkgs.tree
pkgs.rst2pdf
pkgs.espeak
2022-03-09 13:26:56 +01:00
pkgs.bc
2022-02-10 16:19:28 +01:00
pkgs.borgbackup
2022-02-08 17:27:07 +01:00
pkgs.keepassxc
pkgs.libreoffice
# Dev tools
pkgs.litecli
2022-02-08 17:16:47 +01:00
pkgs.sqlite
pkgs.mycli
# pkgs.mytop
pkgs.robo3t
pkgs.mkcert
pkgs.tig
pkgs.universal-ctags
pkgs.silver-searcher
2022-02-08 16:25:23 +01:00
pkgs.curl
2022-02-08 17:09:39 +01:00
pkgs.wget
2022-02-08 17:14:19 +01:00
pkgs.kcachegrind
pkgs.geckodriver
# In order to pull binaries from their.
2022-03-11 11:40:32 +01:00
# E.g. phps: https://github.com/fossar/nix-phps#how-to-use
pkgs.cachix
# Coding / Neovim
# Does not provide any autocompletion yet, don't know why
# Use in conjuncion with https://github.com/autozimu/LanguageClient-neovim
# pkgs.rnix-lsp
pkgs.custom-customer-project
# Communication
pkgs.signal-desktop
pkgs.thunderbird
# Media
pkgs.vlc
pkgs.yt-dlp
pkgs.spotdl
# Does not work for some reason, need installed via apt
# pkgs.sound-juicer
# pkgs.audacity
2022-02-08 16:27:51 +01:00
pkgs.ffmpeg
2022-02-21 08:32:11 +01:00
pkgs.python39Packages.mutagen
2022-04-28 12:54:35 +02:00
pkgs.darktable
];
programs = {
neovim = import ./home/programs/neovim.nix {
inherit pkgs;
};
git = import ./home/programs/git.nix {
inherit pkgs;
};
htop = import ./home/programs/htop.nix {
inherit config;
};
2022-02-03 09:10:22 +01:00
tmux = import ./home/programs/tmux.nix {
inherit pkgs;
2022-02-03 09:10:22 +01:00
};
2022-02-14 16:06:43 +01:00
jq = import ./home/programs/jq.nix {
inherit config;
};
zsh = import ./home/programs/zsh.nix {
inherit config pkgs;
};
firefox = import ./home/programs/firefox.nix {
inherit pkgs;
};
# Media
cmus.enable = true;
};
home.file = {
".nix-channels".source = ./home/files/nix-channels;
".profile".source = ./home/files/profile;
".myclirc".source = ./home/files/myclirc;
".agignore".source = ./home/files/agignore;
};
2022-02-02 21:02:07 +01:00
xdg.configFile = {
"ctags/config.ctags".source = ./home/files/ctags;
2022-02-07 09:10:09 +01:00
"litecli/config".source = ./home/files/litecli;
"phpactor".source = ./home/files/phpactor;
"yamllint/config".source = ./home/files/yamllint/config;
2022-02-07 09:43:48 +01:00
"tig/config".source = ./home/files/tig;
"cmus/smyckblue.theme".source = ./home/files/cmus/smyckblue.theme;
"cmus/rc".source = ./home/files/cmus/rc;
"i3/config".source = ./home/files/i3;
"i3blocks/config".source = ./home/files/i3-blocks;
2022-02-10 16:19:28 +01:00
"borg/exclude".source = ./home/files/borg-exclude;
};
xdg.dataFile = {
"xsd/xliff-core-1.2-strict.xsd".source = pkgs.fetchurl {
url = "https://docs.oasis-open.org/xliff/v1.2/os/xliff-core-1.2-strict.xsd";
sha256 = "nzevVk7NJ9X2kVTXz+e6jesfYgyBuUzw6rH0IFx01fg=";
};
"typo3-configuration".source = ./home/files/typo3-configuration;
};
xdg.desktopEntries = {
networkmanager-dmenu = {
type = "Application";
exec = "${pkgs.networkmanager_dmenu}/bin/networkmanager_dmenu";
name = "Networkmanager dmenu";
comment = "Networkmanaging using dmenu";
genericName = "Networkmanager Setting";
categories = [
"Network"
];
};
slack-typo3 = {
name = "Slack TYPO3";
type = "Application";
exec = "/snap/bin/chromium --class=\"chat\" --new-window --app=https://app.slack.com/client/T024TUMLZ/unreads";
};
slack-codappix = {
name = "Slack Codappix";
type = "Application";
exec = "/snap/bin/chromium --class=\"chat\" --new-window --app=https://app.slack.com/client/T2DPNS55W/unreads";
};
slack-sac = {
name = "Slack SAC";
type = "Application";
exec = "/snap/bin/chromium --class=\"chat\" --new-window --app=https://app.slack.com/client/T3FANTPL5/unreads";
};
microsoft-teams = {
name = "Microsoft Teams";
type = "Application";
exec = "/snap/bin/chromium --class=\"chat\" --new-window --user-agent=\"Mozilla/5.0 (Macintosh; Intel Mac OS X 10_14_6) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/81.0.4044.138 Safari/537.36\" --new-window --app=https://teams.microsoft.com/";
};
mattermost = {
name = "Mattermost werkraum-media";
type = "Application";
exec = "/snap/bin/chromium --class=\"chat\" --new-window --new-window --app=https://mattermost.werkraum-media.de/";
};
werkraum-jitsi = {
name = "Jitsi werkraum-media";
type = "Application";
exec = "/snap/bin/chromium --class=\"chat\" --new-window --new-window --app=https://jitsi.werkraum-media.de/codappix";
};
toggl = {
name = "Toggl Time Tracking";
type = "Application";
exec = "${pkgs.firefox}/bin/firefox --class=\"time-tracking\" --new-instance -P toggl https://track.toggl.com/timer";
};
mailhog-ui = {
name = "Mailhog";
type = "Application";
exec = "${pkgs.firefox}/bin/firefox --class=\"mailhog\" --new-instance -P mailhog https://mailhog.localhost";
};
};
services.dunst = import ./home/services/dunst.nix;
services.mailhog.enable = true;
services.languagetool.enable = true;
2022-02-08 19:17:44 +01:00
services.nextcloud-client.enable = true;
# Temporary fix to OpenGL issue by using GLX.
# Start nextcloud without GLX support which is fine for me for noe.
# I don't have a better way for now, then using `pkgs.lib.mkForce` and setting whole value (repeating from modules/services/nextcloud-client.nix).
systemd.user.services.nextcloud-client.Service.Environment = pkgs.lib.mkForce [
"PATH=${config.home.profileDirectory}/bin"
"QT_XCB_GL_INTEGRATION=none"
];
}