nixos-config/home-manager/niten.nix

218 lines
4.5 KiB
Nix
Raw Normal View History

2021-08-04 17:12:06 -07:00
{ config, lib, pkgs, homedir, enable-gui ? true, ... }:
2021-04-02 14:08:31 -07:00
with lib;
let
name = "Niten";
email = "niten@fudo.org";
2021-08-06 16:25:01 -07:00
doom-emacs-config = pkgs.fetchgit {
url = "https://git.fudo.org/niten/doom-emacs.git";
rev = "0ab1532c856ccdb6ce46c5948054279f439eb1f2";
sha256 = "06mh74i5hmb15xid7w31wjc4v339cgddd667bpaphqnw666sm08h";
};
doom-emacs = pkgs.callPackage (pkgs.fetchgit {
url = "https://github.com/vlaci/nix-doom-emacs.git";
rev = "fee14d217b7a911aad507679dafbeaa8c1ebf5ff";
sha256 = "1g0izscjh5nv4n0n1m58jc6z27i9pkbxs17mnb05a83ffdbmmva6";
}) {
doomPrivateDir = "${pkgs.doom-emacs-config}";
extraPackages = with pkgs.emacsPackages; [ elpher use-package ];
emacsPackagesOverlay = self: super: {
irony = super.irony.overrideAttrs (esuper: {
buildInputs = esuper.buildInputs
++ [ pkgs.cmake pkgs.libclang pkgs.clang ];
});
spinner = let version = "1.7.4";
in pkgs.emacsPackages.trivialBuild {
inherit version;
pname = "spinner";
src = builtins.fetchTarball {
url = "https://elpa.gnu.org/packages/spinner-${version}.tar";
sha256 = "1jj40d68lmz91ynzwqg0jqdjpa9cn5md1hmvjfhy0cr3l16qpfw5";
};
buildPhase = ":";
};
};
};
2021-07-25 22:46:07 -07:00
gui-packages = with pkgs;
let
steam-with-pipewire =
(steam.override { extraLibraries = pkgs: [ pkgs.pipewire ]; });
in [
exodus
firefox
jq
nyxt
openttd
redshift
signal-desktop
spotify
2021-07-28 12:01:06 -07:00
# steam-with-pipewire
# steam-with-pipewire.run
2021-08-06 16:25:01 -07:00
# steamPackages.steamcmd
# steamPackages.steam-fonts
# steamPackages.steam-runtime
2021-07-25 22:46:07 -07:00
xclip
2021-07-20 18:28:12 -07:00
];
2021-05-10 18:25:38 -07:00
common-packages = with pkgs; [
ant
asdf
atop
binutils
btrfs-progs
bundix
byobu
cdrtools
cargo
2021-06-08 14:22:37 -07:00
clojure
2021-08-04 12:37:55 -07:00
clj2nix
cmake
curl
2021-08-06 16:25:01 -07:00
doom-emacs
2021-07-29 22:54:59 -07:00
# doom-emacs-config
# doomEmacsInit
enca
file
fortune
2021-04-02 14:08:31 -07:00
git
gnome.gnome-tweaks
gnutls
gnupg
2021-05-29 13:08:55 -07:00
google-chrome
guile
imagemagick
ipfs
iptables
2021-04-05 15:01:23 -07:00
jdk
leiningen
libisofs
lispPackages.quicklisp
lsof
lshw
minecraft
mkpasswd
2021-07-20 18:28:12 -07:00
mplayer
mtr
nixfmt
nix-index
2021-03-03 11:02:23 -08:00
nixops
nix-prefetch-git
2021-06-08 14:22:37 -07:00
nyxt
nmap
opencv-java
openldap
2021-04-17 12:32:53 -07:00
openssl
pciutils
pipewire
pv
pwgen
python
ruby
rustc
sbcl
stdenv
telnet
texlive.combined.scheme-basic
tmux
unzip
2021-04-29 21:39:21 -07:00
youtube-dl
yubikey-manager
yubikey-personalization
2021-04-17 12:45:41 -07:00
# Check and pick a favorite
molly-brown
ncgopher
amfora
asuka
kristall
castor
];
2021-07-29 22:54:59 -07:00
ensure-directories = [ ".emacs.d/.local/etc/eshell" ];
in {
programs = {
bash = { enable = true; };
git = {
enable = true;
userName = name;
userEmail = email;
ignores = [ "*~" ];
extraConfig = { pull = { rebase = false; }; };
};
};
2021-05-10 18:25:38 -07:00
xresources.properties = mkIf enable-gui {
"Xft.antialias" = 1;
"Xft.autohint" = 0;
"Xft.dpi" = 192;
"Xft.hinting" = 1;
"Xft.hintstyle" = "hintfull";
"Xft.lcdfilter" = "lcddefault";
};
2021-08-04 12:37:55 -07:00
services = {
emacs = {
enable = true;
2021-08-06 16:25:01 -07:00
package = doom-emacs;
2021-08-04 12:37:55 -07:00
client = {
enable = true;
arguments = [ "-t" ];
};
};
gpg-agent.enable = true;
};
home = {
2021-05-10 18:25:38 -07:00
packages =
if enable-gui then common-packages ++ gui-packages else common-packages;
file = {
2021-05-10 18:25:38 -07:00
".local/share/openttd/baseset" =
mkIf enable-gui { source = "${pkgs.openttd-data}/data"; };
2021-06-08 14:22:37 -07:00
2021-07-25 22:46:07 -07:00
# For nixified emacs
2021-07-29 22:54:59 -07:00
".emacs.d/init.el".text = ''
(load "default.el")
(setq package-archives nil)
;; (add-to-list 'package-directory-list "~/.nix-profile/share/emacs/site-lisp/elpa")
(package-initialize)
'';
2021-07-20 18:28:12 -07:00
2021-07-28 12:01:06 -07:00
".xsessions" = {
executable = true;
text = ''
# -*-bash-*-
gdmauth=$XAUTHORITY
unset XAUTHORITY
export XAUTHORITY
xauth merge "$gdmauth"
if [ -f $HOME/.xinitrc ]; then
bash --login -i $HOME/.xinitrc
fi
'';
};
2021-08-04 12:37:55 -07:00
# ".fonts.conf" = { source = ../static/fonts.conf; };
};
sessionVariables = {
2021-08-04 12:37:55 -07:00
# EDITOR = "${doom-emacs}/bin/emacsclient -t";
ALTERNATE_EDITOR = "";
2021-08-06 16:25:01 -07:00
DOOM_EMACS_SITE_PATH = "${doom-emacs-config}/site.d";
HISTCONTROL = "ignoredups:ignorespace";
};
};
2021-07-29 22:54:59 -07:00
systemd.user.tmpfiles.rules =
map (dir: "d ${homedir}/${dir} 700 niten - - -") ensure-directories;
}