First emacs configuration

Also includes colorscheme changes
This commit is contained in:
Charlotte Van Petegem 2021-03-09 00:47:31 +01:00
parent 3ac380fd61
commit 912d84d889
No known key found for this signature in database
GPG key ID: 019E764B7184435A
9 changed files with 218 additions and 74 deletions

View file

@ -8,28 +8,34 @@
font_family = "Fira Code"; font_family = "Fira Code";
font_size = 9; font_size = 9;
disable_ligatures = "cursor"; disable_ligatures = "cursor";
background = "#fbffff"; background = "#ffffff";
foreground = "#535c65"; foreground = "#000000";
selection_background = "#6d7782"; cursor = "#777777";
selection_foreground = "#fbffff"; url_color = "#0031a9";
url_color = "#906c33"; # black
cursor = "#434951"; color0 = "#282828";
color0 = "#fbffff"; color8 = "#000000";
color1 = "#ae5865"; # red
color2 = "#4d7f43"; color1 = "#a60000";
color3 = "#906c33"; color9 = "#972500";
color4 = "#2b7ab2"; # green
color5 = "#8f63a2"; color2 = "#005e00";
color6 = "#008483"; color10 = "#315b00";
color7 = "#535c65"; # yellow
color8 = "#6d7782"; color3 = "#813e00";
color9 = "#ae5865"; color11 = "#70480f";
color10 = "#4d7f43"; # blue
color11 = "#906c33"; color4 = "#0031a9";
color12 = "#2b7ab2"; color12 = "#2544bb";
color13 = "#8f63a2"; # magenta
color14 = "#008483"; color5 = "#721045";
color15 = "#434951"; color13 = "#8f0075";
# cyan
color6 = "#00538b";
color14 = "#30517f";
# white
color7 = "#f8f8f8";
color15 = "#ffffff";
enable_audio_bell = false; enable_audio_bell = false;
visual_bell_duration = "0.25"; visual_bell_duration = "0.25";
remember_window_size = false; remember_window_size = false;

View file

