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";
};
};
outputs = { self, nixpkgs, home-manager, hosts, ide, ... }:
let
system = "x86_64-linux";
@ -43,5 +42,6 @@
ivand = home.ivand;
vid = home.vid;
};
modules = modules;
};
}

View File

@ -3,16 +3,23 @@
inherit pkgs;
modules = [
./ivand
modules.programs
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 {
inherit pkgs;
modules = [
./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; };
dnscrypt = import ./dnscrypt;
packages = import ./packages { inherit pkgs; };
programs = import ./programs { inherit pkgs; };
nvim = import ./programs/neovim {
nvim = ide.homeManagerModules.${system}.nvim;
};
programs = import ./programs { inherit system pkgs ide; };
}

View File

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

View File

@ -1,53 +1,15 @@
{ pkgs, ... }:
let
lib = pkgs.lib;
in
{
imports = [ ./sway ./tmux.nix ./zsh.nix ./lf ];
{ system, pkgs, ide, ... }: {
programs = {
thunderbird = {
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;
};
nvim = import ./neovim {
nvim = ide.homeManagerModules.${system}.nvim;
};
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 = {
lf = {
enable = true;
extraConfig = builtins.readFile ./lfrc;
keybindings = {
D = "trash";
T = "touch";
M = "mkdir";
R = "mv";
};
{
programs.lf = {
enable = true;
extraConfig = builtins.readFile ./lfrc;
keybindings = {
D = "trash";
T = "touch";
M = "mkdir";
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, ... }: {
wayland = {
windowManager.sway = {
enable = true;
config = null;
extraConfig = builtins.readFile ./config;
};
{ pkgs, ... }: {
wayland.windowManager.sway = {
enable = true;
config = null;
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 = {
enable = true;
clock24 = true;