dotfiles/profiles/base/default.nix

197 lines
3.9 KiB
Nix

{ config, lib, pkgs, ... }:
let
cfg = config.profiles.base;
in {
options.machine = {
name = lib.mkOption {
type = "str";
};
eth = lib.mkOption {};
wlan = lib.mkOption {};
};
options.profiles.base = {
enable = lib.mkEnableOption "The base profile, should be always enabled";
};
config = lib.mkIf cfg.enable {
home.packages = with pkgs; [
#libguestfs
#ansible
#nixops
nix-output-monitor
nix-top
nix-index
unstable.comma
ldns
mtr
lsof
htop
file
tmux
unzip
p7zip
parallel
sshfs
jq
ncdu
bat
exa
ripgrep
mkvtoolnix
# unstable.youtubeDL
ffmpeg-full
] ++ lib.optionals config.profiles.gui.enable [
# virtmanager
# virt-viewer
thunderbird
mpv
sxiv
spotify
mumble
#dan.rank_photos
dolphin plasma5Packages.dolphin-plugins
ffmpegthumbs
plasma5Packages.kdegraphics-thumbnailers
plasma5Packages.kio plasma5Packages.kio-extras
krename
konsole # https://bugs.kde.org/show_bug.cgi?id=407990 reeee
gnome3.gedit
unstable.vscode
# texlive.combined.scheme-full
# kile
libreoffice
gimp
# krita
# inkscape
# digikam
# godot
# blender
# audacity
# mixxx
# ardour
kdenlive
frei0r
geogebra
];
programs.firefox = {
enable = config.profiles.gui.enable;
profiles = {
daniel = {
settings = {
"browser.startup.homepage" = "https://nixos.org";
};
bookmarks = {
"NixOS Options" = {
keyword = "no";
url = "https://search.nixos.org/options?query=%s";
};
"NixOS Packages" = {
keyword = "np";
url = "https://search.nixos.org/packages?query=%s";
};
"Home-Manager Options" = {
keyword = "hm";
url = "https://rycee.gitlab.io/home-manager/options.html#opt-%s";
};
};
};
};
extensions = with pkgs.nur.repos.rycee.firefox-addons; [ bitwarden cookies-txt https-everywhere metamask no-pdf-download sponsorblock ublock-origin ];
};
programs.obs-studio.enable = config.profiles.gui.enable;
programs.git = {
enable = true;
userEmail = "daniel.olsen99@gmail.com";
userName = "Daniel Olsen";
extraConfig = {
pull.rebase = true;
};
delta.enable = true;
};
programs.ssh = {
enable = true;
matchBlocks = {
"lilith" = {
hostname = "lilith.d.d.dodsorf.as";
user = "dandellion";
};
"desktop" = {
hostname = "10.42.42.10";
user = "dan";
};
"laptop" = {
hostname = "10.42.42.13";
user = "daniel";
};
"pvv.ntnu.no" = {
user = "danio";
};
"*.pvv.ntnu.no" = {
user = "danio";
};
"gitlab.stud.idi.ntnu.no" = {
proxyJump = "login.pvv.ntnu.no";
};
"workshop" = {
user = "student";
hostname = "129.241.99.15";
proxyJump = "hildring.pvv.ntnu.no";
};
};
};
# services.kdeconnect = {
# enable = true;
# indicator = true;
# };
services.gpg-agent = {
enable = true;
defaultCacheTtl = 1800;
enableSshSupport = true;
};
xdg.mimeApps = {
enable = true;
defaultApplications = {
"image/png" = [ "sxiv.desktop" "gimp.desktop" ];
"text/plain" = [ "gedit.desktop" "kakoune.desktop" "code.desktop" ];
};
associations.removed = {
"text/plain" = [ "writer.desktop" ];
};
};
fonts.fontconfig.enable = config.profiles.gui.enable;
};
}