Switch to doom emacs

This commit is contained in:
nostoromo root 2020-12-02 08:44:56 -08:00
parent 28e8e54f0c
commit eef3234edb
5 changed files with 139 additions and 41 deletions

View File

@ -2,15 +2,15 @@
{ config, pkgs, lib, ... }:
{
lib = {
buildLisp = import ./lib/buildLisp.nix {};
};
let
state-version = "20.03";
in {
imports = [
./hardware-configuration.nix
./packages/local.nix
./config/local.nix
<home-manager/nixos>
];
nixpkgs.config.allowUnfree = true;
@ -25,6 +25,7 @@
boot
bind
binutils
# bpytop
btrfs-progs
bundix
byobu
@ -33,6 +34,7 @@
certbot
clang
curl
doomEmacsInit
dpkg
enca
fail2ban
@ -45,6 +47,7 @@
google-cloud-sdk
guile
heimdalFull
home-manager
imagemagick
ipfs
iptables
@ -91,7 +94,7 @@
yubikey-personalization
];
system.stateVersion = "20.03";
system.stateVersion = state-version;
system.autoUpgrade.enable = true;
@ -134,6 +137,9 @@
enableSSHSupport = true;
};
fish = {
enable = true;
};
};
services = {
@ -200,6 +206,7 @@
uid = 10000;
createHome = true;
description = "Niten";
shell = pkgs.fish;
extraGroups = ["wheel" "audio" "video" "disk" "floppy" "lp" "cdrom" "tape" "dialout" "adm" "input" "systemd-journal" "fudosys" "libvirtd"];
group = "users";
home = "/home/niten";
@ -226,6 +233,11 @@
};
};
home-manager.users = {
niten = import ./users/niten.nix { inherit config pkgs lib; };
root = import ./users/root.nix { inherit config pkgs lib; };
};
systemd.services.fudo-environment-init = {
enable = true;
description = "Fudo common settings.";

View File

@ -2,11 +2,7 @@
with lib;
let
reboot-if-necessary = pkgs.writeScriptBin "reboot-if-necessary" ''
#!${pkgs.stdenv.shell}
set -ne
reboot-if-necessary = pkgs.writeShellScriptBin "reboot-if-necessary" ''
if [ $# -ne 1 ]; then
echo "FAILED: no sync file provided."
exit 1
@ -24,15 +20,11 @@ let
exit 0
'';
test-config = pkgs.writeScriptBin "fudo-test-config" ''
#!${pkgs.stdenv.shell}
set -ne
test-config = pkgs.writeShellScriptBin "fudo-test-config" ''
if [ $# -gt 1 ]; then
echo "usage: $0 [timeout]"
exit 1
elif [ $# -eq 1 ]; the
elif [ $# -eq 1 ]; then
TIMEOUT=$1
else
TIMEOUT=15m

View File

@ -1,7 +1,6 @@
{ pkgs, lib, ... }:
let
unstablePkgs = import <nixos-unstable> {};
let unstablePkgs = import <nixos-unstable> { };
in {
nixpkgs.config.packageOverrides = pkgs: rec {
@ -11,11 +10,14 @@ in {
fetchurl = builtins.fetchurl;
};
minecraft-server_1_15_1 = pkgs.minecraft-server.overrideAttrs (oldAttrs: rec {
minecraft-server_1_15_1 = pkgs.minecraft-server.overrideAttrs
(oldAttrs: rec {
version = "1.15.1";
src = builtins.fetchurl {
url = "https://launcher.mojang.com/v1/objects/4d1826eebac84847c71a77f9349cc22afd0cf0a1/server.jar";
sha256 = "a0c062686bee5a92d60802ca74d198548481802193a70dda6d5fe7ecb7207993";
url =
"https://launcher.mojang.com/v1/objects/4d1826eebac84847c71a77f9349cc22afd0cf0a1/server.jar";
sha256 =
"a0c062686bee5a92d60802ca74d198548481802193a70dda6d5fe7ecb7207993";
};
});
@ -29,26 +31,24 @@ in {
# DON'T LEAVE THE HASH--Nix will think the package hasn't changed
minecraft-server_1_16_1 = let
version = "1.16.1";
url = "https://launcher.mojang.com/v1/objects/a412fd69db1f81db3f511c1463fd304675244077/server.jar";
url =
"https://launcher.mojang.com/v1/objects/a412fd69db1f81db3f511c1463fd304675244077/server.jar";
sha256 = "0nwkdig6yw4cnm2ld78z4j4xzhbm1rwv55vfxz0gzhsbf93xb0i7";
in (pkgs.minecraft-server.overrideAttrs (oldAttrs: rec {
name = "minecraft-server-${version}";
inherit version;
src = pkgs.fetchurl {
inherit url sha256;
};
src = pkgs.fetchurl { inherit url sha256; };
}));
minecraft-server_1_16_2 = let
version = "1.16.2";
url = "https://launcher.mojang.com/v1/objects/c5f6fb23c3876461d46ec380421e42b289789530/server.jar";
url =
"https://launcher.mojang.com/v1/objects/c5f6fb23c3876461d46ec380421e42b289789530/server.jar";
sha256 = "0fbghwrj9b2y9lkn2b17id4ghglwvyvcc8065h582ksfz0zys0i9";
in (pkgs.minecraft-server.overrideAttrs (oldAttrs: rec {
name = "minecraft-server-${version}";
inherit version;
src = pkgs.fetchurl {
inherit url sha256;
};
src = pkgs.fetchurl { inherit url sha256; };
}));
postgresql_11_gssapi = pkgs.postgresql_11.overrideAttrs (oldAttrs: rec {
@ -62,15 +62,11 @@ in {
});
hll2380dw-cups = import ./hll2380dw-cups.nix {
inherit (pkgs) stdenv fetchurl makeWrapper cups dpkg a2ps ghostscript gnugrep gnused coreutils file perl which;
inherit (pkgs)
stdenv fetchurl makeWrapper cups dpkg a2ps ghostscript gnugrep gnused
coreutils file perl which;
};
# backplane-dns = import ./backplane-dns.nix {
# pkgs = pkgs;
# stdenv = pkgs.stdenv;
# fetchgit = pkgs.fetchgit;
# };
backplane-dns-client = import ./backplane-dns-client.nix {
pkgs = pkgs;
stdenv = pkgs.stdenv;
@ -106,12 +102,40 @@ in {
meta = with pkgs.lib; {
description = "Google photos uploader, written in Go.";
homepage = https://github.com/int128/gpup;
homepage = "https://github.com/int128/gpup";
license = licenses.asl20;
platforms = platforms.linux ++ platforms.darwin;
};
};
doomEmacsInit = pkgs.writeShellScriptBin "doom-emacs-init.sh" ''
DOOMDIR=$HOME/.emacs.d
function clone_into() {
${pkgs.git}/bin/git clone https://github.com/hlissner/doom-emacs.git $1
}
if [ ! -d "$DOOMDIR" ]; then
clone_into $DOOMDIR
$DOOMDIR/bin/doom -y install
fi
if [ ! -f $DOOMDIR/bin/doom ]; then
# legacy...move to a backup
mv $HOME/.emacs.d $HOME/.emacs.d.bak
mv $HOME/.emacs $HOME/.emacs
clone_into $DOOMDIR
$DOOMDIR/bin/doom -y install
fi
$DOOMDIR/bin/doom sync
#if ${pkgs.emacs}/bin/emacsclient -ca false -e '(delete-frame)'; then
# # emacs is running
# ${pkgs.emacs}/bin/emacsclient -e '(doom/reload)'
#fi
'';
localLispPackages = (import ./lisp {
inherit lib;
pkgs = unstablePkgs;
@ -121,5 +145,11 @@ in {
inherit localLispPackages;
pkgs = unstablePkgs;
};
doom-emacs-config = pkgs.fetchgit {
url = "https://git.fudo.org/niten/doom-emacs.git";
rev = "0613fcec820851e5b92f0ab493fb2078c6754b51";
sha256 = "00zzghdxpyb6r22znxyknydcl5v7zfai1fvjfy4gwfw8211n4z2m";
};
};
}

41
users/niten.nix Normal file
View File

@ -0,0 +1,41 @@
{ config, pkgs, lib, ... }:
let
name = "Niten";
email = "niten@fudo.org";
in {
programs = {
git = {
enable = true;
userName = name;
userEmail = email;
};
};
xresources.properties = {
"Xft.antialias" = 1;
"Xft.autohint" = 0;
"Xft.dpi" = 192;
"Xft.hinting" = 1;
"Xft.hintstyle" = "hintfull";
"Xft.lcdfilter" = "lcddefault";
};
services.gpg-agent.enable = true;
# services.redshift = {
# enable = true;
# latitude = "51.0";
# longitude = "47.0";
# brightness.day = "1";
# brightness.night = "0.5";
# tray = true;
# };
home.file.".doom.d" = {
source = pkgs.doom-emacs-config;
recursive = true;
onChange = "${pkgs.doomEmacsInit}/bin/doom-emacs-init.sh";
};
}

23
users/root.nix Normal file
View File

@ -0,0 +1,23 @@
{ config, pkgs, lib, ... }:
let
name = "Root";
email = "root@fudo.org";
in {
programs = {
git = {
enable = true;
userName = name;
userEmail = email;
};
};
services.gpg-agent.enable = true;
home.file.".doom.d" = {
source = pkgs.doom-emacs-config;
recursive = true;
onChange = "${pkgs.doomEmacsInit}/bin/doom-emacs-init.sh";
};
}