• 2 Posts
  • 3 Comments
Joined 2 years ago
cake
Cake day: November 2nd, 2022

help-circle
rss
  • ATP

    Back to Work

    The Incomparable Superfeed

    RHAP Survivor Feed

    The Besties

    Chapo

    The Ringerverse Feed

    The Prestige TV Podcast

    The Watch

    Roderick on the Line

    Ten Junk Miles

    Do By Friday

    Remap Radio

    Reconcilable Differences

    The Big Picture

    8-4 Play

    Nextlander

    Jeff Gerstmann Show

    I run a lot of miles and have a lot of time. I will skip some of the podcasts in the Superfeeds and TV podcasts when I don’t care for the TV Show/Movie.



  • Yes, I use home-manager to manage my emacs packages, among other things. Here’s the snippet that includes my emacs configuration. It’s in a file called common.nix which I include in my base linux.nix and darwin,nix configurations.

    There is a bit dynamism in the config that makes lsp or eglot or vertico configurations active. There is a bit at the bottom of my init.el that includes those files if they are present. It’s not the cleanest solution, but it’s mine.

    { pkgs, ... }:
    let
      # myEmacs = if pkgs.stdenv.isDarwin then pkgs.emacsGit else pkgs.emacsPgtk;
      myEmacs = pkgs.emacsGit;
      useVertico = false;
      useLsp = true;
      emacsWithPackages = (pkgs.emacsPackagesFor myEmacs).emacsWithPackages;
    in {
      home.packages = [
        pkgs.tree-sitter
        pkgs.nixfmt
        pkgs.ripgrep
        pkgs.bc
        pkgs.file
        pkgs.syncthing
        pkgs.streamlink
        pkgs.unzip
        (emacsWithPackages (epkgs:
          [
            (pkgs.callPackage ./copilot.nix {
              inherit (pkgs) fetchFromGitHub;
              inherit (epkgs) trivialBuild;
              inherit (epkgs.nongnuPackages) editorconfig;
              inherit (epkgs.melpaStablePackages) dash s;
            })
          ] ++ (with epkgs.elpaPackages; [ transient ])
          ++ (with epkgs.nongnuPackages; [ go-mode magit markdown-mode webpaste ])
          ++ (with epkgs.melpaStablePackages; [
            apheleia
            deadgrep
            emojify
            eslint-disable-rule
            flymake-eslint
            minions
            treesit-auto
          ]) ++ (with epkgs.melpaPackages; [ nix-mode org-roam git-timemachine ])
          ++ (if useLsp then
            [ (with epkgs.melpaPackages; [ lsp-mode all-the-icons flycheck ]) ]
          else
            [ ]) ++ (if useVertico then
              [
                (with epkgs.elpaPackages; [
                  consult
                  corfu
                  embark
                  embark-consult
                  marginalia
                  orderless
                  vertico
                ])
              ]
            else
              [ ])))
      ] ++ (if useLsp then [ pkgs.emacs-all-the-icons-fonts ] else [ ]);
    
      home.stateVersion = "22.11";
    
      programs.home-manager.enable = true;
    
      programs.bash = {
        enable = true;
        enableCompletion = true;
    
        historyControl = [ "erasedups" "ignoredups" "ignorespace" ];
      };
    
      programs.btop.enable = true;
      programs.dircolors.enable = true;
    
      home.file = {
        ".gitignore_global".source = ./gitignore_global;
        ".emacs.d/init.el".source = ./init.el;
      } // (if useVertico then {
        ".emacs.d/vertico.el".source = ./vertico.el;
      } else
        { }) // (if useLsp then {
          ".emacs.d/lsp.el".source = ./lsp.el;
        } else {
          ".emacs.d/eglot.el".source = ./eglot.el;
        });
    
      programs.git = {
        enable = true;
        extraConfig = {
          core = { excludesFile = "~/.gitignore_global"; };
          pull = { rebase = true; };
          init = { defaultBranch = "main"; };
        };
      };
    
      programs.htop.enable = true;
      programs.less.enable = true;
      programs.man.enable = true;
    }