COUSBBHL5XPZC5KWCYFFAE554D4VFFO55QOD726ODWIRZGWOUSUAC
TIAN54QWQA6YCIYL6C7YXXELA3SKBSMP2Y3ET2YLRWHHOPDE3Y3AC
YQJRTCALFVYVEYENXYIPV2OF4EVHNTNVVHDUXTPNIH6IZIKYGAVAC
ERVXVO5I6QWJSKWBC5J2FJJ74RUI3B6UDJ4POEMJVQSHRTIWEVWQC
BKU3SBYQV4NMFT4HI3LPNSZ55M4OV2GVWZAQZUAIXXGLL7RPI7GAC
2SJ3WUGXMPNMS35XZ3X3772PTHPWGEJGLOC64ARLEZRYVYWQYS6AC
WHTEZBXRS7R3AM44LJZFR2YE6RP4IWE3AB5V3DYGO4YJU7PBTMQAC
VXESMJDKIRYTNWV6PVDZUSECSP7ESMK5LZPEE72DFBUU5MH7GWLAC
NJ5ENURMCBSNFQPNXXNUBMUXVJEBIGNH2T7EWGB63F3FV723BUWAC
WDE4LLYP24YKDAV6PW62DFNWV3WZWQUUPA7CZH6STDZFYU7ARERQC
A4YNQVE34SZHRGN2HGBT2M5L7ROU4D5HFHTYUSVZHKTXD2PLM5VQC
4PEXC6EE4FNTPUYT64XDSOD6X5IVDY3Y2QDKYTSHEBOYS4JATQTQC
CL7RP3ZICLJT7YUI3O54IB2GZY7QMKK7ZC6GZPDXFYQKOOM64CHQC
DCJDPW7CQ5OR75ECIVESHYVC5JSXZ5CKV6E3EWLRFHHKAKE7JGKAC
IZ6I7IFHKZLD4EUJHSRGGRMVNKMOBNHCV7HPQUK2CUGP5M7EGEFAC
4A5J4ZQ3HM2ZK6OO7N3RZ2WX3YHNGA3X5WJIB4UQJPQGUG4O3AYQC
PS2VFJMZVN77RHZFVUVD2DA3MZNMXYPHT6XRHW2EUTZRGLAXF4YQC
QRSG7RJSX5R255Y2HHTLYBXMBR374QS3PV2UJDWK2ZPMG7V66SSAC
MWV72ACT6D63U5I4UUNIO4WK7ZN3Q5WYRI72K3DCKCNWZ22QUR5AC
O64A6IJJGMWJYUDR6VUFGYFPWWPN222BEMMLFCMLKDEFO5OVRE4QC
5KTOFVFDH2TUKNVY7VIL4GHFK7KPW5WDYMRU6EMI4276SF7CXBGQC
WCNLUVUGDQ55KUE5TTZAJHVPQ5EOG5SPNUMDNMAZ7ENAQV7D4XYQC
U6GSJX5ZG4O7R3XO4CA7G62TTDE22HRZ2LL7EQKLQSYCHCAA3CQQC
EWSZ2QIQQBG2EOVAU2IDFXQXE7D3PNFX3HE5LV2YPXEZONHM4MTQC
DBKTB5YP5SZ2XB4DNPHSR33PEBYOMBR4RADZGJ6H7TZQQ42BYM5AC
TEJLAHEG6JYVPWBHUHIO6NTSB7HO62RJ6G5J2B6UNPDVG7XK4XIAC
6DZO6E3ALZ477IYSCGVKASDYM54CZEDON55NR2UTUGOCZR3BMTAAC
6FD7JWA6BF2AMGISG2UEKFWDBFQMCV2TJ7LEPXW4T73O3SSJHESAC
QYSR4PDNVTQOISVLQMO5M7MYBEG37SV6Y7JGM6QPC3CA2BJAYPYQC
X575KR6QP76HLPGLLS6XINQGQEAQD76SNOKPJMTGKGR3JJW6A5EQC
3RG3K64UNBVMFYBBHNYCI7Y6GI7NZAHCCT76GMBBGK7PO4744BLAC
N4JCBDSP4AMBP22PL5IWGLQKOYSO2OZF74ARZMFW4ZXINUKLJ2EQC
6QF3TT2JA5DYRPTSEPZMZX352OY45GVZXJJ525EAUZEEOSLUKEDQC
TLJB2OPT3NO2ENJ7QEYCXNO45GQ6RMYEJCZGMJ3RJFCSQOMVB4RAC
LHVOD3PLNDZJYUS7SOYEGRDRW6AKUDDW35AWDY7Y7RCKV6KEX2IAC
BN7PSYS5IMGH4CXNCQZGOWBETO7KY4TKICB4ESZEZVXVGLOPVV7QC
WEC7RJUMNJX6A46INFCR5Q3GM5O3BCAYAF4UUISJDYXWIL5II36AC
let
# TODO why does using `pkgs` here cause an infinite recursion?
# this works just seems ugly 🤷🤷🤷
in
if isLinux then
else {
# TODO yabai & skhd or keep them in nix-darwin?
}
import ./sway { pkgs = pkgs; config = config; lib = lib; }
isLinux = (import <nixpkgs> { }).stdenv.hostPlatform.isLinux;
{ pkgs, config, lib, ... }:
{ pkgs, config, ... }:
{
config.programs.alacritty.enable = true;
# register alacritty as sway's terminal if alacritty is installed 😀
config.wayland.windowManager.sway.config.terminal = "${config.programs.alacritty.package}/bin/alacritty";
}
let
# TODO why does using `pkgs` here cause an infinite recursion?
# this works just seems ugly 🤷🤷🤷
isLinux = (import <nixpkgs> { }).stdenv.hostPlatform.isLinux;
in
if isLinux then
import ./alacritty.nix { pkgs = pkgs; config = config; }
else { }
{
config.programs.alacritty.enable = true;
config.wayland.windowManager.sway.config.terminal = "${config.programs.alacritty.package}/bin/alacritty";
}
{ pkgs, ... }:
let
userName = "chris";
in
{
users.users = {
"${userName}" = {
isNormalUser = true;
extraGroups = [
"networkmanager"
"wheel"
];
shell = pkgs.zsh;
};
};
}
let
primaryDisk = "/dev/sda2";
computerName = "thelio-nixos";
in
{
imports =
[
<nixos-hardware/system76>
];
networking.interfaces.enp5s0.useDHCP = true;
networking.interfaces.enp7s0f3u4u3u4.useDHCP = true;
networking.interfaces.wlp6s0.useDHCP = true;
system.stateVersion = "21.05";
# system76 doesn't use fwupd / fwupdmgr, they have their own cli
environment.systemPackages = [ pkgs.system76-firmware ];
}
networking.wireless.interfaces = [ "wlp6s0" ];
boot.initrd.luks.devices.root.device = primaryDisk;
networking.hostName = computerName;
/etc/nixos/hardware-configuration.nix
../common.nix
../greetd.nix
../networking.nix
../podman.nix
../sound.nix
../users.nix
../gtk.nix
{ config, pkgs, lib, ... }:
nixpkgs.url = "github:NixOS/nixpkgs/nixos-21.11";
nixpkgs.url = "github:NixOS/nixpkgs/nixos-unstable";
nixos-hardware.url = "github:nixos/nixos-hardware";
emacs-overlay.url = "github:nix-community/emacs-overlay";
home-manager = {
url = "github:nix-community/home-manager";
inputs.nixpkgs.follows = "nixpkgs";
};
nix-doom-emacs = {
url = "github:nix-community/nix-doom-emacs";
inputs.nixpkgs.follows = "nixpkgs";
};
nixosConfigurations."thelio-nixos" = nixpkgs.lib.nixosSystem {
system = "x86_64-linux";
modules = [
./hardware-configuration.nix
../common.nix
../greetd.nix
../gtk.nix
../networking.nix
../podman.nix
../sound.nix
../users.nix
overlays = [ emacs-overlay ];
({ pkgs, ... }: {
boot.initrd.luks.devices.root.device = "/dev/sda2";
networking.hostName = "thelio-nixos";
nixosConfigurations."thelio-nixos" = nixpkgs.lib.nixosSystem {
system = "x86_64-linux";
specialArgs = { inherit inputs; };
modules = [
./hardware-configuration.nix
nixos-hardware.nixosModules.system76
../common.nix
../greetd.nix
../gtk.nix
../networking.nix
../podman.nix
../sound.nix
../users/chris.nix
networking.wireless.interfaces = [ "wlp6s0" ];
networking.interfaces.enp5s0.useDHCP = true;
networking.interfaces.enp7s0f3u4u3u4.useDHCP = true;
networking.interfaces.wlp6s0.useDHCP = true;
({ pkgs, ... }: {
boot.initrd.luks.devices.root.device = "/dev/sda2";
networking.hostName = "thelio-nixos";
# system76 doesn't use fwupd / fwupdmgr, they have their own cli
environment.systemPackages = [ pkgs.system76-firmware ];
networking.wireless.interfaces = [ "wlp6s0" ];
networking.interfaces.enp5s0.useDHCP = true;
networking.interfaces.enp7s0f3u4u3u4.useDHCP = true;
networking.interfaces.wlp6s0.useDHCP = true;
];
home-manager.nixosModules.home-manager
{
home-manager.useGlobalPkgs = true;
home-manager.useUserPackages = true;
home-manager.users.chris = { pkgs, ... }: {
imports = [
{ nixpkgs.overlays = self.overlays; }
../../home.nix
nix-doom-emacs.hmModule
];
};
}
];
};
"doom-emacs": {
"flake": false,
"locked": {
"lastModified": 1639786417,
"narHash": "sha256-UgrbF/cNv2qJxK2jwrAsPdgeVTRrjCyU40xeMbyi1sI=",
"owner": "hlissner",
"repo": "doom-emacs",
"rev": "af7c1d79bd63d78410aafc410d52ee5c1109ec26",
"type": "github"
},
"original": {
"owner": "hlissner",
"ref": "develop",
"repo": "doom-emacs",
"type": "github"
}
},
"doom-snippets": {
"flake": false,
"locked": {
"lastModified": 1637750904,
"narHash": "sha256-zkKmbl9rros3IzMTX01l9eh1Uzg3E+eYgzuj8+VPBwM=",
"owner": "hlissner",
"repo": "doom-snippets",
"rev": "3083b2342f95fa55c1fd3b4a16229c5d867a02b0",
"type": "github"
},
"original": {
"owner": "hlissner",
"repo": "doom-snippets",
"type": "github"
}
},
"emacs-overlay": {
"locked": {
"lastModified": 1640572408,
"narHash": "sha256-bADuO+iCbpFbII3rSB66eg+rVsTbuBUSyMpG6dQoH44=",
"owner": "nix-community",
"repo": "emacs-overlay",
"rev": "1f591ff5ed96777035f5f438bb77224d9a1cdf5d",
"type": "github"
},
"original": {
"owner": "nix-community",
"repo": "emacs-overlay",
"type": "github"
}
},
"emacs-overlay_2": {
"flake": false,
"locked": {
"lastModified": 1640341393,
"narHash": "sha256-E3gQLE5PjOhE/vVCI/VHl45LJIW0fMEKC7M3WSz89KE=",
"owner": "nix-community",
"repo": "emacs-overlay",
"rev": "085a34df847458952c13b29d94e12c0333828bbc",
"type": "github"
},
"original": {
"owner": "nix-community",
"repo": "emacs-overlay",
"type": "github"
}
},
"emacs-so-long": {
"flake": false,
"locked": {
"lastModified": 1575031854,
"narHash": "sha256-xIa5zO0ZaToDrec1OFjBK6l39AbA4l/CE4LInVu2hi0=",
"owner": "hlissner",
"repo": "emacs-so-long",
"rev": "ed666b0716f60e8988c455804de24b55919e71ca",
"type": "github"
},
"original": {
"owner": "hlissner",
"repo": "emacs-so-long",
"type": "github"
}
},
"evil-markdown": {
"flake": false,
"locked": {
"lastModified": 1626852210,
"narHash": "sha256-HBBuZ1VWIn6kwK5CtGIvHM1+9eiNiKPH0GUsyvpUVN8=",
"owner": "Somelauw",
"repo": "evil-markdown",
"rev": "8e6cc68af83914b2fa9fd3a3b8472573dbcef477",
"type": "github"
},
"original": {
"owner": "Somelauw",
"repo": "evil-markdown",
"type": "github"
}
},
"evil-org-mode": {
"flake": false,
"locked": {
"lastModified": 1607203864,
"narHash": "sha256-JxwqVYDN6OIJEH15MVI6XOZAPtUWUhJQWHyzcrUvrFg=",
"owner": "hlissner",
"repo": "evil-org-mode",
"rev": "a9706da260c45b98601bcd72b1d2c0a24a017700",
"type": "github"
},
"original": {
"owner": "hlissner",
"repo": "evil-org-mode",
"type": "github"
}
},
"evil-quick-diff": {
"flake": false,
"locked": {
"lastModified": 1575189609,
"narHash": "sha256-oGzl1ayW9rIuq0haoiFS7RZsS8NFMdEA7K1BSozgnJU=",
"owner": "rgrinberg",
"repo": "evil-quick-diff",
"rev": "69c883720b30a892c63bc89f49d4f0e8b8028908",
"type": "github"
},
"original": {
"owner": "rgrinberg",
"repo": "evil-quick-diff",
"type": "github"
}
},
"explain-pause-mode": {
"flake": false,
"locked": {
"lastModified": 1595842060,
"narHash": "sha256-++znrjiDSx+cy4okFBBXUBkRFdtnE2x+trkmqjB3Njs=",
"owner": "lastquestion",
"repo": "explain-pause-mode",
"rev": "2356c8c3639cbeeb9751744dbe737267849b4b51",
"type": "github"
},
"original": {
"owner": "lastquestion",
"repo": "explain-pause-mode",
"type": "github"
}
},
"flake-utils": {
"locked": {
"lastModified": 1638122382,
"narHash": "sha256-sQzZzAbvKEqN9s0bzWuYmRaA03v40gaJ4+iL1LXjaeI=",
"owner": "numtide",
"repo": "flake-utils",
"rev": "74f7e4319258e287b0f9cb95426c9853b282730b",
"type": "github"
},
"original": {
"owner": "numtide",
"repo": "flake-utils",
"type": "github"
}
},
"format-all": {
"flake": false,
"locked": {
"lastModified": 1581716637,
"narHash": "sha256-ul7LCe60W8TIvUmUtZtZRo8489TK9iTPDsLHmzxY57M=",
"owner": "lassik",
"repo": "emacs-format-all-the-code",
"rev": "47d862d40a088ca089c92cd393c6dca4628f87d3",
"type": "github"
},
"original": {
"owner": "lassik",
"repo": "emacs-format-all-the-code",
"rev": "47d862d40a088ca089c92cd393c6dca4628f87d3",
"type": "github"
}
},
"home-manager": {
"inputs": {
"nixpkgs": [
"nixpkgs"
]
},
"locked": {
"lastModified": 1640417317,
"narHash": "sha256-jT2uMARXs0Xm65ccroFsKyr4LTHSecw+9HAnmBdJO8U=",
"owner": "nix-community",
"repo": "home-manager",
"rev": "48f2b381dd397ec88040d3354ac9c036739ba139",
"type": "github"
},
"original": {
"owner": "nix-community",
"repo": "home-manager",
"type": "github"
}
},
"nix-doom-emacs": {
"inputs": {
"doom-emacs": "doom-emacs",
"doom-snippets": "doom-snippets",
"emacs-overlay": "emacs-overlay_2",
"emacs-so-long": "emacs-so-long",
"evil-markdown": "evil-markdown",
"evil-org-mode": "evil-org-mode",
"evil-quick-diff": "evil-quick-diff",
"explain-pause-mode": "explain-pause-mode",
"flake-utils": "flake-utils",
"format-all": "format-all",
"nix-straight": "nix-straight",
"nixpkgs": [
"nixpkgs"
],
"nose": "nose",
"ob-racket": "ob-racket",
"org": "org",
"org-contrib": "org-contrib",
"org-yt": "org-yt",
"php-extras": "php-extras",
"revealjs": "revealjs",
"rotate-text": "rotate-text"
},
"locked": {
"lastModified": 1640349307,
"narHash": "sha256-/L/yUpqVig55T4tvThpuHQEZJTclsyFPHbP4xuCG0eE=",
"owner": "nix-community",
"repo": "nix-doom-emacs",
"rev": "e29eb738085f88022eefb4ef959b48ba90c93d27",
"type": "github"
},
"original": {
"owner": "nix-community",
"repo": "nix-doom-emacs",
"type": "github"
}
},
"nix-straight": {
"flake": false,
"locked": {
"lastModified": 1639180741,
"narHash": "sha256-3AaUE9Z/Sc5QxK8WtkPzU+9UqcOUaF9klaz8sV8DUu4=",
"owner": "nix-community",
"repo": "nix-straight.el",
"rev": "866ef703fa96c970624d6d4ad33110a0708fcfef",
"type": "github"
},
"original": {
"owner": "nix-community",
"repo": "nix-straight.el",
"type": "github"
}
},
"nixos-hardware": {
"locked": {
"lastModified": 1640513880,
"narHash": "sha256-dIJYjqGFqCBNh3iasE+6EHG/W96I0YK6ayjfazOVuE8=",
"owner": "nixos",
"repo": "nixos-hardware",
"rev": "2a76e1204f3a605f8d8d2f323671e1a295a5246d",
"type": "github"
},
"original": {
"owner": "nixos",
"repo": "nixos-hardware",
"type": "github"
}
},
"nose": {
"flake": false,
"locked": {
"lastModified": 1400604510,
"narHash": "sha256-daEi8Kta1oGaDEmUUDDQMahTTPOpvNpDKk22rlr7cB0=",
"owner": "emacsattic",
"repo": "nose",
"rev": "f8528297519eba911696c4e68fa88892de9a7b72",
"type": "github"
},
"original": {
"owner": "emacsattic",
"repo": "nose",
"type": "github"
}
},
"ob-racket": {
"flake": false,
"locked": {
"lastModified": 1584656173,
"narHash": "sha256-rBUYDDCXb+3D4xTPQo9UocbTPZ32kWV1Uya/1DmZknU=",
"owner": "xchrishawk",
"repo": "ob-racket",
"rev": "83457ec9e1e96a29fd2086ed19432b9d75787673",
"type": "github"
},
"original": {
"owner": "xchrishawk",
"repo": "ob-racket",
"type": "github"
}
},
"org": {
"flake": false,
"locked": {
"lastModified": 1640085226,
"narHash": "sha256-brwgjUsaANVNbxujNi4E+fAtps0SIYpZZUlA1s7Ve+g=",
"owner": "emacs-straight",
"repo": "org-mode",
"rev": "be03334a7e5dae4f04b52a1cd1614024d5473ceb",
"type": "github"
},
"original": {
"owner": "emacs-straight",
"repo": "org-mode",
"type": "github"
}
},
"org-contrib": {
"flake": false,
"locked": {
"lastModified": 1639727892,
"narHash": "sha256-+T6Y87aSAx7kMpigm8d1ODDQIyPBM6a+4qGolXjCEXs=",
"ref": "master",
"rev": "5766ff1088191e4df5fecd55007ba4271e609bcc",
"revCount": 2611,
"type": "git",
"url": "https://git.sr.ht/~bzg/org-contrib"
},
"original": {
"type": "git",
"url": "https://git.sr.ht/~bzg/org-contrib"
}
},
"org-yt": {
"flake": false,
"locked": {
"lastModified": 1527381913,
"narHash": "sha256-dzQ6B7ryzatHCTLyEnRSbWO0VUiX/FHYnpHTs74aVUs=",
"owner": "TobiasZawada",
"repo": "org-yt",
"rev": "40cc1ac76d741055cbefa13860d9f070a7ade001",
"type": "github"
},
"original": {
"owner": "TobiasZawada",
"repo": "org-yt",
"type": "github"
}
},
"php-extras": {
"flake": false,
"locked": {
"lastModified": 1573312690,
"narHash": "sha256-r4WyVbzvT0ra4Z6JywNBOw5RxOEYd6Qe2IpebHXkj1U=",
"owner": "arnested",
"repo": "php-extras",
"rev": "d410c5af663c30c01d461ac476d1cbfbacb49367",
"type": "github"
},
"original": {
"owner": "arnested",
"repo": "php-extras",
"type": "github"
}
},
"revealjs": {
"flake": false,
"locked": {
"lastModified": 1640009311,
"narHash": "sha256-RXVvHPKA7vkBzzTRGH2LgL5ywvlcBG1wWRdmwoUtewc=",
"owner": "hakimel",
"repo": "reveal.js",
"rev": "38b32c66199a29cf21f60f920c30a4ead150c654",
"type": "github"
},
"original": {
"owner": "hakimel",
"repo": "reveal.js",
"type": "github"
}
},
},
"rotate-text": {
"flake": false,
"locked": {
"lastModified": 1322962747,
"narHash": "sha256-SOeOgSlcEIsKhUiYDJv0p+mLUb420s9E2BmvZQvZ0wk=",
"owner": "debug-ito",
"repo": "rotate-text.el",
"rev": "48f193697db996855aee1ad2bc99b38c6646fe76",
"type": "github"
},
"original": {
"owner": "debug-ito",
"repo": "rotate-text.el",
"type": "github"
}
{ config, pkgs, ... }:
let
userName = "chris";
# on macos this is /Users/<username>
homeDirectory = "/home/${userName}";
in
{
###
### Tell home-manager the basics
###
config.home.username = userName;
config.home.homeDirectory = homeDirectory;
###
### Choose which modules to install on this system
###
imports = [
../emacs
../firefox
../git
../guiapps
../linux_desktop
../neovim
../personal_scripts
../python
../shell
../sway
../terminal_emulator
../tmux
];
###
### Setup the git personal info relevant for this system
###
config.programs.git = {
userName = "Chris Cummings";
userEmail = "chris@thesogu.com";
};
# local machine specific sway config
# NOTE swaymsg -t get_outputs
config.wayland.windowManager.sway.config = {
output = {
"*" = { bg = "${homeDirectory}/wallpapers/1.jpg fill"; };
};
startup = [ ];
};
###
### Enable specific email accounts
###
config.accounts.email.accounts = {
# add a new email account by adding a nix module, then adding it to the .gitignore
# or ignore privately
# see example-email.nix for an example
# e.g.:
# example = import ../email/example-email.nix;
# personal = import ../email/personal.nix
};
####
#### extra options to consider
####
# if on a machine using aws cli you probably want to set this
# to the profile you use most often
config.programs.zsh.sessionVariables = {
# SOME_VAR = "holy crap it worked?";
};
# if on pop-os you probably want to add these
# make sure all of the distro's default XDG_DATA_DIRS values are in here
# most of these should be set in linux_desktop/default.nix
config.xdg.systemDirs.data = [
# "/var/lib/flatpak/exports/share"
];
}
{ pkgs }:
(builtins.fetchTarball {
url = "https://github.com/vlaci/nix-doom-emacs/archive/master.tar.gz";
})
{
doomPrivateDir = ./doom.d;
extraConfig = ''
(setq
mu4e-mu-binary "${pkgs.mu}/bin/mu"
sendmail-program "${pkgs.msmtp}/bin/msmtp"
message-sendmail-f-is-evil t
message-sendmail-extra-arguments '("--read-envelope-from")
message-send-mail-function 'message-send-mail-with-sendmail)
'';
extraPackages = epkgs: [ pkgs.emacs-all-the-icons-fonts pkgs.mu epkgs.vterm ];
}
emacsPackages = pkgs.emacsPackagesFor pkg-emacs;
dependencyOverrides = {
"emacs-overlay" = (builtins.fetchTarball {
url = https://github.com/nix-community/emacs-overlay/archive/master.tar.gz;
});
};
emacsPackagesOverlay = self: super: {
# https://github.com/vlaci/nix-doom-emacs/issues/394
# package was renamed 😎
gitignore-mode = pkgs.emacsPackages.git-modes;
gitconfig-mode = pkgs.emacsPackages.git-modes;
};
let
isLinux = pkgs.stdenv.hostPlatform.isLinux;
# NOTE: won't need to overrideAttrs on emacsMacport once the below PR is released
# https://github.com/NixOS/nixpkgs/pull/133260/
pkg-emacs = if isLinux then pkgs.emacs else
pkgs.emacsMacport.overrideAttrs (old: {
passthru = old.passthru or { };
});
in
pkgs.callPackage
pkgs-linux = with pkgs; if isLinux then [
# these are needed to support doom :tool everywhere (emacs-everywhere)
xclip
xdotool
xorg.xprop
xorg.xwininfo
] else [ ];
config.home.file.".emacs.d/init.el".text = ''
(load "default.el")
'';
config.programs.doom-emacs = {
enable = true;
doomPrivateDir = ./doom.d;
extraConfig = ''
(setq
mu4e-mu-binary "${pkgs.mu}/bin/mu"
sendmail-program "${pkgs.msmtp}/bin/msmtp"
message-sendmail-f-is-evil t
message-sendmail-extra-arguments '("--read-envelope-from")
message-send-mail-function 'message-send-mail-with-sendmail)
'';
extraPackages = [ pkgs.emacs-all-the-icons-fonts pkgs.mu ];
};
config.services =
if isLinux then {
emacs.enable = isLinux;
emacs.package = doom;
lorri.enable = isLinux;
} else { };
config.services.emacs.enable = isLinux;
config.services.lorri.enable = isLinux;