From 5dc85e72a002efce36b440a98b17a6c80234a142 Mon Sep 17 00:00:00 2001 From: Alejandro Soto Date: Sat, 5 Mar 2022 00:40:32 -0600 Subject: Restructure flake source hierarchy --- home/default.nix | 168 +++++++++++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 168 insertions(+) create mode 100644 home/default.nix (limited to 'home/default.nix') diff --git a/home/default.nix b/home/default.nix new file mode 100644 index 0000000..abd034b --- /dev/null +++ b/home/default.nix @@ -0,0 +1,168 @@ +{ lib, config, pkgs, ... }: { + imports = [ ./unfree.nix ]; + + home = { + # 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. + stateVersion = "21.11"; + + username = "ale"; + homeDirectory = "/home/ale"; + + sessionVariables = { + EDITOR = "nvim"; + LESSHISTFILE = "/dev/null"; + }; + + language.base = "es_CR.UTF-8"; + + file = let + symlink = path: { source = config.lib.file.mkOutOfStoreSymlink path; }; + #TODO: No sirve, creo que por readline + devNull = symlink "/dev/null"; + in { + "vtmp" = symlink "/run/user/1000/vtmp"; + ".calc_history" = devNull; + ".units_history" = devNull; + ".xinitrc".text = "exec ${pkgs.i3-gaps}/bin/i3"; + }; + + packages = import ./path.nix pkgs; + }; + + fonts.fontconfig.enable = true; + + gtk = { + enable = true; + gtk3.bookmarks = [ "file:///home/ale/vtmp" "file:///home/ale/tmp" ]; + + gtk2.extraConfig = '' + gtk-toolbar-style=GTK_TOOLBAR_BOTH_HORIZ + gtk-menu-images=1 + gtk-button-images=1 + ''; + + font = { + package = pkgs.noto-fonts; + name = "Noto Sans Regular"; + #size = 14; <- caga layout de páginas + }; + + theme = { + package = pkgs.materia-theme; + name = "Materia-dark"; + }; + }; + + qt = { + enable = true; + platformTheme = "gtk"; + }; + + xdg = { + enable = true; + configFile = { + "i3/config".text = import ./i3-config.nix { + inherit (pkgs) i3lock-color xautolock; + inherit (pkgs.xorg) setxkbmap; + inherit (pkgs.local) tmux-lift; + + alacritty = config.programs.alacritty.package; + i3status-rust = config.programs.i3status-rust.package; + rofi = config.programs.rofi.finalPackage; + }; + }; + }; + + systemd.user.tmpfiles.rules = [ + "d %t/vtmp 0700" + ]; + + programs = { + home-manager.enable = true; + + zsh = { + enable = true; + enableAutosuggestions = true; + enableSyntaxHighlighting = true; + initExtra = import ./zshrc.nix { + inherit (pkgs) grml-zsh-config; + }; + }; + + alacritty = { + enable = true; + settings = import ./alacritty.nix; + }; + + firefox = { + enable = true; + + profiles."main.profile" = { + id = 0; + name = "default"; + }; + + extensions = with pkgs.nur.repos.rycee.firefox-addons; [ + decentraleyes + darkreader + keepassxc-browser + old-reddit-redirect + privacy-badger + ublock-origin + umatrix + ]; + }; + + git = { + enable = true; + userName = "Alejandro Soto"; + userEmail = "alejandro@34project.org"; + }; + + i3status-rust = { + enable = true; + }; + + neovim = { + enable = true; + withRuby = false; + withPython3 = false; + + extraConfig = '' + set number " Enable line numbering + set relativenumber " Enable relative line numbering + set tabstop=4 " Set tap stop to 4 + set shiftwidth=4 " Set shift width to 4 (same as tabstop) + set viminfo= " No tracking + ''; + }; + + rofi = { + enable = true; + theme = "DarkBlue"; + }; + + tmux = { + enable = true; + aggressiveResize = true; + clock24 = true; + escapeTime = 10; + terminal = "xterm-256color"; + extraConfig = '' + set -g mouse on + set -ga update-environment " LIFT_PID" + set -g set-titles on + set -g renumber-windows on + set -sa terminal-overrides ',xterm-termite:RGB' + set -g status-right "#{?window_bigger,[#{window_offset_x}#,#{window_offset_y}] ,} %H:%M %d-%b-%y" + ''; + }; + }; +} -- cgit v1.2.3