mirror of
https://github.com/ellmau/nixos.git
synced 2025-12-20 09:39:39 +01:00
Compare commits
No commits in common. "74ca4b3d0ffd628ddb59eecc09bbc58a6b502095" and "426fd9d1e7ceb79823860944b2e137c29f372a5b" have entirely different histories.
74ca4b3d0f
...
426fd9d1e7
30
flake.lock
generated
30
flake.lock
generated
@ -72,11 +72,11 @@
|
|||||||
"nixpkgs-stable": "nixpkgs-stable"
|
"nixpkgs-stable": "nixpkgs-stable"
|
||||||
},
|
},
|
||||||
"locked": {
|
"locked": {
|
||||||
"lastModified": 1696244446,
|
"lastModified": 1695697673,
|
||||||
"narHash": "sha256-IAQEXDLlwrXaCSmt5bxuoqdhZiF8en/3NpiTrJt1bhE=",
|
"narHash": "sha256-bGs6biCl41rJLMVazhe6kLYDLYn+P/bSeejxokdZjnA=",
|
||||||
"owner": "nix-community",
|
"owner": "nix-community",
|
||||||
"repo": "emacs-overlay",
|
"repo": "emacs-overlay",
|
||||||
"rev": "c231089aff799637747034d067fc4459753aa717",
|
"rev": "bcb0cc6626d0e79ff188c30cad72f52692c1048d",
|
||||||
"type": "github"
|
"type": "github"
|
||||||
},
|
},
|
||||||
"original": {
|
"original": {
|
||||||
@ -248,11 +248,11 @@
|
|||||||
},
|
},
|
||||||
"nixos-hardware": {
|
"nixos-hardware": {
|
||||||
"locked": {
|
"locked": {
|
||||||
"lastModified": 1696161939,
|
"lastModified": 1695541019,
|
||||||
"narHash": "sha256-HI1DxS//s46/qv9dcW06TzXaBjxL2DVTQP8R1QsnHzM=",
|
"narHash": "sha256-rs++zfk41K9ArWkDAlmBDlGlKO8qeRIRzdjo+9SmNFI=",
|
||||||
"owner": "NixOS",
|
"owner": "NixOS",
|
||||||
"repo": "nixos-hardware",
|
"repo": "nixos-hardware",
|
||||||
"rev": "0ab3ee718e964fb42dc57ace6170f19cb0b66532",
|
"rev": "61283b30d11f27d5b76439d43f20d0c0c8ff5296",
|
||||||
"type": "github"
|
"type": "github"
|
||||||
},
|
},
|
||||||
"original": {
|
"original": {
|
||||||
@ -326,11 +326,11 @@
|
|||||||
},
|
},
|
||||||
"nixpkgs-stable": {
|
"nixpkgs-stable": {
|
||||||
"locked": {
|
"locked": {
|
||||||
"lastModified": 1696039360,
|
"lastModified": 1695559356,
|
||||||
"narHash": "sha256-g7nIUV4uq1TOVeVIDEZLb005suTWCUjSY0zYOlSBsyE=",
|
"narHash": "sha256-kXZ1pUoImD9OEbPCwpTz4tHsNTr4CIyIfXb3ocuR8sI=",
|
||||||
"owner": "NixOS",
|
"owner": "NixOS",
|
||||||
"repo": "nixpkgs",
|
"repo": "nixpkgs",
|
||||||
"rev": "32dcb45f66c0487e92db8303a798ebc548cadedc",
|
"rev": "261abe8a44a7e8392598d038d2e01f7b33cf26d0",
|
||||||
"type": "github"
|
"type": "github"
|
||||||
},
|
},
|
||||||
"original": {
|
"original": {
|
||||||
@ -358,11 +358,11 @@
|
|||||||
},
|
},
|
||||||
"nixpkgs-unstable": {
|
"nixpkgs-unstable": {
|
||||||
"locked": {
|
"locked": {
|
||||||
"lastModified": 1696019113,
|
"lastModified": 1695360818,
|
||||||
"narHash": "sha256-X3+DKYWJm93DRSdC5M6K5hLqzSya9BjibtBsuARoPco=",
|
"narHash": "sha256-JlkN3R/SSoMTa+CasbxS1gq+GpGxXQlNZRUh9+LIy/0=",
|
||||||
"owner": "NixOS",
|
"owner": "NixOS",
|
||||||
"repo": "nixpkgs",
|
"repo": "nixpkgs",
|
||||||
"rev": "f5892ddac112a1e9b3612c39af1b72987ee5783a",
|
"rev": "e35dcc04a3853da485a396bdd332217d0ac9054f",
|
||||||
"type": "github"
|
"type": "github"
|
||||||
},
|
},
|
||||||
"original": {
|
"original": {
|
||||||
@ -374,11 +374,11 @@
|
|||||||
},
|
},
|
||||||
"nixpkgs_2": {
|
"nixpkgs_2": {
|
||||||
"locked": {
|
"locked": {
|
||||||
"lastModified": 1696039360,
|
"lastModified": 1695559356,
|
||||||
"narHash": "sha256-g7nIUV4uq1TOVeVIDEZLb005suTWCUjSY0zYOlSBsyE=",
|
"narHash": "sha256-kXZ1pUoImD9OEbPCwpTz4tHsNTr4CIyIfXb3ocuR8sI=",
|
||||||
"owner": "NixOS",
|
"owner": "NixOS",
|
||||||
"repo": "nixpkgs",
|
"repo": "nixpkgs",
|
||||||
"rev": "32dcb45f66c0487e92db8303a798ebc548cadedc",
|
"rev": "261abe8a44a7e8392598d038d2e01f7b33cf26d0",
|
||||||
"type": "github"
|
"type": "github"
|
||||||
},
|
},
|
||||||
"original": {
|
"original": {
|
||||||
|
|||||||
42
flake.nix
42
flake.nix
@ -68,13 +68,11 @@
|
|||||||
discoverMachines
|
discoverMachines
|
||||||
withModules
|
withModules
|
||||||
discoverTemplates
|
discoverTemplates
|
||||||
discoverOverlay
|
|
||||||
;
|
;
|
||||||
inherit (flake-utils-plus.lib) genPkgOverlay;
|
|
||||||
in
|
in
|
||||||
flake-utils-plus.lib.mkFlake rec {
|
flake-utils-plus.lib.mkFlake rec {
|
||||||
inherit self inputs;
|
inherit self inputs;
|
||||||
supportedSystems = ["x86_64-linux" "aarch64-darwin"];
|
supportedSystems = ["x86_64-linux"];
|
||||||
|
|
||||||
lib = extended-lib;
|
lib = extended-lib;
|
||||||
|
|
||||||
@ -93,14 +91,12 @@
|
|||||||
];
|
];
|
||||||
};
|
};
|
||||||
|
|
||||||
channels.nixpkgs.overlaysBuilder = channels:
|
channels.nixpkgs.overlaysBuilder = channels: [
|
||||||
[
|
(final: prev: {unstable = channels.nixpkgs-unstable;})
|
||||||
(final: prev: {unstable = channels.nixpkgs-unstable;})
|
(flake-utils-plus.lib.genPkgOverlay inputs.comma "comma")
|
||||||
(flake-utils-plus.lib.genPkgOverlay inputs.comma "comma")
|
#inputs.nix.overlay
|
||||||
#inputs.nix.overlay
|
inputs.emacs-overlay.overlay
|
||||||
inputs.emacs-overlay.overlay
|
];
|
||||||
]
|
|
||||||
++ (nixpkgs.lib.attrValues overlays);
|
|
||||||
|
|
||||||
hostDefaults = {
|
hostDefaults = {
|
||||||
system = "x86_64-linux";
|
system = "x86_64-linux";
|
||||||
@ -144,13 +140,6 @@
|
|||||||
stateVersion = extended-lib.mkDefault "21.05";
|
stateVersion = extended-lib.mkDefault "21.05";
|
||||||
});
|
});
|
||||||
|
|
||||||
overlays = rec {
|
|
||||||
elss = discoverOverlay ./packages;
|
|
||||||
default = elss;
|
|
||||||
emacs-overlay = inputs.emacs-overlay.overlay;
|
|
||||||
flake-utils-plus = genPkgOverlay inputs.flake-utils-plus "fup-repl";
|
|
||||||
};
|
|
||||||
|
|
||||||
outputsBuilder = channels: {
|
outputsBuilder = channels: {
|
||||||
devShells = let
|
devShells = let
|
||||||
pkgs = channels.nixpkgs;
|
pkgs = channels.nixpkgs;
|
||||||
@ -180,16 +169,13 @@
|
|||||||
default = sops;
|
default = sops;
|
||||||
};
|
};
|
||||||
formatter = channels.nixpkgs.alejandra;
|
formatter = channels.nixpkgs.alejandra;
|
||||||
packages =
|
apps = {
|
||||||
(flake-utils-plus.lib.exportPackages {
|
emacs = flake-utils-plus.lib.mkApp {
|
||||||
inherit
|
drv =
|
||||||
(overlays)
|
self.nixosConfigurations.stel-xps.config.services.emacs.package;
|
||||||
default
|
exePath = "/bin/emacs";
|
||||||
flake-utils-plus
|
};
|
||||||
;
|
};
|
||||||
}
|
|
||||||
channels)
|
|
||||||
// {inherit (channels.nixpkgs) emacs;};
|
|
||||||
};
|
};
|
||||||
|
|
||||||
templates = discoverTemplates ./templates {
|
templates = discoverTemplates ./templates {
|
||||||
|
|||||||
@ -23,12 +23,6 @@ with prev; rec {
|
|||||||
name,
|
name,
|
||||||
}:
|
}:
|
||||||
import path);
|
import path);
|
||||||
|
|
||||||
discoverOverlay = dir: final: prev: (withModules dir ({
|
|
||||||
path,
|
|
||||||
name,
|
|
||||||
}: (final.callPackage path {})));
|
|
||||||
|
|
||||||
discoverMachines = dir: args:
|
discoverMachines = dir: args:
|
||||||
withModules dir ({
|
withModules dir ({
|
||||||
path,
|
path,
|
||||||
|
|||||||
@ -18,7 +18,7 @@ with lib; {
|
|||||||
signal-desktop
|
signal-desktop
|
||||||
skypeforlinux
|
skypeforlinux
|
||||||
#remove teams as MS has removed the linux packages from their servers
|
#remove teams as MS has removed the linux packages from their servers
|
||||||
#teams
|
teams
|
||||||
zoom-us
|
zoom-us
|
||||||
];
|
];
|
||||||
};
|
};
|
||||||
|
|||||||
@ -1,16 +0,0 @@
|
|||||||
{
|
|
||||||
config,
|
|
||||||
lib,
|
|
||||||
pkgs,
|
|
||||||
...
|
|
||||||
}:
|
|
||||||
with lib; {
|
|
||||||
options.elss.programs.emacs.enable = mkEnableOption "Setup emacs package and install it";
|
|
||||||
config = mkIf config.elss.programs.emacs.enable {
|
|
||||||
services.emacs = {
|
|
||||||
enable = true;
|
|
||||||
defaultEditor = true;
|
|
||||||
package = pkgs.emacs;
|
|
||||||
};
|
|
||||||
};
|
|
||||||
}
|
|
||||||
@ -89,6 +89,8 @@
|
|||||||
:bind (:map projectile-mode-map
|
:bind (:map projectile-mode-map
|
||||||
("<remap> <projectile-rg>" . helm-projectile-rg))
|
("<remap> <projectile-rg>" . helm-projectile-rg))
|
||||||
:after (helm projectile))
|
:after (helm projectile))
|
||||||
|
(use-package helm-config
|
||||||
|
:ensure helm)
|
||||||
(use-package helm-flx)
|
(use-package helm-flx)
|
||||||
(use-package helm-bbdb)
|
(use-package helm-bbdb)
|
||||||
(use-package helm-descbinds)
|
(use-package helm-descbinds)
|
||||||
118
modules/emacs/default.nix
Normal file
118
modules/emacs/default.nix
Normal file
@ -0,0 +1,118 @@
|
|||||||
|
{
|
||||||
|
config,
|
||||||
|
lib,
|
||||||
|
pkgs,
|
||||||
|
...
|
||||||
|
}:
|
||||||
|
with lib; let
|
||||||
|
defaultEl = ./default.el;
|
||||||
|
environment.systemPackages = [pkgs.gdb]; # use gdb for dap-mode
|
||||||
|
localsettings = pkgs.writeText "local-settings.el" ''
|
||||||
|
(defconst elss/paths/cpptools "${pkgs.unstable.vscode-extensions.ms-vscode.cpptools}/share/vscode/extensions/ms-vscode.cpptools")
|
||||||
|
(defconst elss/paths/cpptools-program "${pkgs.unstable.vscode-extensions.ms-vscode.cpptools}/share/vscode/extensions/ms-vscode.cpptools/debugAdapters/bin/OpenDebugAD7")
|
||||||
|
(provide 'local-settings)
|
||||||
|
'';
|
||||||
|
|
||||||
|
defaultConfig = pkgs.runCommand "default.el" {} ''
|
||||||
|
mkdir -p $out/share/emacs/site-lisp
|
||||||
|
cp ${defaultEl} $out/share/emacs/site-lisp/default.el
|
||||||
|
cp ${localsettings} $out/share/emacs/site-lisp/local-settings.el
|
||||||
|
'';
|
||||||
|
emacsPackage = (pkgs.emacsPackagesFor pkgs.emacs).emacsWithPackages (epkgs: let
|
||||||
|
lpkgs = import ./packages.nix {inherit config lib pkgs epkgs;};
|
||||||
|
#[ (defaultConfig lpkgs) ] ++ (with pkgs; [
|
||||||
|
# aspell
|
||||||
|
# emacs-all-the-icons-fonts
|
||||||
|
# gnupg
|
||||||
|
# nixpkgs-fmt
|
||||||
|
#])
|
||||||
|
in
|
||||||
|
[defaultConfig]
|
||||||
|
++ [(with epkgs.elpaPackages; [auctex org flymake])]
|
||||||
|
++ (with epkgs.melpaStablePackages; [])
|
||||||
|
++ (with epkgs.melpaPackages;
|
||||||
|
[
|
||||||
|
ac-helm
|
||||||
|
academic-phrases
|
||||||
|
add-hooks
|
||||||
|
alert
|
||||||
|
all-the-icons
|
||||||
|
all-the-icons-dired
|
||||||
|
apheleia
|
||||||
|
beacon
|
||||||
|
bln-mode
|
||||||
|
cargo-mode
|
||||||
|
company
|
||||||
|
company-auctex
|
||||||
|
company-bibtex
|
||||||
|
company-flx
|
||||||
|
company-quickhelp
|
||||||
|
company-reftex
|
||||||
|
cov
|
||||||
|
dap-mode
|
||||||
|
diminish
|
||||||
|
direnv
|
||||||
|
dockerfile-mode
|
||||||
|
docker-compose-mode
|
||||||
|
flycheck
|
||||||
|
free-keys
|
||||||
|
haskell-mode
|
||||||
|
highlight-indentation
|
||||||
|
helm
|
||||||
|
#helm-bbdb
|
||||||
|
helm-company
|
||||||
|
helm-flx
|
||||||
|
helm-descbinds
|
||||||
|
helm-lsp
|
||||||
|
helm-projectile
|
||||||
|
helm-rg
|
||||||
|
json-mode
|
||||||
|
less-css-mode
|
||||||
|
lsp-haskell
|
||||||
|
lsp-mode
|
||||||
|
lsp-ui
|
||||||
|
magit
|
||||||
|
markdown-mode
|
||||||
|
moe-theme
|
||||||
|
multiple-cursors
|
||||||
|
nix-mode
|
||||||
|
nixpkgs-fmt
|
||||||
|
org-bullets
|
||||||
|
org-roam
|
||||||
|
#org-roam-server
|
||||||
|
pasp-mode
|
||||||
|
pdf-tools
|
||||||
|
projectile
|
||||||
|
projectile-ripgrep
|
||||||
|
rustic
|
||||||
|
spacemacs-theme
|
||||||
|
solarized-theme
|
||||||
|
sparql-mode
|
||||||
|
sudo-edit
|
||||||
|
use-package
|
||||||
|
#vscode-dark-plus-theme
|
||||||
|
yaml-mode
|
||||||
|
yasnippet
|
||||||
|
#zenburn-theme
|
||||||
|
]
|
||||||
|
++ (with lpkgs; [org-roam-ui ligatures lean4-mode])));
|
||||||
|
in {
|
||||||
|
options.elss.programs.emacs.enable =
|
||||||
|
mkEnableOption "Setup emacs package and install it";
|
||||||
|
config = mkIf config.elss.programs.emacs.enable {
|
||||||
|
services.emacs = {
|
||||||
|
enable = true;
|
||||||
|
defaultEditor = true;
|
||||||
|
package = emacsPackage;
|
||||||
|
};
|
||||||
|
};
|
||||||
|
#nixpkgs.overlays = [ (self: super: { emacsOrig = super.emacs; }) (import (builtins.fetchTarball {
|
||||||
|
# url = https://github.com/nix-community/emacs-overlay/archive/master.tar.gz;
|
||||||
|
#})) ];
|
||||||
|
|
||||||
|
#nixpkgs.overlays = [
|
||||||
|
# (import (builtins.fetchTarball {
|
||||||
|
# url = https://github.com/nix-community/emacs-overlay/archive/master.tar.gz;
|
||||||
|
# }))
|
||||||
|
#];
|
||||||
|
}
|
||||||
@ -1,4 +1,5 @@
|
|||||||
{
|
{
|
||||||
|
config,
|
||||||
lib,
|
lib,
|
||||||
pkgs,
|
pkgs,
|
||||||
epkgs,
|
epkgs,
|
||||||
@ -1,143 +0,0 @@
|
|||||||
{
|
|
||||||
lib,
|
|
||||||
pkgs,
|
|
||||||
...
|
|
||||||
}:
|
|
||||||
with lib; let
|
|
||||||
defaultEl = ./default.el;
|
|
||||||
#environment.systemPackages = [pkgs.gdb]; # use gdb for dap-mode
|
|
||||||
localsettings =
|
|
||||||
if pkgs.system == "x86_64-linux"
|
|
||||||
then
|
|
||||||
pkgs.writeText "local-settings.el" ''
|
|
||||||
(defconst elss/paths/cpptools " ${pkgs.unstable.vscode-extensions.ms-vscode.cpptools}/share/vscode/extensions/ms-vscode.cpptools")
|
|
||||||
(defconst elss/paths/cpptools-progr am "${pkgs.unstable.vscode-extensions.ms-vscode.cpptools}/share/vscode/extensions/ms-vscode.cpptools/debugAdapters/bin/OpenDebugAD7")
|
|
||||||
(provide 'local-settings)
|
|
||||||
''
|
|
||||||
else
|
|
||||||
pkgs.writeText "local-settings.el" ''
|
|
||||||
(provide 'local-settings)
|
|
||||||
'';
|
|
||||||
|
|
||||||
defaultConfig = pkgs.runCommand "default.el" {} ''
|
|
||||||
mkdir -p $out/share/emacs/site-lisp
|
|
||||||
cp ${defaultEl} $out/share/emacs/site-lisp/default.el
|
|
||||||
cp ${localsettings} $out/share/emacs/site-lisp/local-settings.el
|
|
||||||
'';
|
|
||||||
overrides = self: super: {
|
|
||||||
elpaPackages =
|
|
||||||
super.elpaPackages
|
|
||||||
// {
|
|
||||||
seq = self.callPackage ({
|
|
||||||
elpaBuild,
|
|
||||||
fetchurl,
|
|
||||||
lib,
|
|
||||||
}:
|
|
||||||
elpaBuild rec {
|
|
||||||
pname = "seq";
|
|
||||||
ename = "seq";
|
|
||||||
version = "2.24";
|
|
||||||
src = fetchurl {
|
|
||||||
url = "https://elpa.gnu.org/packages/seq-2.24.tar";
|
|
||||||
sha256 = "1w2cysad3qwnzdabhq9xipbslsjm528fcxkwnslhlkh8v07karml";
|
|
||||||
};
|
|
||||||
packageRequires = [];
|
|
||||||
meta = {
|
|
||||||
homepage = "https://elpa.gnu.org/packages/seq.html";
|
|
||||||
license = lib.licenses.free;
|
|
||||||
};
|
|
||||||
# tests take a _long_ time to byte-compile, skip them
|
|
||||||
postInstall = ''rm -r $out/share/emacs/site-lisp/elpa/${pname}-${version}/tests'';
|
|
||||||
}) {};
|
|
||||||
};
|
|
||||||
};
|
|
||||||
|
|
||||||
emacsPackage = (pkgs.emacsPackagesFor pkgs.emacs28).emacsWithPackages (epkgs: let
|
|
||||||
lpkgs = import ./packages.nix {inherit lib pkgs epkgs;};
|
|
||||||
#[ (defaultConfig lpkgs) ] ++ (with pkgs; [
|
|
||||||
# aspell
|
|
||||||
# emacs-all-the-icons-fonts
|
|
||||||
# gnupg
|
|
||||||
# nixpkgs-fmt
|
|
||||||
#])
|
|
||||||
in
|
|
||||||
[defaultConfig]
|
|
||||||
++ [(with epkgs.elpaPackages; [auctex org flymake seq])]
|
|
||||||
++ (with epkgs.melpaStablePackages; [])
|
|
||||||
++ (with epkgs.melpaPackages;
|
|
||||||
[
|
|
||||||
ac-helm
|
|
||||||
academic-phrases
|
|
||||||
add-hooks
|
|
||||||
alert
|
|
||||||
all-the-icons
|
|
||||||
all-the-icons-dired
|
|
||||||
apheleia
|
|
||||||
beacon
|
|
||||||
bln-mode
|
|
||||||
cargo-mode
|
|
||||||
company
|
|
||||||
company-auctex
|
|
||||||
company-bibtex
|
|
||||||
company-flx
|
|
||||||
company-quickhelp
|
|
||||||
company-reftex
|
|
||||||
cov
|
|
||||||
dap-mode
|
|
||||||
diminish
|
|
||||||
direnv
|
|
||||||
dockerfile-mode
|
|
||||||
docker-compose-mode
|
|
||||||
flycheck
|
|
||||||
free-keys
|
|
||||||
haskell-mode
|
|
||||||
highlight-indentation
|
|
||||||
helm
|
|
||||||
helm-bbdb
|
|
||||||
helm-company
|
|
||||||
helm-flx
|
|
||||||
helm-descbinds
|
|
||||||
helm-lsp
|
|
||||||
helm-projectile
|
|
||||||
helm-rg
|
|
||||||
json-mode
|
|
||||||
less-css-mode
|
|
||||||
lsp-haskell
|
|
||||||
lsp-mode
|
|
||||||
lsp-ui
|
|
||||||
magit
|
|
||||||
markdown-mode
|
|
||||||
moe-theme
|
|
||||||
multiple-cursors
|
|
||||||
nix-mode
|
|
||||||
nixpkgs-fmt
|
|
||||||
org-bullets
|
|
||||||
org-roam
|
|
||||||
#org-roam-server
|
|
||||||
pasp-mode
|
|
||||||
pdf-tools
|
|
||||||
projectile
|
|
||||||
projectile-ripgrep
|
|
||||||
rustic
|
|
||||||
spacemacs-theme
|
|
||||||
solarized-theme
|
|
||||||
sparql-mode
|
|
||||||
sudo-edit
|
|
||||||
use-package
|
|
||||||
#vscode-dark-plus-theme
|
|
||||||
yaml-mode
|
|
||||||
yasnippet
|
|
||||||
#zenburn-theme
|
|
||||||
]
|
|
||||||
++ (with lpkgs; [org-roam-ui ligatures lean4-mode])));
|
|
||||||
in
|
|
||||||
emacsPackage
|
|
||||||
#nixpkgs.overlays = [ (self: super: { emacsOrig = super.emacs; }) (import (builtins.fetchTarball {
|
|
||||||
# url = https://github.com/nix-community/emacs-overlay/archive/master.tar.gz;
|
|
||||||
#})) ];
|
|
||||||
#nixpkgs.overlays = [
|
|
||||||
# (import (builtins.fetchTarball {
|
|
||||||
# url = https://github.com/nix-community/emacs-overlay/archive/master.tar.gz;
|
|
||||||
# }))
|
|
||||||
#];
|
|
||||||
|
|
||||||
Loading…
x
Reference in New Issue
Block a user