@ -295,15 +295,15 @@ in
set send_charset="utf-8" set send_charset="utf-8"
set print_command = "${pkgs.wl-clipboard}/bin/wl-copy" set print_command = "${pkgs.wl-clipboard}/bin/wl-copy"
color normal white default color normal black white
color error red default color error red white
color status black blue color status white blue
color indicator black blue color indicator white blue
color quoted yellow default color quoted yellow default
color header blue default "^(Subject)" color header blue white "^(Subject)"
color header brightblue default "^(From)" color header brightblue white "^(From)"
color index black red "~D" # deleted messages color index white red "~D" # deleted messages
color attachment green default color attachment green white
''; '';
macros = [ macros = [
{ {

View file

@ -60,12 +60,12 @@ in
bars = [ bars = [
{ {
colors = { colors = {
background = "#fbffff"; background = "#ffffff";
statusline = "#535c65"; statusline = "#000000";
activeWorkspace = { border = "#6d7782"; background = "#6d7782"; text = "#fbffff"; }; activeWorkspace = { border = "#f2eff3"; background = "#f2eff3"; text = "#000000"; };
focusedWorkspace = { border = "#2b7ab2"; background = "#2b7ab2"; text = "#fbffff"; }; focusedWorkspace = { border = "#6aaeff"; background = "#6aaeff"; text = "#000000"; };
inactiveWorkspace = { border = "#fbffff"; background = "#fbffff"; text = "#535c65"; }; inactiveWorkspace = { border = "#ffffff"; background = "#ffffff"; text = "#000000"; };
urgentWorkspace = { border = "#ae5865"; background = "#ae5865"; text = "#fbffff"; }; urgentWorkspace = { border = "#ff8892"; background = "#ff8892"; text = "#000000"; };
}; };
fonts = [ "Fira Code Normal 9" ]; fonts = [ "Fira Code Normal 9" ];
position = "top"; position = "top";

View file

@ -22,16 +22,16 @@ pkgs.writeText "configuration.toml" ''
[theme] [theme]
name = "gruvbox-light" name = "gruvbox-light"
[theme.overrides] [theme.overrides]
idle_bg="#fbffff" idle_bg="#ffffff"
idle_fg="#535c65" idle_fg="#000000"
info_bg="#2b7ab2" info_bg="#6aaeff"
info_fg="#fbffff" info_fg="#000000"
good_bg="#4d7f43" good_bg="#5ada88"
good_fg="#fbffff" good_fg="#000000"
warning_bg="#906c33" warning_bg="#f5df23"
warning_fg="#fbffff" warning_fg="#000000"
critical_bg="#ae5865" critical_bg="#ff8892"
critical_fg="#fbffff" critical_fg="#000000"
separator="" separator=""
[icons] [icons]

36
flake.lock generated
View file

@ -23,11 +23,11 @@
] ]
}, },
"locked": { "locked": {
"lastModified": 1615014591, "lastModified": 1615236417,
"narHash": "sha256-zKLLOn6gFbI1gmlqMdIPkMJBiOmkVPIwprtvzZa1mhw=", "narHash": "sha256-ialggc4ff+coOaKIxreoynh+FPSs2cergePIQE1U8jE=",
"owner": "nix-community", "owner": "nix-community",
"repo": "home-manager", "repo": "home-manager",
"rev": "abc9d96d19e2c8a7f3a32b74894dc16ba4c25df0", "rev": "57a7e5e2c53de58215fdac1910470bef36dd30cd",
"type": "github" "type": "github"
}, },
"original": { "original": {
@ -38,11 +38,11 @@
}, },
"nixpkgs": { "nixpkgs": {
"locked": { "locked": {
"lastModified": 1615003268, "lastModified": 1615190638,
"narHash": "sha256-7rTzyFQMnfPTOVU3lghtfjjMtf7Oo+RyShJt8jiRQnk=", "narHash": "sha256-tMxEgkf1boXafAqXx4W/KBzRybwwPBNImaNVA7F+JaA=",
"owner": "chvp", "owner": "chvp",
"repo": "nixpkgs", "repo": "nixpkgs",
"rev": "8edfe0a2e8bfc750f7ac2818b2a4f364124806b6", "rev": "1005b14672de04c6f46ca8a9a9c423fa358b7142",
"type": "github" "type": "github"
}, },
"original": { "original": {
@ -54,11 +54,11 @@
}, },
"nixpkgsFor0AD": { "nixpkgsFor0AD": {
"locked": { "locked": {
"lastModified": 1615016446, "lastModified": 1615236825,
"narHash": "sha256-glmmrBClnqmEy4lFkCby3Q8+JoMfhbaJi2+8AU1ojUc=", "narHash": "sha256-q8kL5pr3LsyYMWpMC+mPPap//BksKUmtc2+pvwpsWTo=",
"owner": "chvp", "owner": "chvp",
"repo": "nixpkgs", "repo": "nixpkgs",
"rev": "bc5f1cf0b91390a0422d7fb8745fe2116d29884e", "rev": "88f10fd1dc868506e6ad079d3adb3eec772da247",
"type": "github" "type": "github"
}, },
"original": { "original": {
@ -68,12 +68,28 @@
"type": "github" "type": "github"
} }
}, },
"nur": {
"locked": {
"lastModified": 1615242934,
"narHash": "sha256-OiMls+BNmilZb821QaYrXCtJC5rfdBEnzttTBLbpdso=",
"owner": "nix-community",
"repo": "NUR",
"rev": "3b4dc6d384d5dbadea4db00c2c3cbe967a7aa64e",
"type": "github"
},
"original": {
"owner": "nix-community",
"repo": "NUR",
"type": "github"
}
},
"root": { "root": {
"inputs": { "inputs": {
"flake-utils": "flake-utils", "flake-utils": "flake-utils",
"home-manager": "home-manager", "home-manager": "home-manager",
"nixpkgs": "nixpkgs", "nixpkgs": "nixpkgs",
"nixpkgsFor0AD": "nixpkgsFor0AD" "nixpkgsFor0AD": "nixpkgsFor0AD",
"nur": "nur"
} }
} }
}, },

View file

@ -7,11 +7,12 @@
url = "github:nix-community/home-manager"; url = "github:nix-community/home-manager";
inputs.nixpkgs.follows = "nixpkgs"; inputs.nixpkgs.follows = "nixpkgs";
}; };
nur.url = "github:nix-community/NUR";
nixpkgs.url = "github:chvp/nixpkgs/master"; nixpkgs.url = "github:chvp/nixpkgs/master";
nixpkgsFor0AD.url = "github:chvp/nixpkgs/0ad0.24"; nixpkgsFor0AD.url = "github:chvp/nixpkgs/0ad0.24";
}; };
outputs = { self, nixpkgs, nixpkgsFor0AD, home-manager, flake-utils }: outputs = { self, nixpkgs, nixpkgsFor0AD, nur, home-manager, flake-utils }:
let let
version-suffix = nixpkgs.rev or (builtins.toString nixpkgs.lastModified); version-suffix = nixpkgs.rev or (builtins.toString nixpkgs.lastModified);
pkgsFor = system: import nixpkgs { pkgsFor = system: import nixpkgs {
@ -31,6 +32,10 @@
''); '');
nix.nixPath = [ "nixpkgs=/etc/nixpkgs" ]; nix.nixPath = [ "nixpkgs=/etc/nixpkgs" ];
}) })
({ pkgs, ... }: {
nixpkgs.overlays = [ nur.overlay ];
home-manager.sharedModules = [ pkgs.nur.repos.rycee.hmModules.emacs-init ];
})
(./. + "/machines/${hostname}") (./. + "/machines/${hostname}")
]; ];
}; };

