nixos-configs/nixos/cfg/packages.nix

219 lines
5.2 KiB
Nix
Raw Normal View History

2023-09-29 23:46:34 -04:00
{ pkgs, hyprland, ... }:
2023-06-20 12:52:19 -04:00
{
2023-08-23 23:09:52 -04:00
systemd.user.services.protonmail-bridge = {
description = "Protonmail Bridge";
enable = true;
script = "${pkgs.protonmail-bridge}/bin/protonmail-bridge --noninteractive --log-level info";
path = [ pkgs.gnome.gnome-keyring ]; # HACK: https://github.com/ProtonMail/proton-bridge/issues/176
wantedBy = [ "graphical-session.target" ];
partOf = [ "graphical-session.target" ];
};
services = {
xserver = {
enable = true;
layout = "ca";
displayManager = {
sddm = {
enable = true;
settings = {
General = {
DisplayServer = "wayland";
InputMethod = "";
};
Wayland.CompositorCommand = "${pkgs.weston}/bin/weston --shell=fullscreen-shell.so";
Theme = {
Current = "Dracula";
2023-10-03 13:20:18 -04:00
CursorTheme = "Dracula-cursors";
CursorSize = 24;
};
};
};
sessionPackages = [
2023-09-29 23:46:34 -04:00
hyprland.packages.x86_64-linux.default
];
defaultSession = "hyprland";
2023-09-29 23:46:34 -04:00
autoLogin = {
2023-07-30 19:13:15 -04:00
enable = true;
user = "matt";
};
};
libinput.enable = true;
};
dbus.enable = true;
gvfs.enable = true;
flatpak.enable = true;
tlp.enable = true;
kmscon = {
enable = true;
hwRender = true;
fonts = [
{
name = "Source Code Pro";
package = pkgs.source-code-pro;
}
];
};
locate = {
enable = true;
locate = pkgs.mlocate;
localuser = null;
interval = "hourly";
prunePaths = [
"/tmp"
"/var/tmp"
"/var/cache"
"/var/lock"
"/var/run"
"/var/spool"
"/nix/var/log/nix"
"/proc"
"/run/user"
];
};
};
xdg.portal = {
enable = true;
wlr.enable = true;
extraPortals = [
pkgs.xdg-desktop-portal-gtk
];
};
programs = {
# TODO: install plugins through nix
tmux = {
enable = true;
keyMode = "vi";
terminal = "screen-256color";
newSession = true;
historyLimit = 30000;
extraConfig = ''
bind-key -n Home send Escape "OH"
bind-key -n End send Escape "OF"
set -g mouse on
set -ga terminal-overrides ',xterm*:smcup@:rmcup@'
bind -T root WheelUpPane if-shell -F -t = "#{alternate_on}" "send-keys -M" "select-pane -t =; copy-mode -e; send-keys -M"
bind -T root WheelDownPane if-shell -F -t = "#{alternate_on}" "send-keys -M" "select-pane -t =; send-keys -M"
set -g @plugin 'dracula/tmux'
run 'bash -c "$HOME/.tmux/plugins/tpm/tpm ||
${pkgs.git}/bin/git clone https://github.com/tmux-plugins/tpm $HOME/.tmux/plugins/tpm &&
$HOME/.tmux/plugins/tpm/tpm"'
'';
};
git = { # TODO: make better config
enable = true;
lfs.enable = true;
2023-07-07 11:41:31 -04:00
config = {
# Dracula Dark Theme
color = {
ui = "auto";
branch = {
current = "cyan bold reverse";
local = "white";
plain = "";
remote = "cyan";
};
diff = {
commit = "";
func = "cyan";
plain = "";
whitespace = "magenta reverse";
meta = "white";
frag = "cyan bold reverse";
old = "red";
new = "green";
};
grep = {
context = "";
filename = "";
function = "";
linenumber = "white";
match = "";
selected = "";
separator = "";
};
interactive = {
error = "";
header = "";
help = "";
prompt = "";
};
status = {
added = "green";
changed = "yellow";
header = "";
localBranch = "";
nobranch = "";
remoteBranch = "cyan bold";
unmerged = "magenta bold reverse";
untracked = "red";
updated = "green bold";
};
};
};
};
htop = {
enable = true;
};
fzf = {
fuzzyCompletion = true;
keybindings = true;
};
};
2023-06-20 12:52:19 -04:00
# List packages in root user PATH
environment.systemPackages = with pkgs; [
2023-10-03 13:20:18 -04:00
# for sddm
dracula-theme
plasma5Packages.plasma-framework
plasma5Packages.plasma-workspace
2023-09-12 08:02:35 -04:00
qemu
2023-06-20 12:52:19 -04:00
wl-clipboard
alsa-utils
wget
tree
rsync
killall
imagemagick
usbutils
evtest
plasma5Packages.kio-admin
plasma5Packages.ksshaskpass
];
fonts = {
fontconfig = {
enable = true;
/*defaultFonts = {
emoji = [ "Noto Color Emoji" ];
monospace = [ "MesloLGS Nerd Font" ];
sansSerif = [ "MesloLGS Nerd Font" ];
serif = [ "MesloLGS Nerd Font" ];
};*/
};
2023-07-27 21:45:31 -04:00
packages = with pkgs; [
2023-06-20 12:52:19 -04:00
(nerdfonts.override { fonts = [ "JetBrainsMono" "Go-Mono" "Iosevka" "NerdFontsSymbolsOnly" "SpaceMono" "Ubuntu" ]; })
noto-fonts
noto-fonts-cjk
noto-fonts-emoji
liberation_ttf
font-awesome
meslo-lgs-nf
jetbrains-mono
ubuntu_font_family
];
};
}