262 lines
6.2 KiB
Nix
262 lines
6.2 KiB
Nix
{ config, lib, pkgs, ... }:
|
|
|
|
let
|
|
scripts = ../../scripts;
|
|
extra = ../../extra;
|
|
terminal = pkgs.alacritty;
|
|
in {
|
|
imports = [
|
|
../../programs/kdeconnect.nix
|
|
../../programs/ssh.nix
|
|
../../programs/zsh.nix
|
|
];
|
|
home.username = "alice";
|
|
home.homeDirectory = "/home/alice";
|
|
|
|
home.stateVersion = "24.05";
|
|
|
|
# Configure cursor
|
|
home.pointerCursor = {
|
|
package = pkgs.vanilla-dmz;
|
|
name = "Vanilla-DMZ";
|
|
size = 128;
|
|
};
|
|
|
|
# Configure icon theme
|
|
gtk = {
|
|
enable = true;
|
|
iconTheme = {
|
|
name = "Papirus";
|
|
package = pkgs.papirus-icon-theme;
|
|
};
|
|
};
|
|
|
|
# Configure internationalization
|
|
# i18n.inputMethod.enabled = "fcitx5";
|
|
|
|
# Configure xdg-desktop-portal (for file picker, etc.)
|
|
# xdg.portal = {
|
|
# enable = true;
|
|
# };
|
|
|
|
# # Configure gammastep (night shift)
|
|
# services.gammastep = {
|
|
# enable = true;
|
|
# temperature.day = 6500;
|
|
# temperature.night = 4000;
|
|
# # boul robert-bourassa/boul rené-lévesque : 45.498743909804354, -73.5703457606738
|
|
# latitude = 45.4987;
|
|
# longitude = -73.5703;
|
|
# # tray = true;
|
|
# };
|
|
|
|
# Install packages
|
|
home.packages = with pkgs;
|
|
let
|
|
xdg-terminal-exec =
|
|
callPackage ../../pkgs/xdg-terminal-exec/xdg-terminal-exec.nix { };
|
|
mons = callPackage ../../pkgs/mons/mons.nix { };
|
|
archivo = callPackage ../../pkgs/archivo/archivo.nix { };
|
|
highway-gothic = callPackage ../../pkgs/highway-gothic/highway-gothic.nix { };
|
|
in [ gcc tree-sitter ] ++ # Basic dev tools
|
|
[ marksman nil ] ++ # Language servers except those installed through package sections
|
|
[ texliveFull texlab ] ++ # LaTeX
|
|
(with ocamlPackages; [
|
|
ocaml
|
|
opam
|
|
dune_3
|
|
dune-release
|
|
merlin
|
|
ocaml-lsp
|
|
odoc
|
|
ocamlformat
|
|
utop
|
|
]) ++ # OCaml
|
|
[ rustup ] ++ # Rust
|
|
[ go gopls ] ++ # Golang
|
|
(with elmPackages; [ elm elm-language-server elm-format elm-test ]) ++
|
|
[ python3 ] ++ # I guess.....
|
|
[
|
|
kak-lsp
|
|
brightnessctl
|
|
grim
|
|
slurp
|
|
jq
|
|
xdg-terminal-exec
|
|
blueman
|
|
upower
|
|
] ++ # Basic utilities
|
|
[ bitwarden-cli htop snore hledger hledger-ui ]
|
|
++ # Personalized selection of command-line (CLI/TUI) apps
|
|
[ terminal ] ++ # Terminal emulator
|
|
[
|
|
imv
|
|
vlc
|
|
pavucontrol
|
|
] ++ # Basic graphical apps
|
|
[
|
|
libreoffice
|
|
signal-desktop
|
|
element-desktop
|
|
prismlauncher
|
|
mumble
|
|
gimp
|
|
inkscape
|
|
deluge-gtk
|
|
shotwell
|
|
lorien
|
|
keepassxc
|
|
zulip
|
|
filezilla
|
|
bitwarden
|
|
] ++ # Personalized selection of graphical apps
|
|
[ mons shticker-book-unwritten ] ++ # Games
|
|
[ bemenu j4-dmenu-desktop xclip xdotool ] ++ # i3 and x11 related packages
|
|
[
|
|
noto-fonts
|
|
redhat-official-fonts
|
|
overpass
|
|
ibm-plex
|
|
rubik
|
|
archivo
|
|
highway-gothic
|
|
font-awesome
|
|
] ++ # Fonts
|
|
# [ papirus-icon-theme ] ++ # Icons
|
|
# [ vanilla-dmz ] ++ # Cursor
|
|
[ ] ++ # Temp
|
|
[ ];
|
|
|
|
programs.home-manager.enable = true;
|
|
|
|
programs.git = {
|
|
enable = true;
|
|
userName = "vorboyvo";
|
|
userEmail = "mrsirofvibe@outlook.com";
|
|
extraConfig = {
|
|
init.defaultBranch = "main";
|
|
core.editor = "kak";
|
|
};
|
|
};
|
|
|
|
# wayland.windowManager.sway = import ../../programs/sway.nix {
|
|
# inherit scripts extra config lib pkgs terminal;
|
|
#};
|
|
|
|
#programs.waybar =
|
|
# import ../../programs/waybar.nix { inherit scripts config lib pkgs terminal; };
|
|
|
|
#programs.swaylock = {
|
|
# enable = true;
|
|
# settings = { font-size = 14; };
|
|
#};
|
|
#services.swayidle = {
|
|
# enable = true;
|
|
# events = [{
|
|
# event = "before-sleep";
|
|
# command = "${pkgs.lib.getExe pkgs.swaylock} -f";
|
|
# }];
|
|
#};
|
|
#
|
|
|
|
# xsession = let
|
|
# term = terminal;
|
|
# dmenuCommand = builtins.readFile "${scripts}/dmenu.sh";
|
|
# in {
|
|
# enable = true;
|
|
# windowManager.i3 = {
|
|
# enable = true;
|
|
# config = rec {
|
|
# terminal = "${pkgs.lib.getExe term}";
|
|
# modifier = "Mod4";
|
|
# fonts = {
|
|
# names = [ "Red Hat Display" ];
|
|
# style = "Regular";
|
|
# size = 12.0;
|
|
# };
|
|
# # input = {
|
|
# # "type:keyboard" = {
|
|
# # xkb_layout = "ca,ca";
|
|
# # xkb_variant = ",eng";
|
|
# # };
|
|
# # };
|
|
# # leaving bars out for now
|
|
# # bars = ...
|
|
# window = {
|
|
# border = 2;
|
|
# titlebar = true;
|
|
# };
|
|
# menu = "j4-dmenu-desktop --no-generic --term=${pkgs.lib.getExe term} --dmenu='${dmenuCommand}'";
|
|
# focus.followMouse = false;
|
|
# # keybindings and extraConfig go here
|
|
# };
|
|
# };
|
|
# };
|
|
|
|
# Fixes electron apps
|
|
# home.sessionVariables = { NIXOS_OZONE_WL = "1"; };
|
|
|
|
# configure fonts correctly
|
|
# fonts.fontconfig.enable = true;
|
|
# xdg.configFile."fontconfig/conf.d/5-default.fonts.conf".source =
|
|
# "${extra}/20-default-fonts.conf";
|
|
|
|
# terminal emulator
|
|
programs.alacritty.enable = true;
|
|
|
|
# programs.neovim = import ./programs/neovim.nix;
|
|
|
|
programs.kakoune = import ../../programs/kakoune.nix pkgs;
|
|
xdg.configFile."kak-lsp/kak-lsp.toml".source =
|
|
../../programs/kakoune/kak-lsp.toml;
|
|
xdg.desktopEntries.kakoune = {
|
|
name = "Kakoune";
|
|
genericName = "Text Editor";
|
|
comment = "Edit text files";
|
|
icon = "kak";
|
|
exec = "kak %F";
|
|
terminal = true;
|
|
mimeType = [
|
|
"text/english"
|
|
"text/plain"
|
|
"text/x-makefile"
|
|
"text/x-c++hdr"
|
|
"text/x-c++src"
|
|
"text/x-chdr"
|
|
"text/x-csrc"
|
|
"text/x-java"
|
|
"text/x-moc"
|
|
"text/x-pascal"
|
|
"text/x-tcl"
|
|
"text/x-tex"
|
|
"application/x-shellscript"
|
|
"text/x-c"
|
|
"text/x-c++"
|
|
];
|
|
categories = [ "Utility" "TextEditor" ];
|
|
};
|
|
|
|
# programs.zathura = {
|
|
# enable = true;
|
|
# };
|
|
|
|
programs.pandoc = { enable = true; };
|
|
|
|
# Configure notifications
|
|
# services.dunst = {
|
|
# enable = true;
|
|
# settings = {
|
|
# global = {
|
|
# font = "Red Hat Display 12";
|
|
# mouse_left_click = "do_action, close_current";
|
|
# mouse_middle_click = "close_all";
|
|
# mouse_right_click = "close_current";
|
|
# };
|
|
# };
|
|
# };
|
|
|
|
programs.firefox = import ../../programs/firefox.nix { inherit pkgs; };
|
|
|
|
programs.thunderbird = import ../../programs/thunderbird.nix;
|
|
}
|