Initial checkin
This commit is contained in:
commit
8784c36ae7
184
home.nix
Normal file
184
home.nix
Normal file
@ -0,0 +1,184 @@
|
||||
{ username, user-email, config, lib, pkgs, home-dir, enable-gui ? true, ... }:
|
||||
|
||||
with lib;
|
||||
let
|
||||
|
||||
gui-packages = with pkgs;
|
||||
let
|
||||
steam-with-pipewire =
|
||||
(steam.override { extraLibraries = pkgs: [ pkgs.pipewire ]; });
|
||||
in [
|
||||
exodus
|
||||
firefox
|
||||
gnome.gnome-tweaks
|
||||
google-chrome
|
||||
imagemagick
|
||||
jq
|
||||
minecraft
|
||||
mplayer
|
||||
nyxt
|
||||
openttd
|
||||
pv
|
||||
redshift
|
||||
signal-desktop
|
||||
spotify
|
||||
# steam-with-pipewire
|
||||
# steam-with-pipewire.run
|
||||
# steamPackages.steamcmd
|
||||
# steamPackages.steam-fonts
|
||||
# steamPackages.steam-runtime
|
||||
xclip
|
||||
];
|
||||
|
||||
common-packages = with pkgs; [
|
||||
ant
|
||||
asdf
|
||||
atop
|
||||
binutils
|
||||
btrfs-progs
|
||||
bundix
|
||||
byobu
|
||||
cdrtools
|
||||
cargo
|
||||
clojure
|
||||
clj2nix
|
||||
cmake
|
||||
curl
|
||||
user-doom-emacs
|
||||
enca
|
||||
file
|
||||
fortune
|
||||
git
|
||||
gnutls
|
||||
gnupg
|
||||
guile
|
||||
ipfs
|
||||
iptables
|
||||
jdk
|
||||
leiningen
|
||||
libisofs
|
||||
lispPackages.quicklisp
|
||||
lsof
|
||||
lshw
|
||||
mkpasswd
|
||||
mtr
|
||||
nixfmt
|
||||
nix-index
|
||||
nixops
|
||||
nix-prefetch-git
|
||||
nmap
|
||||
opencv-java
|
||||
openldap
|
||||
openssl
|
||||
pciutils
|
||||
pwgen
|
||||
python
|
||||
ruby
|
||||
rustc
|
||||
sbcl
|
||||
stdenv
|
||||
telnet
|
||||
texlive.combined.scheme-basic
|
||||
tmux
|
||||
unzip
|
||||
yubikey-manager
|
||||
yubikey-personalization
|
||||
youtube-dl
|
||||
|
||||
# Check and pick a favorite
|
||||
molly-brown
|
||||
ncgopher
|
||||
amfora
|
||||
asuka
|
||||
kristall
|
||||
castor
|
||||
];
|
||||
|
||||
ensure-directories = [ ".emacs.d/.local/etc/eshell" ];
|
||||
|
||||
in {
|
||||
|
||||
overlays = [
|
||||
(callPackage ./package-overlay.nix)
|
||||
];
|
||||
|
||||
programs = {
|
||||
bash.enable = true;
|
||||
git = {
|
||||
enable = true;
|
||||
userName = username;
|
||||
userEmail = user-email;
|
||||
ignores = [ "*~" ];
|
||||
extraConfig.pull.rebase = false;
|
||||
};
|
||||
};
|
||||
|
||||
xresources.properties = mkIf enable-gui {
|
||||
"Xft.antialias" = 1;
|
||||
"Xft.autohint" = 0;
|
||||
"Xft.dpi" = 192;
|
||||
"Xft.hinting" = 1;
|
||||
"Xft.hintstyle" = "hintfull";
|
||||
"Xft.lcdfilter" = "lcddefault";
|
||||
};
|
||||
|
||||
services = {
|
||||
emacs = {
|
||||
enable = true;
|
||||
package = doom-emacs;
|
||||
client = {
|
||||
enable = true;
|
||||
arguments = [ "-t" ];
|
||||
};
|
||||
};
|
||||
|
||||
gpg-agent.enable = true;
|
||||
};
|
||||
|
||||
home = {
|
||||
packages = if enable-gui then (common-packages ++ gui-packages)
|
||||
else
|
||||
common-packages;
|
||||
|
||||
file = {
|
||||
".local/share/openttd/baseset" =
|
||||
mkIf enable-gui { source = "${pkgs.openttd-data}/data"; };
|
||||
|
||||
# For nixified emacs
|
||||
".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)
|
||||
'';
|
||||
|
||||
".xsessions" = mkIf enable-gui {
|
||||
executable = true;
|
||||
text = ''
|
||||
# -*-bash-*-
|
||||
gdmauth=$XAUTHORITY
|
||||
unset XAUTHORITY
|
||||
export XAUTHORITY
|
||||
xauth merge "$gdmauth"
|
||||
|
||||
if [ -f $HOME/.xinitrc ]; then
|
||||
bash --login -i $HOME/.xinitrc
|
||||
fi
|
||||
'';
|
||||
};
|
||||
};
|
||||
|
||||
sessionVariables = {
|
||||
# EDITOR = "${doom-emacs}/bin/emacsclient -t";
|
||||
ALTERNATE_EDITOR = "";
|
||||
|
||||
DOOM_EMACS_SITE_PATH = "${doom-emacs-config}/site.d";
|
||||
|
||||
HISTCONTROL = "ignoredups:ignorespace";
|
||||
};
|
||||
};
|
||||
|
||||
systemd.user.tmpfiles.rules =
|
||||
map (dir: "d ${homedir}/${dir} 700 niten - - -") ensure-directories;
|
||||
}
|
38
package-overlay.nix
Normal file
38
package-overlay.nix
Normal file
@ -0,0 +1,38 @@
|
||||
{ config, lib, pkgs, ... }: final: prev: rec {
|
||||
|
||||
doom-emacs-config = pkgs.fetchgit {
|
||||
url = "https://git.fudo.org/niten/doom-emacs.git";
|
||||
rev = "0ab1532c856ccdb6ce46c5948054279f439eb1f2";
|
||||
sha256 = "06mh74i5hmb15xid7w31wjc4v339cgddd667bpaphqnw666sm08h";
|
||||
};
|
||||
|
||||
doom-emacs-pkg = pkgs.fetchgit {
|
||||
url = "https://github.com/vlaci/nix-doom-emacs.git";
|
||||
rev = "fee14d217b7a911aad507679dafbeaa8c1ebf5ff";
|
||||
sha256 = "1g0izscjh5nv4n0n1m58jc6z27i9pkbxs17mnb05a83ffdbmmva6";
|
||||
};
|
||||
|
||||
user-doom-emacs = pkgs.callPackage doom-emacs-pkg {
|
||||
doomPrivateDir = doom-emacs-cfg;
|
||||
extraPackages = with pkgs.emacsPackages; [
|
||||
elpher
|
||||
use-package
|
||||
];
|
||||
emacsPackagesOverlay = final: prev: {
|
||||
irony = prev.irony.overrideAttrs (eprev: {
|
||||
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 = ":";
|
||||
};
|
||||
};
|
||||
};
|
||||
}
|
Loading…
Reference in New Issue
Block a user