mirror of
https://github.com/harryssecret/homelab-nix.git
synced 2025-08-08 06:30:18 +02:00
Compare commits
2 commits
1251054fd6
...
dc4c8a81e1
Author | SHA1 | Date | |
---|---|---|---|
dc4c8a81e1 | |||
851eaf80ee |
8 changed files with 189 additions and 93 deletions
11
features/neovim/default.nix
Normal file
11
features/neovim/default.nix
Normal file
|
@ -0,0 +1,11 @@
|
||||||
|
{ self, ... }:
|
||||||
|
{
|
||||||
|
programs.nixvim = {
|
||||||
|
enable = true;
|
||||||
|
|
||||||
|
colorschemes.catppuccin = {
|
||||||
|
enable = true;
|
||||||
|
settings.flavour = "latte";
|
||||||
|
};
|
||||||
|
};
|
||||||
|
}
|
14
features/neovim/keys.nix
Normal file
14
features/neovim/keys.nix
Normal file
|
@ -0,0 +1,14 @@
|
||||||
|
{
|
||||||
|
lib,
|
||||||
|
config,
|
||||||
|
pkgs,
|
||||||
|
...
|
||||||
|
}:
|
||||||
|
{
|
||||||
|
programs.nixvim = {
|
||||||
|
enable = true;
|
||||||
|
keymaps = {
|
||||||
|
|
||||||
|
};
|
||||||
|
};
|
||||||
|
}
|
78
features/neovim/plugins.nix
Normal file
78
features/neovim/plugins.nix
Normal file
|
@ -0,0 +1,78 @@
|
||||||
|
{
|
||||||
|
lib,
|
||||||
|
config,
|
||||||
|
pkgs,
|
||||||
|
...
|
||||||
|
}:
|
||||||
|
{
|
||||||
|
programs.nixvim = {
|
||||||
|
plugins = {
|
||||||
|
lsp = {
|
||||||
|
enable = true;
|
||||||
|
servers = {
|
||||||
|
asm_lsp.enable = true;
|
||||||
|
gopls.enable = true;
|
||||||
|
java_language_server.enable = true;
|
||||||
|
rust-analyzer.enable = true;
|
||||||
|
};
|
||||||
|
};
|
||||||
|
|
||||||
|
nvim-cmp = {
|
||||||
|
enable = true;
|
||||||
|
autoEnableSources = true;
|
||||||
|
sources = [
|
||||||
|
{ name = "nvim_lsp"; }
|
||||||
|
{ name = "path"; }
|
||||||
|
{ name = "buffer"; }
|
||||||
|
|
||||||
|
];
|
||||||
|
};
|
||||||
|
barbar.enable = true;
|
||||||
|
gitsigns.enable = true;
|
||||||
|
|
||||||
|
comment = {
|
||||||
|
enable = true;
|
||||||
|
};
|
||||||
|
|
||||||
|
treesitter = {
|
||||||
|
enable = true;
|
||||||
|
};
|
||||||
|
|
||||||
|
web-devicons = {
|
||||||
|
enable = true;
|
||||||
|
};
|
||||||
|
|
||||||
|
emmet = {
|
||||||
|
enable = true;
|
||||||
|
};
|
||||||
|
|
||||||
|
nvim-autopairs = {
|
||||||
|
enable = true;
|
||||||
|
};
|
||||||
|
|
||||||
|
presence-nvim = {
|
||||||
|
enable = true;
|
||||||
|
};
|
||||||
|
|
||||||
|
chadtree = {
|
||||||
|
enable = true;
|
||||||
|
};
|
||||||
|
|
||||||
|
fzf-lua = {
|
||||||
|
enable = true;
|
||||||
|
};
|
||||||
|
|
||||||
|
notify = true;
|
||||||
|
|
||||||
|
neotest = {
|
||||||
|
enable = true;
|
||||||
|
adapters = {
|
||||||
|
rust.enable = true;
|
||||||
|
python.enable = true;
|
||||||
|
java.enable = true;
|
||||||
|
go.enable = true;
|
||||||
|
};
|
||||||
|
};
|
||||||
|
};
|
||||||
|
};
|
||||||
|
}
|
7
flake.lock
generated
7
flake.lock
generated
|
@ -252,16 +252,15 @@
|
||||||
]
|
]
|
||||||
},
|
},
|
||||||
"locked": {
|
"locked": {
|
||||||
"lastModified": 1739757849,
|
"lastModified": 1740845322,
|
||||||
"narHash": "sha256-Gs076ot1YuAAsYVcyidLKUMIc4ooOaRGO0PqTY7sBzA=",
|
"narHash": "sha256-AXEgFj3C0YJhu9k1OhbRhiA6FnDr81dQZ65U3DhaWpw=",
|
||||||
"owner": "nix-community",
|
"owner": "nix-community",
|
||||||
"repo": "home-manager",
|
"repo": "home-manager",
|
||||||
"rev": "9d3d080aec2a35e05a15cedd281c2384767c2cfe",
|
"rev": "fcac3d6d88302a5e64f6cb8014ac785e08874c8d",
|
||||||
"type": "github"
|
"type": "github"
|
||||||
},
|
},
|
||||||
"original": {
|
"original": {
|
||||||
"owner": "nix-community",
|
"owner": "nix-community",
|
||||||
"ref": "release-24.11",
|
|
||||||
"repo": "home-manager",
|
"repo": "home-manager",
|
||||||
"type": "github"
|
"type": "github"
|
||||||
}
|
}
|
||||||
|
|
44
flake.nix
44
flake.nix
|
@ -7,7 +7,7 @@
|
||||||
nixpkgsUnstable.url = "github:NixOS/nixpkgs/nixos-unstable";
|
nixpkgsUnstable.url = "github:NixOS/nixpkgs/nixos-unstable";
|
||||||
sops-nix.url = "github:Mic92/sops-nix";
|
sops-nix.url = "github:Mic92/sops-nix";
|
||||||
|
|
||||||
home-manager.url = "github:nix-community/home-manager/release-24.11";
|
home-manager.url = "github:nix-community/home-manager/";
|
||||||
home-manager.inputs.nixpkgs.follows = "nixpkgs";
|
home-manager.inputs.nixpkgs.follows = "nixpkgs";
|
||||||
|
|
||||||
alejandra.url = "github:kamadorueda/alejandra/3.0.0";
|
alejandra.url = "github:kamadorueda/alejandra/3.0.0";
|
||||||
|
@ -25,13 +25,13 @@
|
||||||
|
|
||||||
nix-darwin.url = "github:LnL7/nix-darwin";
|
nix-darwin.url = "github:LnL7/nix-darwin";
|
||||||
nix-darwin.inputs.nixpkgs.follows = "nixpkgs";
|
nix-darwin.inputs.nixpkgs.follows = "nixpkgs";
|
||||||
anyrun = {
|
|
||||||
url = "github:anyrun-org/anyrun";
|
|
||||||
inputs.nixpkgs.follows = "nixpkgs";
|
|
||||||
};
|
|
||||||
|
|
||||||
nix-flatpak.url = "github:gmodena/nix-flatpak/?ref=v0.4.1";
|
nix-flatpak.url = "github:gmodena/nix-flatpak/?ref=v0.4.1";
|
||||||
neovim-nightly-overlay.url = "github:nix-community/neovim-nightly-overlay";
|
neovim-nightly-overlay.url = "github:nix-community/neovim-nightly-overlay";
|
||||||
|
inputs.nixvim = {
|
||||||
|
url = "github:nix-community/nixvim";
|
||||||
|
inputs.nixpkgs.follows = "nixpkgs";
|
||||||
|
};
|
||||||
};
|
};
|
||||||
|
|
||||||
outputs =
|
outputs =
|
||||||
|
@ -39,12 +39,13 @@
|
||||||
self,
|
self,
|
||||||
nixpkgs,
|
nixpkgs,
|
||||||
nixpkgsSmall,
|
nixpkgsSmall,
|
||||||
|
nixpkgsUnstable,
|
||||||
sops-nix,
|
sops-nix,
|
||||||
nixos-generators,
|
nixos-generators,
|
||||||
nix-darwin,
|
nix-darwin,
|
||||||
nix-flatpak,
|
nix-flatpak,
|
||||||
anyrun,
|
|
||||||
home-manager,
|
home-manager,
|
||||||
|
nixvim,
|
||||||
...
|
...
|
||||||
}@inputs:
|
}@inputs:
|
||||||
let
|
let
|
||||||
|
@ -58,7 +59,7 @@
|
||||||
};
|
};
|
||||||
|
|
||||||
system = "x86_64-linux";
|
system = "x86_64-linux";
|
||||||
pkgs = import nixpkgs {inherit system;};
|
pkgs = import nixpkgs { inherit system; };
|
||||||
in
|
in
|
||||||
{
|
{
|
||||||
nixosConfigurations = {
|
nixosConfigurations = {
|
||||||
|
@ -80,22 +81,22 @@
|
||||||
];
|
];
|
||||||
};
|
};
|
||||||
|
|
||||||
goober = nixpkgs.lib.nixosSystem {
|
goober = nixpkgsUnstable.lib.nixosSystem {
|
||||||
system = "x86_64-linux";
|
system = "x86_64-linux";
|
||||||
specialArgs = specialArgs;
|
specialArgs = specialArgs;
|
||||||
modules = [
|
modules = [
|
||||||
./hosts/goober/configuration.nix
|
./hosts/goober/configuration.nix
|
||||||
nix-flatpak.nixosModules.nix-flatpak
|
nix-flatpak.nixosModules.nix-flatpak
|
||||||
|
home-manager.nixosModules.home-manager
|
||||||
{environment.systemPackages = [ anyrun.packages."x86_64-linux".anyrun ];}
|
{
|
||||||
|
|
||||||
home-manager.nixosModules.home-manager {
|
|
||||||
home-manager.useGlobalPkgs = true;
|
home-manager.useGlobalPkgs = true;
|
||||||
home-manager.useUserPackages = true;
|
home-manager.useUserPackages = true;
|
||||||
home-manager.users.${username} = import ./home-manager/home.nix;
|
home-manager.users.${username} = import ./home-manager/home.nix;
|
||||||
|
|
||||||
home-manager.extraSpecialArgs = {inherit inputs;};
|
home-manager.extraSpecialArgs = { inherit inputs; };
|
||||||
}
|
}
|
||||||
|
|
||||||
|
nixvim.homeManagerModules.nixvim
|
||||||
];
|
];
|
||||||
};
|
};
|
||||||
|
|
||||||
|
@ -152,17 +153,18 @@
|
||||||
};
|
};
|
||||||
};
|
};
|
||||||
|
|
||||||
darwinConfigurations."iMac-de-Eddie" = nix-darwin.lib.darwinSystem {
|
darwinConfigurations."iMac-de-Eddie" = nix-darwin.lib.darwinSystem {
|
||||||
modules = [ ./hosts/dadarwin/configuration.nix
|
modules = [
|
||||||
|
./hosts/dadarwin/configuration.nix
|
||||||
|
|
||||||
{system.configurationRevision = self.rev or self.dirtyRev or null;}
|
{ system.configurationRevision = self.rev or self.dirtyRev or null; }
|
||||||
];
|
];
|
||||||
};
|
};
|
||||||
|
|
||||||
# Expose the package set, including overlays, for convenience.
|
# Expose the package set, including overlays, for convenience.
|
||||||
darwinPackages = self.darwinConfigurations."iMac-de-Eddie".pkgs;
|
darwinPackages = self.darwinConfigurations."iMac-de-Eddie".pkgs;
|
||||||
|
|
||||||
packages.miku-cursor-linux = pkgs.callPackage ./packages/miku-cursor.nix {};
|
packages.miku-cursor-linux = pkgs.callPackage ./packages/miku-cursor.nix { };
|
||||||
};
|
};
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
|
@ -30,72 +30,71 @@
|
||||||
|
|
||||||
# The home.packages option allows you to install Nix packages into your
|
# The home.packages option allows you to install Nix packages into your
|
||||||
# environment.
|
# environment.
|
||||||
home.packages = [
|
home.packages = with pkgs; [
|
||||||
# # Adds the 'hello' command to your environment. It prints a friendly
|
# # Adds the 'hello' command to your environment. It prints a friendly
|
||||||
# # "Hello, world!" when run.
|
# # "Hello, world!" when run.
|
||||||
# pkgs.hello
|
# pkgs.hello
|
||||||
|
|
||||||
# # It is sometimes useful to fine-tune packages, for example, by applying
|
nerd-fonts.code-new-roman
|
||||||
# # overrides. You can do that directly here, just don't forget the
|
|
||||||
# # parentheses. Maybe you want to install Nerd Fonts with a limited number of
|
|
||||||
# # fonts?
|
|
||||||
(pkgs.nerdfonts.override { fonts = [ "CodeNewRoman" ]; })
|
|
||||||
|
|
||||||
pkgs.dm-sans
|
dm-sans
|
||||||
pkgs.zoxide
|
zoxide
|
||||||
pkgs.btop
|
btop
|
||||||
#pkgs.bitwarden
|
#pkgs.bitwarden
|
||||||
pkgs.weechat
|
weechat
|
||||||
pkgs.eclipses.eclipse-java # school wants us to use it...
|
eclipses.eclipse-java # school wants us to use it...
|
||||||
pkgs.cava
|
cava
|
||||||
pkgs.hyfetch
|
hyfetch
|
||||||
pkgs.kittysay
|
kittysay
|
||||||
pkgs.nextcloud-client
|
nextcloud-client
|
||||||
pkgs.thunderbird-bin
|
thunderbird-bin
|
||||||
pkgs.feh
|
feh
|
||||||
pkgs.waybar
|
waybar
|
||||||
pkgs.p7zip
|
p7zip
|
||||||
|
|
||||||
pkgs.playerctl
|
playerctl
|
||||||
pkgs.wf-recorder
|
wf-recorder
|
||||||
|
|
||||||
pkgs.file
|
file
|
||||||
pkgs.osu-lazer-bin
|
osu-lazer-bin
|
||||||
|
|
||||||
pkgs.qbittorrent
|
qbittorrent
|
||||||
|
|
||||||
pkgs.i2pd
|
i2pd
|
||||||
|
|
||||||
pkgs.ripgrep
|
ripgrep
|
||||||
pkgs.vscode
|
vscode
|
||||||
|
|
||||||
pkgs.zathura
|
zathura
|
||||||
pkgs.tor-browser
|
tor-browser
|
||||||
|
|
||||||
pkgs.gammastep
|
gammastep
|
||||||
pkgs.lazygit
|
lazygit
|
||||||
pkgs.xfce.thunar
|
xfce.thunar
|
||||||
pkgs.gimp-with-plugins
|
gimp-with-plugins
|
||||||
pkgs.fzf
|
fzf
|
||||||
pkgs.lf
|
lf
|
||||||
pkgs.why3
|
why3
|
||||||
pkgs.alt-ergo
|
alt-ergo
|
||||||
pkgs.cvc4
|
cvc4
|
||||||
pkgs.z3
|
z3
|
||||||
pkgs.prismlauncher
|
prismlauncher
|
||||||
|
|
||||||
pkgs.audacious
|
audacious
|
||||||
pkgs.audacious-plugins
|
audacious-plugins
|
||||||
|
|
||||||
pkgs.krita
|
krita
|
||||||
pkgs.udiskie
|
udiskie
|
||||||
|
|
||||||
pkgs.libsixel
|
libsixel
|
||||||
pkgs.walker
|
walker
|
||||||
pkgs.unzip
|
unzip
|
||||||
pkgs.p7zip
|
p7zip
|
||||||
|
|
||||||
pkgs.nixfmt-rfc-style
|
nixfmt-rfc-style
|
||||||
|
signal-desktop
|
||||||
|
gajim
|
||||||
|
blender
|
||||||
# # You can also create simple shell scripts directly inside your
|
# # You can also create simple shell scripts directly inside your
|
||||||
# # configuration. For example, this adds a command 'my-hello' to your
|
# # configuration. For example, this adds a command 'my-hello' to your
|
||||||
# # environment:
|
# # environment:
|
||||||
|
|
|
@ -17,7 +17,6 @@
|
||||||
../../features/client/tailscale.nix
|
../../features/client/tailscale.nix
|
||||||
../../features/client/sway.nix
|
../../features/client/sway.nix
|
||||||
./features/default.nix
|
./features/default.nix
|
||||||
./overlays/foot-overlay.nix
|
|
||||||
];
|
];
|
||||||
|
|
||||||
nixpkgs.config.allowUnfree = true;
|
nixpkgs.config.allowUnfree = true;
|
||||||
|
|
|
@ -1,19 +1,13 @@
|
||||||
{ config, lib, pkgs, ... }:
|
final: prev: {
|
||||||
{
|
foot-next = pkgs.foot.overrideAttrs (oldAttrs: rec {
|
||||||
let foot-next = pkgs.foot.overrideAttrs (oldAttrs: rec {
|
|
||||||
inherit (oldAttrs) name;
|
inherit (oldAttrs) name;
|
||||||
version = "1.20.2";
|
version = "1.20.2";
|
||||||
src = pkgs.fetchFromGitea {
|
src = pkgs.fetchFromGitea {
|
||||||
domain = "codeberg.org";
|
domain = "codeberg.org";
|
||||||
owner = "dnkl";
|
owner = "dnkl";
|
||||||
repo = "foot";
|
repo = "foot";
|
||||||
rev = version;
|
rev = version;
|
||||||
hash = "sha256-tnBoRRKHcuvBSnqvJ/772UWuepvpUiSg6t+gx4MZ0VQ=";
|
hash = "sha256-tnBoRRKHcuvBSnqvJ/772UWuepvpUiSg6t+gx4MZ0VQ=";
|
||||||
};
|
};
|
||||||
}) in
|
});
|
||||||
nixpkgs.overlays = [(
|
|
||||||
final: previous: {
|
|
||||||
foot = foot-next;
|
|
||||||
}
|
|
||||||
)];
|
|
||||||
}
|
}
|
Loading…
Add table
Add a link
Reference in a new issue