View file

@ -7,6 +7,7 @@
./bluetooth.nix ./bluetooth.nix
./docker.nix ./docker.nix
./eid.nix ./eid.nix
./emacs.nix
./git.nix ./git.nix
./global-mailer.nix ./global-mailer.nix
./gomuks.nix ./gomuks.nix
@ -74,22 +75,22 @@
console = { console = {
colors = [ colors = [
"fbffff" "f8f8f8"
"ae5865" "a60000"
"4d7f43" "005e00"
"906c33" "813e00"
"2b7ab2" "0031a9"
"8f63a2" "721045"
"008483" "00538b"
"535c65" "282828"
"6d7782" "ffffff"
"ae5865" "972500"
"4d7f43" "315b00"
"906c33" "70480f"
"2b7ab2" "2544bb"
"8f63a2" "8f0075"
"008483" "30517f"
"434951" "000000"
]; ];
font = "Lat2-Terminus16"; font = "Lat2-Terminus16";
keyMap = "us"; keyMap = "us";

116
modules/emacs.nix Normal file
View file

@ -0,0 +1,116 @@
{ config, lib, pkgs, ... }:
{
options.chvp.emacs = {
enable = lib.mkOption {
default = true;
example = false;
};
};
config = lib.mkIf config.chvp.emacs.enable {
home-manager.users.charlotte = { ... }: {
programs.emacs = {
enable = true;
init = {
enable = true;
prelude = ''
(when window-system
(set-frame-font "Fira Code 9"))
(electric-pair-mode)
(global-display-line-numbers-mode)
(defun emoji-fonts ()
(set-fontset-font t 'symbol "Noto Color Emoji")
(set-fontset-font t 'symbol "Symbola" nil 'append))
(if (daemonp)
(add-hook 'server-after-make-frame-hook #'emoji-fonts)
(emoji-fonts))
'';
recommendedGcSettings = true;
usePackageVerbose = true;
usePackage = {
better-defaults.enable = true;
company = {
enable = true;
diminish = [ "company-mode" ];
config = "(global-company-mode)";
};
evil = {
enable = true;
config = "(evil-mode 1)";
};
fira-code-mode = {
enable = true;
config = "(global-fira-code-mode)";
};
flycheck = {
enable = true;
diminish = [ "flycheck-mode" ];
config = "(global-flycheck-mode)";
};
ledger-mode = {
enable = true;
mode = [ ''"\\.journal\\'"'' ];
config = ''
(setq ledger-binary-path "hledger")
(setq ledger-highlight-xact-under-point nil)
(setq ledger-post-account-alignment-column 4)
(setq ledger-post-amount-alignment-at :decimal)
(setq ledger-post-amount-alignment-column 59)
(setq ledger-post-auto-align t)
'';
};
lsp-mode = {
enable = true;
command = [ "lsp" ];
config = ''
'';
};
markdown-mode = {
enable = true;
command = [ "markdown-mode" "gfm-mode" ];
mode = [
''("README\\.md\\'" . gfm-mode)''
''("\\.md\\'" . markdown-mode)''
''("\\.markdown\\'" . markdown-mode)''
];
};
modus-themes = {
enable = true;
config = ''
(setq modus-themes-bold-constructs t
modus-themes-syntax 'alt-syntax-yellow-comments
modus-themes-promts 'intense-accented
modus-themes-mode-line 'borderless
modus-themes-region 'bg-only)
(modus-themes-load-themes)
(modus-themes-load-operandi)
'';
};
nix.enable = true;
nix-mode = {
enable = true;
mode = [ ''"\\.nix\\'"'' ];
};
python-mode = {
enable = true;
mode = [ ''"\\.py\\'"'' ];
};
ruby-mode = {
enable = true;
mode = [
''("\\.\\(?:cap\\|gemspec\\|irbrc\\|gemrc\\|rake\\|rb\\|ru\\|thor\\)\\'" . ruby-mode)''
''("\\(?:Brewfile\\|Capfile\\|Gemfile\\(?:\\.[a-zA-Z0-9._-]+\\)?\\|[rR]akefile\\)\\'" . ruby-mode)''
];
};
web-mode = {
enable = true;
mode = [ ''"\\.html\\.erb\\'"'' ];
};
};
};
};
};
};
}

View file

@ -33,7 +33,7 @@
"systemd" "systemd"
"tmux" "tmux"
]; ];
theme = "agnoster"; theme = "robbyrussell";
}; };
plugins = [{ plugins = [{
name = "zsh-syntax-highlighting"; name = "zsh-syntax-highlighting";