Add and configure gram-editor
Add nix-gram-extensions for building extensions as derivations. Switch to own home-manager fork until wrapping of other editors is possible upstream.
This commit is contained in:
parent
4343a3d231
commit
9d2f9e9bba
4 changed files with 127 additions and 16 deletions
61
flake.lock
generated
61
flake.lock
generated
|
|
@ -169,6 +169,22 @@
|
||||||
"type": "github"
|
"type": "github"
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
|
"gram-extensions": {
|
||||||
|
"inputs": {
|
||||||
|
"nixpkgs": "nixpkgs"
|
||||||
|
},
|
||||||
|
"locked": {
|
||||||
|
"lastModified": 1784322176,
|
||||||
|
"narHash": "sha256-GbwlyCMD+nWBr2UPw1MLvqzPePX5jPIzW1D20zfNFCE=",
|
||||||
|
"rev": "294fb728adcc51987f6c63f8f2d27f602c46f915",
|
||||||
|
"type": "tarball",
|
||||||
|
"url": "https://codeberg.org/api/v1/repos/niklaskorz/nix-gram-extensions/archive/294fb728adcc51987f6c63f8f2d27f602c46f915.tar.gz"
|
||||||
|
},
|
||||||
|
"original": {
|
||||||
|
"type": "tarball",
|
||||||
|
"url": "https://codeberg.org/niklaskorz/nix-gram-extensions/archive/main.tar.gz"
|
||||||
|
}
|
||||||
|
},
|
||||||
"home-manager": {
|
"home-manager": {
|
||||||
"inputs": {
|
"inputs": {
|
||||||
"nixpkgs": [
|
"nixpkgs": [
|
||||||
|
|
@ -197,15 +213,15 @@
|
||||||
]
|
]
|
||||||
},
|
},
|
||||||
"locked": {
|
"locked": {
|
||||||
"lastModified": 1783740085,
|
"lastModified": 1784409593,
|
||||||
"narHash": "sha256-qajyHfZY29G2oEQk+uHxmsJcRoBUBXP9maTpFlwP/dI=",
|
"narHash": "sha256-PZ+Xc0Q2MRdR0Dsorwgc7Zi2ST++a8mOTvwewrn2hXw=",
|
||||||
"owner": "nix-community",
|
"owner": "JuliusFreudenberger",
|
||||||
"repo": "home-manager",
|
"repo": "home-manager",
|
||||||
"rev": "3cd22efe6471dc7365c822bd9ad73a21e55f38fb",
|
"rev": "8cc72ea0c4253217b3233db54c65e72848a5eaee",
|
||||||
"type": "github"
|
"type": "github"
|
||||||
},
|
},
|
||||||
"original": {
|
"original": {
|
||||||
"owner": "nix-community",
|
"owner": "JuliusFreudenberger",
|
||||||
"ref": "release-26.05",
|
"ref": "release-26.05",
|
||||||
"repo": "home-manager",
|
"repo": "home-manager",
|
||||||
"type": "github"
|
"type": "github"
|
||||||
|
|
@ -258,7 +274,7 @@
|
||||||
},
|
},
|
||||||
"nixos-hardware": {
|
"nixos-hardware": {
|
||||||
"inputs": {
|
"inputs": {
|
||||||
"nixpkgs": "nixpkgs"
|
"nixpkgs": "nixpkgs_2"
|
||||||
},
|
},
|
||||||
"locked": {
|
"locked": {
|
||||||
"lastModified": 1784100666,
|
"lastModified": 1784100666,
|
||||||
|
|
@ -277,15 +293,18 @@
|
||||||
},
|
},
|
||||||
"nixpkgs": {
|
"nixpkgs": {
|
||||||
"locked": {
|
"locked": {
|
||||||
"lastModified": 1767892417,
|
"lastModified": 1783503551,
|
||||||
"narHash": "sha256-8bW3q88CEg2u4hSP66Vf4lpbLonHz7hqDNBMcCY7E9U=",
|
"narHash": "sha256-bKMNrMZd/B56gE31iFABBHTbkzAptLy7G8G235yOv8Q=",
|
||||||
"rev": "3497aa5c9457a9d88d71fa93a4a8368816fbeeba",
|
"owner": "niklaskorz",
|
||||||
"type": "tarball",
|
"repo": "nixpkgs",
|
||||||
"url": "https://releases.nixos.org/nixos/unstable/nixos-26.05pre924538.3497aa5c9457/nixexprs.tar.xz"
|
"rev": "6da901a408ae91ee140bc8e94081d758f0a73126",
|
||||||
|
"type": "github"
|
||||||
},
|
},
|
||||||
"original": {
|
"original": {
|
||||||
"type": "tarball",
|
"owner": "niklaskorz",
|
||||||
"url": "https://channels.nixos.org/nixos-unstable/nixexprs.tar.xz"
|
"ref": "wasip2-rustc",
|
||||||
|
"repo": "nixpkgs",
|
||||||
|
"type": "github"
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
"nixpkgs-libvncserver": {
|
"nixpkgs-libvncserver": {
|
||||||
|
|
@ -353,6 +372,19 @@
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
"nixpkgs_2": {
|
"nixpkgs_2": {
|
||||||
|
"locked": {
|
||||||
|
"lastModified": 1767892417,
|
||||||
|
"narHash": "sha256-8bW3q88CEg2u4hSP66Vf4lpbLonHz7hqDNBMcCY7E9U=",
|
||||||
|
"rev": "3497aa5c9457a9d88d71fa93a4a8368816fbeeba",
|
||||||
|
"type": "tarball",
|
||||||
|
"url": "https://releases.nixos.org/nixos/unstable/nixos-26.05pre924538.3497aa5c9457/nixexprs.tar.xz"
|
||||||
|
},
|
||||||
|
"original": {
|
||||||
|
"type": "tarball",
|
||||||
|
"url": "https://channels.nixos.org/nixos-unstable/nixexprs.tar.xz"
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"nixpkgs_3": {
|
||||||
"locked": {
|
"locked": {
|
||||||
"lastModified": 1784160687,
|
"lastModified": 1784160687,
|
||||||
"narHash": "sha256-iYL/bixrb6FlHFu/gIuBYzq6c6lM5AAXsXNSWXtIgQc=",
|
"narHash": "sha256-iYL/bixrb6FlHFu/gIuBYzq6c6lM5AAXsXNSWXtIgQc=",
|
||||||
|
|
@ -441,11 +473,12 @@
|
||||||
"agenix": "agenix",
|
"agenix": "agenix",
|
||||||
"auto-cpufreq": "auto-cpufreq",
|
"auto-cpufreq": "auto-cpufreq",
|
||||||
"disko": "disko",
|
"disko": "disko",
|
||||||
|
"gram-extensions": "gram-extensions",
|
||||||
"home-manager": "home-manager_2",
|
"home-manager": "home-manager_2",
|
||||||
"lanzaboote": "lanzaboote",
|
"lanzaboote": "lanzaboote",
|
||||||
"lazy-apps": "lazy-apps",
|
"lazy-apps": "lazy-apps",
|
||||||
"nixos-hardware": "nixos-hardware",
|
"nixos-hardware": "nixos-hardware",
|
||||||
"nixpkgs": "nixpkgs_2",
|
"nixpkgs": "nixpkgs_3",
|
||||||
"nixpkgs-unstable": "nixpkgs-unstable",
|
"nixpkgs-unstable": "nixpkgs-unstable",
|
||||||
"proxmox-nixos": "proxmox-nixos",
|
"proxmox-nixos": "proxmox-nixos",
|
||||||
"secrets": "secrets",
|
"secrets": "secrets",
|
||||||
|
|
|
||||||
13
flake.nix
13
flake.nix
|
|
@ -15,7 +15,7 @@
|
||||||
nixpkgs.url = "github:nixos/nixpkgs/nixos-26.05";
|
nixpkgs.url = "github:nixos/nixpkgs/nixos-26.05";
|
||||||
nixos-hardware.url = "github:NixOS/nixos-hardware/master";
|
nixos-hardware.url = "github:NixOS/nixos-hardware/master";
|
||||||
home-manager = {
|
home-manager = {
|
||||||
url = "github:nix-community/home-manager/release-26.05";
|
url = "github:JuliusFreudenberger/home-manager/release-26.05";
|
||||||
inputs.nixpkgs.follows = "nixpkgs";
|
inputs.nixpkgs.follows = "nixpkgs";
|
||||||
};
|
};
|
||||||
auto-cpufreq = {
|
auto-cpufreq = {
|
||||||
|
|
@ -42,6 +42,10 @@
|
||||||
url = "github:nix-community/lanzaboote/v1.0.0";
|
url = "github:nix-community/lanzaboote/v1.0.0";
|
||||||
inputs.nixpkgs.follows = "nixpkgs";
|
inputs.nixpkgs.follows = "nixpkgs";
|
||||||
};
|
};
|
||||||
|
gram-extensions = {
|
||||||
|
url = "https://codeberg.org/niklaskorz/nix-gram-extensions/archive/main.tar.gz";
|
||||||
|
# inputs.nixpkgs.follows = "nixpkgs"; Not possible until https://github.com/NixOS/nixpkgs/pull/537433 reaches input nixpkgs
|
||||||
|
};
|
||||||
secrets = {
|
secrets = {
|
||||||
url = "git+ssh://git@git.jfreudenberger.de/JuliusFreudenberger/nix-private.git";
|
url = "git+ssh://git@git.jfreudenberger.de/JuliusFreudenberger/nix-private.git";
|
||||||
flake = false;
|
flake = false;
|
||||||
|
|
@ -60,6 +64,7 @@
|
||||||
agenix,
|
agenix,
|
||||||
disko,
|
disko,
|
||||||
lanzaboote,
|
lanzaboote,
|
||||||
|
gram-extensions,
|
||||||
systems,
|
systems,
|
||||||
...
|
...
|
||||||
} @ inputs: let
|
} @ inputs: let
|
||||||
|
|
@ -88,6 +93,12 @@
|
||||||
|
|
||||||
specialArgs = {
|
specialArgs = {
|
||||||
inherit inputs outputs username;
|
inherit inputs outputs username;
|
||||||
|
|
||||||
|
pkgs-unstable = import nixpkgs-unstable {
|
||||||
|
inherit system;
|
||||||
|
};
|
||||||
|
|
||||||
|
gram-extensions = gram-extensions.packages.${system};
|
||||||
};
|
};
|
||||||
|
|
||||||
modules = [
|
modules = [
|
||||||
|
|
|
||||||
65
home/gram.nix
Normal file
65
home/gram.nix
Normal file
|
|
@ -0,0 +1,65 @@
|
||||||
|
{
|
||||||
|
config,
|
||||||
|
lib,
|
||||||
|
pkgs,
|
||||||
|
pkgs-unstable,
|
||||||
|
gram-extensions,
|
||||||
|
...
|
||||||
|
}:
|
||||||
|
let
|
||||||
|
extensions = with gram-extensions; [
|
||||||
|
typst
|
||||||
|
git-firefly
|
||||||
|
];
|
||||||
|
extensions-dir = gram-extensions.linkGramExtensions extensions;
|
||||||
|
in {
|
||||||
|
programs.zed-editor = {
|
||||||
|
enable = true;
|
||||||
|
package = pkgs-unstable.gram;
|
||||||
|
extraPackages = [
|
||||||
|
pkgs.nil
|
||||||
|
pkgs.tinymist
|
||||||
|
pkgs.tofu-ls
|
||||||
|
pkgs.ltex-ls-plus
|
||||||
|
];
|
||||||
|
userSettings = {
|
||||||
|
theme = {
|
||||||
|
mode = "system";
|
||||||
|
dark = "One Dark";
|
||||||
|
light = "One Light";
|
||||||
|
};
|
||||||
|
hour_format = "hour24";
|
||||||
|
vim_mode = true;
|
||||||
|
load_direnv = "shell_hook";
|
||||||
|
|
||||||
|
lsp = {
|
||||||
|
tinymist = {
|
||||||
|
settings = {
|
||||||
|
exportPdf = "onSave";
|
||||||
|
outputPath = "$root/$name";
|
||||||
|
preview.background.enabled = true;
|
||||||
|
};
|
||||||
|
initialization_options = {
|
||||||
|
preview.background.enabled = true;
|
||||||
|
};
|
||||||
|
};
|
||||||
|
};
|
||||||
|
};
|
||||||
|
};
|
||||||
|
home.file."Library/Application Support/Gram/extensions/installed" = {
|
||||||
|
enable = pkgs.stdenv.hostPlatform.isDarwin;
|
||||||
|
source = extensions-dir;
|
||||||
|
onChange = ''
|
||||||
|
cd "Library/Application Support/Gram/extensions"
|
||||||
|
mv index.json index.json.backup
|
||||||
|
'';
|
||||||
|
};
|
||||||
|
xdg.dataFile."gram/extensions/installed" = {
|
||||||
|
enable = pkgs.stdenv.hostPlatform.isLinux;
|
||||||
|
source = extensions-dir;
|
||||||
|
onChange = ''
|
||||||
|
cd "${config.xdg.dataHome}/gram/extensions"
|
||||||
|
mv index.json index.json.backup
|
||||||
|
'';
|
||||||
|
};
|
||||||
|
}
|
||||||
|
|
@ -11,6 +11,8 @@
|
||||||
../../home/kanshi.nix
|
../../home/kanshi.nix
|
||||||
|
|
||||||
../../home/direnv
|
../../home/direnv
|
||||||
|
|
||||||
|
../../home/gram.nix
|
||||||
];
|
];
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
|
||||||
Loading…
Add table
Add a link
Reference in a new issue