modular programs

This commit is contained in:
Ivan Dimitrov 2023-11-18 12:39:46 +02:00
parent a9976ba2b6
commit 95deda78ac
13 changed files with 83 additions and 78 deletions

View File

@ -14,7 +14,6 @@
inputs.nixpkgs.follows = "nixpkgs"; inputs.nixpkgs.follows = "nixpkgs";
}; };
}; };
outputs = { self, nixpkgs, home-manager, hosts, ide, ... }: outputs = { self, nixpkgs, home-manager, hosts, ide, ... }:
let let
system = "x86_64-linux"; system = "x86_64-linux";
@ -43,5 +42,6 @@
ivand = home.ivand; ivand = home.ivand;
vid = home.vid; vid = home.vid;
}; };
modules = modules;
}; };
} }

View File

@ -3,16 +3,23 @@
inherit pkgs; inherit pkgs;
modules = [ modules = [
./ivand ./ivand
modules.programs
modules.packages modules.packages
modules.nvim modules.programs.nvim
modules.programs.zsh
modules.programs.tmux
modules.programs.git
modules.programs.chromium
modules.programs.kitty
modules.programs.lf
modules.programs.obs-studio
modules.programs.sway
modules.programs.swaylock
]; ];
}; };
vid = home-manager.lib.homeManagerConfiguration { vid = home-manager.lib.homeManagerConfiguration {
inherit pkgs; inherit pkgs;
modules = [ modules = [
./home/vid ./home/vid
modules.programs
]; ];
}; };
} }

View File

@ -1,10 +1,7 @@
{ system, nixpkgs, pkgs, ide, my-overlay, ... }: { system, nixpkgs, pkgs, ide, ... }:
{ {
gaming = import ./gaming { inherit nixpkgs; }; gaming = import ./gaming { inherit nixpkgs; };
dnscrypt = import ./dnscrypt; dnscrypt = import ./dnscrypt;
packages = import ./packages { inherit pkgs; }; packages = import ./packages { inherit pkgs; };
programs = import ./programs { inherit pkgs; }; programs = import ./programs { inherit system pkgs ide; };
nvim = import ./programs/neovim {
nvim = ide.homeManagerModules.${system}.nvim;
};
} }

View File

@ -0,0 +1,6 @@
{ pkgs }: {
programs.chromium = {
enable = true;
package = pkgs.ungoogled-chromium;
};
}

View File

@ -1,53 +1,15 @@
{ pkgs, ... }: { system, pkgs, ide, ... }: {
let
lib = pkgs.lib;
in
{
imports = [ ./sway ./tmux.nix ./zsh.nix ./lf ];
programs = { nvim = import ./neovim {
thunderbird = { nvim = ide.homeManagerModules.${system}.nvim;
enable = true;
profiles = { ivan = { isDefault = true; }; };
};
chromium = {
enable = true;
package = pkgs.ungoogled-chromium;
};
swaylock = {
enable = true;
settings = {
color = "000000";
line-color = "ffffff";
show-failed-attempts = true;
};
};
obs-studio = {
enable = true;
plugins = with pkgs.obs-studio-plugins; [ wlrobs ];
};
kitty = {
enable = true;
settings = {
enable_tab_bar = false;
background_opacity = "0.96";
cursor_shape = "beam";
};
};
git = {
enable = true;
userName = "Ivan Dimitrov";
userEmail = "ivan@idimitrov.dev";
extraConfig = {
color.ui = "auto";
pull.rebase = true;
};
};
browserpass.enable = true;
newsboat = {
enable = true;
autoReload = true;
reloadTime = 1;
};
}; };
git = import ./git;
chromium = import ./chromium { inherit pkgs; };
kitty = import ./kitty;
lf = import ./lf;
obs-studio = import ./obs-studio { inherit pkgs; };
swaylock = import ./swaylock;
tmux = import ./tmux { inherit pkgs; };
zsh = import ./zsh { inherit pkgs; };
sway = import ./sway { inherit pkgs; };
} }

View File

@ -0,0 +1,11 @@
{
programs.git = {
enable = true;
userName = "Ivan Dimitrov";
userEmail = "ivan@idimitrov.dev";
extraConfig = {
color.ui = "auto";
pull.rebase = true;
};
};
}

View File

@ -0,0 +1,10 @@
{
programs.kitty = {
enable = true;
settings = {
enable_tab_bar = false;
background_opacity = "0.96";
cursor_shape = "beam";
};
};
}

View File

@ -1,14 +1,12 @@
{ pkgs, ... }: { {
programs = { programs.lf = {
lf = { enable = true;
enable = true; extraConfig = builtins.readFile ./lfrc;
extraConfig = builtins.readFile ./lfrc; keybindings = {
keybindings = { D = "trash";
D = "trash"; T = "touch";
T = "touch"; M = "mkdir";
M = "mkdir"; R = "mv";
R = "mv";
};
}; };
}; };
} }

View File

@ -0,0 +1,6 @@
{ pkgs }: {
programs.obs-studio = {
enable = true;
plugins = with pkgs.obs-studio-plugins; [ wlrobs ];
};
}

View File

@ -1,9 +1,7 @@
{ pkgs, lib, ... }: { { pkgs, ... }: {
wayland = { wayland.windowManager.sway = {
windowManager.sway = { enable = true;
enable = true; config = null;
config = null; extraConfig = builtins.readFile ./config;
extraConfig = builtins.readFile ./config;
};
}; };
} }

View File

@ -0,0 +1,10 @@
{
programs.swaylock = {
enable = true;
settings = {
color = "000000";
line-color = "ffffff";
show-failed-attempts = true;
};
};
}

View File

@ -1,4 +1,4 @@
{ pkgs, lib, ... }: { { pkgs, ... }: {
programs.tmux = { programs.tmux = {
enable = true; enable = true;
clock24 = true; clock24 = true;