summaryrefslogtreecommitdiff
path: root/home/default.nix
diff options
context:
space:
mode:
Diffstat (limited to 'home/default.nix')
-rw-r--r--home/default.nix168
1 files changed, 168 insertions, 0 deletions
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"
+ '';
+ };
+ };
+}