diff options
| author | Alejandro Soto <alejandro@34project.org> | 2022-04-19 07:31:42 -0600 |
|---|---|---|
| committer | Alejandro Soto <alejandro@34project.org> | 2022-04-19 07:31:42 -0600 |
| commit | 440cb12ec5e47cec3cafccb9a5ba4734b3bbc5ac (patch) | |
| tree | bb87bd57d2f944a333555e507d8b376fa3aa4eca | |
| parent | b058943d07dad50cfa8c5907a3da06ffe9e1d227 (diff) | |
home, shenvs: implement home config local.workstation
| -rw-r--r-- | home/default.nix | 299 | ||||
| -rw-r--r-- | shenvs/config.nix | 23 |
2 files changed, 168 insertions, 154 deletions
diff --git a/home/default.nix b/home/default.nix index 4f1da74..f254899 100644 --- a/home/default.nix +++ b/home/default.nix @@ -3,183 +3,192 @@ with lib; { imports = [ ./unfree.nix ]; - nixpkgs.overlays = [ nur.overlay self.overlay ]; + options.local.workstation = with lib.types; mkOption { + type = bool; + }; - nix.registry = { - "nixpkgs".flake = nixpkgs; - "nur".flake = nur; + config = { + nixpkgs.overlays = [ nur.overlay self.overlay ]; - "system".to = { - type = "path"; - path = "/home/ale/nix"; - }; - }; + nix.registry = { + "nixpkgs".flake = nixpkgs; + "nur".flake = nur; - 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"; + "system".to = { + type = "path"; + path = "/home/ale/nix"; + }; }; - language.base = "es_CR.UTF-8"; + 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"; + }; - 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; + 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; + + ".shenvs".text = let + keeps = { gcKeep ? [] }: concatStringsSep "\n" (map toString gcKeep); + in keeps (import ../shenvs/config.nix { + inherit (pkgs.local) shenvs; + inherit config lib; + }); + }; - ".shenvs".text = let - keeps = { gcKeep ? [] }: concatStringsSep "\n" (map toString gcKeep); - in keeps (import ../shenvs/config.nix pkgs.local.shenvs); + packages = import ./path.nix pkgs; }; - packages = import ./path.nix pkgs; - }; + fonts.fontconfig.enable = true; - fonts.fontconfig.enable = true; + gtk = { + enable = true; + gtk3.bookmarks = [ "file:///home/ale/vtmp" "file:///home/ale/tmp" ]; - 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 + ''; - 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 + }; - font = { - package = pkgs.noto-fonts; - name = "Noto Sans Regular"; - #size = 14; <- caga layout de páginas + theme = { + package = pkgs.materia-theme; + name = "Materia-dark"; + }; }; - theme = { - package = pkgs.materia-theme; - name = "Materia-dark"; + qt = { + enable = true; + platformTheme = "gtk"; }; - }; - - 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) st tmux-lift; - - i3status-rust = config.programs.i3status-rust.package; - rofi = config.programs.rofi.finalPackage; + xdg = { + enable = true; + configFile = { + "i3/config".text = import ./i3-config.nix { + inherit (pkgs) i3lock-color xautolock; + inherit (pkgs.xorg) setxkbmap; + inherit (pkgs.local) st tmux-lift; + + i3status-rust = config.programs.i3status-rust.package; + rofi = config.programs.rofi.finalPackage; + }; }; }; - }; - - systemd.user.tmpfiles.rules = [ - "d %t/vtmp 0700" - ]; - - xsession = { - enable = true; - # Cambiar po windowManager.i3.enable al migrar - windowManager.command = "${pkgs.i3-gaps}/bin/i3"; - }; - programs = { - home-manager.enable = true; + systemd.user.tmpfiles.rules = [ + "d %t/vtmp 0700" + ]; - zsh = { + xsession = { enable = true; - enableAutosuggestions = true; - enableSyntaxHighlighting = true; - initExtra = import ./zshrc.nix pkgs; + # Cambiar po windowManager.i3.enable al migrar + windowManager.command = "${pkgs.i3-gaps}/bin/i3"; }; - firefox = { - enable = true; + programs = { + home-manager.enable = true; - profiles."main.profile" = { - id = 0; - name = "default"; + zsh = { + enable = true; + enableAutosuggestions = true; + enableSyntaxHighlighting = true; + initExtra = import ./zshrc.nix pkgs; }; - extensions = with pkgs.nur.repos.rycee.firefox-addons; [ - decentraleyes - darkreader - keepassxc-browser - old-reddit-redirect - privacy-badger - ublock-origin - umatrix - ]; - }; + 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"; - }; + git = { + enable = true; + userName = "Alejandro Soto"; + userEmail = "alejandro@34project.org"; + }; - i3status-rust = { - enable = true; - }; + 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 - ''; - }; + 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"; - }; + rofi = { + enable = true; + theme = "DarkBlue"; + }; - tmux = { - enable = true; - aggressiveResize = true; - clock24 = true; - escapeTime = 10; - terminal = "xterm-256color"; - keyMode = "vi"; - - 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" - ''; + tmux = { + enable = true; + aggressiveResize = true; + clock24 = true; + escapeTime = 10; + terminal = "xterm-256color"; + keyMode = "vi"; + + 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" + ''; + }; }; }; } diff --git a/shenvs/config.nix b/shenvs/config.nix index ea699d3..eb5033f 100644 --- a/shenvs/config.nix +++ b/shenvs/config.nix @@ -1,10 +1,15 @@ -shenvs: { - gcKeep = with shenvs; [ - android-dev - dsp - el3310 - randall - tabas - tex - ]; +{ shenvs, config, lib }: with lib; { + gcKeep = with shenvs; let + common = [ + dsp + tex + ]; + + workstation = [ + android-dev + el3310 + randall + tabas + ]; + in common ++ optionals config.local.workstation workstation; } |
