trying to get deploy-rs working by cleaning things up

This commit is contained in:
Anish L 2022-04-21 11:54:57 +10:00
parent a90c9eae0c
commit 5e158f6540
13 changed files with 754 additions and 858 deletions

View file

@ -35,26 +35,6 @@
"type": "github"
}
},
"darwin": {
"inputs": {
"nixpkgs": [
"nixos"
]
},
"locked": {
"lastModified": 1645007752,
"narHash": "sha256-FQZMiVP/1vgR7x+TWonMf0NZczrZ4ZjhSTj3rM+kglY=",
"owner": "LnL7",
"repo": "nix-darwin",
"rev": "c944b5ee82a829ddf7fa6bd9300bc2fe3d005fa1",
"type": "github"
},
"original": {
"owner": "LnL7",
"repo": "nix-darwin",
"type": "github"
}
},
"deploy": {
"inputs": {
"flake-compat": "flake-compat",
@ -398,7 +378,6 @@
"root": {
"inputs": {
"agenix": "agenix",
"darwin": "darwin",
"deploy": "deploy",
"digga": "digga",
"home": "home",

View file

@ -19,9 +19,6 @@
home.url = "github:nix-community/home-manager/release-21.11";
home.inputs.nixpkgs.follows = "nixos";
darwin.url = "github:LnL7/nix-darwin";
darwin.inputs.nixpkgs.follows = "nixos";
deploy.url = "github:serokell/deploy-rs";
deploy.inputs.nixpkgs.follows = "nixos";
@ -52,6 +49,9 @@
digga.lib.mkFlake
{
inherit self inputs;
supportedSystems = [
"x86_64-linux"
];
channelsConfig = { allowUnfree = true; };
@ -97,7 +97,6 @@
imports = [ (digga.lib.importHosts ./hosts) ];
hosts = {
/* set host specific properties here */
NixOS = { };
curve = {
channelName = "nixos";
#modules = [ ]; # nixos-hardware.nixosModules.lenovo-thinkpad
@ -116,9 +115,10 @@
base = [ core users.root users.anish ]; # TODO make anish non gui
sealight = [ base ]; # matrix rsshub backup wireguard website
mossnet = [ base ]; # shaarli wallabag nextcloud taskwarrior headphones
home-manager = [ users.profiles.firefox users.profiles.desktop users.profiles.nvim ];
graphical = [ base home-manager bluetooth music sync wireguard wifi ];
curve = [ graphical users.profiles.email users.profiles.cal ];
cube = [ base ];
# home-manager = [ users.profiles.firefox users.profiles.desktop users.profiles.nvim ];
graphical = [ base bluetooth music sync wireguard wifi desktop ];
curve = [ graphical ];
work = [ base home-manager ];
};
};
@ -126,17 +126,18 @@
home = {
imports = [ (digga.lib.importExportableModules ./users/modules) ];
exportedModules = [ ];
# exportedModules = [ ];
# modules = [ ];
importables = rec {
profiles = digga.lib.rakeLeaves ./users/profiles;
suites = with profiles; rec {
hmBase = [ direnv git ];
gui = [ hmBase profiles.firefox profiles.desktop ];
hmBase = [ direnv git nvim ];
gui = [ hmBase firefox desktop email cal ];
};
};
users = {
nixos = { suites, ... }: { imports = suites.hmBase; };
curve = { suites, ... }: { imports = suites.gui; };
anish = { suites, ... }: { imports = suites.gui; };
}; # digga.lib.importers.rakeLeaves ./users/hm;
};
@ -144,18 +145,6 @@
homeConfigurations = digga.lib.mkHomeConfigurations self.nixosConfigurations;
deploy.nodes = digga.lib.mkDeployNodes self.nixosConfigurations
{
curve = {
profilesOrder = [ "system" "curve" ];
profiles.anish = {
user = "anish";
path = deploy.lib.x86_64-linux.activate.home-manager self.homeConfigurationsPortable.x86_64-linux.anish;
deploy.nodes = digga.lib.mkDeployNodes self.nixosConfigurations { };
};
};
};
# checks = builtins.mapAttrs (system: deployLib: deployLib.deployChecks self.deploy) deploy.lib;
}
;
}

View file

@ -1,12 +0,0 @@
{ suites, ... }:
{
### root password is empty by default ###
imports = suites.base;
boot.loader.systemd-boot.enable = true;
boot.loader.efi.canTouchEfiVariables = true;
networking.networkmanager.enable = true;
fileSystems."/" = { device = "/dev/disk/by-label/nixos"; };
}

View file

@ -1,3 +0,0 @@
{
}

View file

@ -10,7 +10,7 @@
# Use the GRUB 2 boot loader.
boot.loader.grub.enable = true;
boot.loader.grub.version = 2;
boot.loader.grub.device = "/dev/vda"; # or "nodev" for efi only
boot.loader.grub.devices = [ "/dev/vda" ]; # or "nodev" for efi only
networking.hostName = "cube"; # Define your hostname.

View file

@ -6,10 +6,6 @@
profiles.mossnet-hosts
] ++ suites.curve;
home-manager.users.anish = { self, suites, ... }: {
imports = [ ] ++ suites.hmBase;
};
fileSystems."/mnt/ftp" = {
device = "192.168.1.240:/home/ftp";
fsType = "nfs";

View file

@ -1,3 +0,0 @@
{
}

View file

@ -1,54 +1,182 @@
{ config, pkgs, ... }:
{ config, pkgs, lib, ... }:
let
dracula-gtk = pkgs.fetchFromGitHub {
owner = "dracula";
repo = "gtk";
rev = "502f212d83bc67e8f0499574546b99ec6c8e16f9";
sha256 = "1wx9nzq7cqyvpaq4j60bs8g7gh4jk8qg4016yi4c331l4iw1ymsa";
};
in
{
#imports = [ ./music.nix ]
#environment.systemPackages = with pkgs; [
# nheko
# newsflash
# sublime-music
# tdesktop
# obs-studio
#];
#environment.systemPackages = with pkgs; [
# lightdm
# dunst
# libnotify
# (polybar.override {
# pulseSupport = true;
# nlSupport = true;
# })
#];
#
#services = {
# picom.enable = true;
# #redshift.enable = true;
# xserver = {
# enable = true;
# displayManager = {
# defaultSession = "none+bspwm";
# lightdm.enable = true;
# lightdm.greeters.mini.enable = true;
# lightdm.greeters.mini.user = "anish"; # TODO hardcoded
# };
# windowManager.bspwm.enable = true;
# windowManager.bspwm.configFile = "/home/anish/.bspwm/bspwmrc";
# windowManager.bspwm.sxhkd.configFile = "/home/anish/sxhkdrc";
# #windowManager.default = "bspwm";
# };
#};
#
#systemd.user.services."dunst" = {
# enable = true;
# description = "";
# wantedBy = [ "default.target" ];
# serviceConfig.Restart = "always";
# serviceConfig.RestartSec = 2;
# serviceConfig.ExecStart = "${pkgs.dunst}/bin/dunst";
#};
#services.xserver.displayManager.lightdm.greeters.mini.extraConfig = ''
# text-color = "#ff79c6"
# password-background-color = "#1E2029"
# window-color = "#181a23"
# border-color = "#181a23"
#'';
# TODO modularize
#imports = [ ./xdg.nix ];
services = {
gnome.gnome-keyring.enable = true;
upower.enable = true;
dbus = {
enable = true;
packages = [ pkgs.gnome3.dconf ];
};
};
security.pam.services.sddm.enableGnomeKeyring = true;
environment.sessionVariables = rec {
XDG_CACHE_HOME = "\${HOME}/.cache";
XDG_CONFIG_HOME = "\${HOME}/.config";
XDG_BIN_HOME = "\${HOME}/.local/bin";
XDG_DATA_HOME = "\${HOME}/.local/share";
PATH = [
"\${XDG_BIN_HOME}"
];
};
nixpkgs.config.allowUnfreePredicate = pkg: builtins.elem (lib.getName pkg) [
"ripcord"
"vcv-rack"
];
environment.systemPackages = with pkgs; [
# TODO move somewhere meaningful
signal-desktop # bridge to sealight?
scrot
ripcord
feh
xkblayout-state
sublime-music
vcv-rack
zathura
calibre
nheko
mpv
scrot
newsflash
zeal
xclip
xdotool
rofi
rofimoji
obs-studio
lightdm
dunst
libnotify
(polybar.override {
pulseSupport = true;
nlSupport = true;
})
papirus-icon-theme
calendar-cli
wyrd
];
location.provider = "geoclue2";
services = {
redshift = {
enable = true;
temperature = {
day = 5500;
night = 3700;
};
};
xserver = {
enable = true;
layout = "us,dvorak";
desktopManager.wallpaper.mode = "fill";
displayManager = {
defaultSession = "none+bspwm";
sessionCommands = ''
${pkgs.xorg.xrdb}/bin/xrdb -merge <<EOF
#define blk #1F2430
#define bblk #F28779
#define red #A6CC70
#define bred #FFCC66
#define grn #5CCFE6
#define bgrn #F29E74
#define ylw #77A8D9
#define bylw #5C6773
#define blu #707A8C
#define bblu #F27983
#define mag #BAE67E
#define bmag #FFD580
#define cyn #73D0FF
#define bcyn #FFA759
#define wht #95E6CB
#define bwht #CBCCC6
#define bg blk
#define fg wht
*.foreground: fg
*.background: bg
*.cursorColor: mag
*.color0: blk
*.color8: bblk
*.color1: red
*.color9: bred
*.color2: grn
*.color10: bgrn
*.color3: ylw
*.color11: bylw
*.color4: blu
*.color12: bblu
*.color5: mag
*.color13: bmag
*.color6: cyn
*.color14: bcyn
*.color7: wht
*.color15: bwht
! greys
*.color234: #1E2029
*.color235: #282a36
*.color236: #373844
*.color237: #44475a
*.color239: #565761
*.color240: #6272a4
*.color241: #b6b6b2
EOF
# hotplug
connect() {
xrandr --output HDMI-2 --same-as eDP-1
}
disconnect() {
xrandr --output HDMI-2 --off
}
xrandr | grep "HDMI-2 connected" &>>/dev/null && connect || disconnect
'';
lightdm.enable = true;
lightdm.greeters.mini.enable = true;
lightdm.greeters.mini.user = "anish"; # TODO hardcoded
lightdm.background = "/etc/nixos/users/profiles/desktop/background.jpg";
lightdm.greeters.mini.extraConfig = ''
text-color = "#ff79c6"
password-background-color = "#1E2029"
window-color = "#181a23"
border-color = "#181a23"
active-monitor=1
'';
};
windowManager.bspwm.enable = true;
#windowManager.bspwm.configFile = "/home/anish/.bspwm/bspwmrc";
windowManager.bspwm.sxhkd.configFile = "/home/anish/.config/sxhkdrc";
};
};
fonts.fonts = with pkgs; [
fira-code
fira-code-symbols
hermit
#hack
siji
font-awesome-ttf
proggyfonts
(nerdfonts.override { fonts = [ "FiraCode" "DroidSansMono" "Iosevka" ]; })
];
}

View file

@ -1,9 +1,9 @@
{pkgs, config, ...}:
{ pkgs, config, age, ... }:
{
age.secrets.mossnet.file = "/etc/nixos/secrets/mossnet.age";
age.secrets.mossnet.owner = "anish";
home-manager.users.anish = {
#age.secrets.mossnet.file = "/etc/nixos/secrets/mossnet.age";
#age.secrets.mossnet.owner = "anish";
home.packages = with pkgs; [
khal
khard
@ -98,5 +98,4 @@
skip_unparsable = no
'';
};
};
}

View file

@ -8,186 +8,6 @@ let
};
in
{
# TODO modularize
#imports = [ ./xdg.nix ];
services = {
gnome.gnome-keyring.enable = true;
upower.enable = true;
dbus = {
enable = true;
packages = [ pkgs.gnome3.dconf ];
};
};
security.pam.services.sddm.enableGnomeKeyring = true;
home-manager.users.anish.xdg.enable = true; # This doesn't seem to do anything so we have below
home-manager.users.anish.xdg.configHome = "/home/anish/.config"; # TODO bad hard coded
home-manager.users.anish.xdg.configFile = {
"Kvantum/Dracula/Dracula.kvconfig".source = "${dracula-gtk}/kde/kvantum/Dracula-purple-solid/Dracula-purple-solid.kvconfig";
"Kvantum/Dracula/Dracula.svg".source = "${dracula-gtk}/kde/kvantum/Dracula-purple-solid/Dracula-purple-solid.svg";
"Kvantum/kvantum.kvconfig".text = "[General]\ntheme=Dracula";
};
environment.sessionVariables = rec {
XDG_CACHE_HOME = "\${HOME}/.cache";
XDG_CONFIG_HOME = "\${HOME}/.config";
XDG_BIN_HOME = "\${HOME}/.local/bin";
XDG_DATA_HOME = "\${HOME}/.local/share";
PATH = [
"\${XDG_BIN_HOME}"
];
};
nixpkgs.config.allowUnfreePredicate = pkg: builtins.elem (lib.getName pkg) [
"ripcord"
"vcv-rack"
];
environment.systemPackages = with pkgs; [
# TODO move somewhere meaningful
signal-desktop # bridge to sealight?
scrot
ripcord
feh
xkblayout-state
sublime-music
vcv-rack
zathura
calibre
nheko
mpv
scrot
newsflash
zeal
xclip
xdotool
rofi
rofimoji
obs-studio
lightdm
dunst
libnotify
(polybar.override {
pulseSupport = true;
nlSupport = true;
})
papirus-icon-theme
calendar-cli
wyrd
];
location.provider = "geoclue2";
services = {
redshift = {
enable = true;
temperature = {
day = 5500;
night = 3700;
};
};
xserver = {
enable = true;
layout = "us,dvorak";
desktopManager.wallpaper.mode = "fill";
displayManager = {
defaultSession = "none+bspwm";
sessionCommands = ''
${pkgs.xorg.xrdb}/bin/xrdb -merge <<EOF
#define blk #1F2430
#define bblk #F28779
#define red #A6CC70
#define bred #FFCC66
#define grn #5CCFE6
#define bgrn #F29E74
#define ylw #77A8D9
#define bylw #5C6773
#define blu #707A8C
#define bblu #F27983
#define mag #BAE67E
#define bmag #FFD580
#define cyn #73D0FF
#define bcyn #FFA759
#define wht #95E6CB
#define bwht #CBCCC6
#define bg blk
#define fg wht
*.foreground: fg
*.background: bg
*.cursorColor: mag
*.color0: blk
*.color8: bblk
*.color1: red
*.color9: bred
*.color2: grn
*.color10: bgrn
*.color3: ylw
*.color11: bylw
*.color4: blu
*.color12: bblu
*.color5: mag
*.color13: bmag
*.color6: cyn
*.color14: bcyn
*.color7: wht
*.color15: bwht
! greys
*.color234: #1E2029
*.color235: #282a36
*.color236: #373844
*.color237: #44475a
*.color239: #565761
*.color240: #6272a4
*.color241: #b6b6b2
EOF
# hotplug
connect() {
xrandr --output HDMI-2 --same-as eDP-1
}
disconnect() {
xrandr --output HDMI-2 --off
}
xrandr | grep "HDMI-2 connected" &>>/dev/null && connect || disconnect
'';
lightdm.enable = true;
lightdm.greeters.mini.enable = true;
lightdm.greeters.mini.user = "anish"; # TODO hardcoded
lightdm.background = "/etc/nixos/users/profiles/desktop/background.jpg";
lightdm.greeters.mini.extraConfig = ''
text-color = "#ff79c6"
password-background-color = "#1E2029"
window-color = "#181a23"
border-color = "#181a23"
active-monitor=1
'';
};
windowManager.bspwm.enable = true;
#windowManager.bspwm.configFile = "/home/anish/.bspwm/bspwmrc";
windowManager.bspwm.sxhkd.configFile = "/home/anish/.config/sxhkdrc";
};
};
fonts.fonts = with pkgs; [
fira-code
fira-code-symbols
hermit
#hack
siji
font-awesome-ttf
proggyfonts
(nerdfonts.override { fonts = [ "FiraCode" "DroidSansMono" "Iosevka" ]; })
];
home-manager.users.anish = {
xsession = {
enable = true;
pointerCursor = {
@ -241,6 +61,13 @@ in
};
# Move required config files around
xdg.enable = true; # This doesn't seem to do anything so we have below
xdg.configHome = "/home/anish/.config"; # TODO bad hardcode
xdg.configFile = {
"Kvantum/Dracula/Dracula.kvconfig".source = "${dracula-gtk}/kde/kvantum/Dracula-purple-solid/Dracula-purple-solid.kvconfig";
"Kvantum/Dracula/Dracula.svg".source = "${dracula-gtk}/kde/kvantum/Dracula-purple-solid/Dracula-purple-solid.svg";
"Kvantum/kvantum.kvconfig".text = "[General]\ntheme=Dracula";
};
home.file = {
".config/bspwm/rc.d/polybar".source = ./run.sh;
".config/bspwm/bspwmrc".source = ./bspwmrc;
@ -314,5 +141,4 @@ in
services.udiskie.automount = true;
services.mpris-proxy.enable = true; # bluetooth media control
};
}

View file

@ -1,9 +1,8 @@
{ pkgs, ... }:
{
age.secrets.fastmail.file = "/etc/nixos/secrets/fastmail.age";
age.secrets.fastmail.owner = "anish";
home-manager.users.anish = {
#age.secrets.fastmail.file = "/etc/nixos/secrets/fastmail.age";
#age.secrets.fastmail.owner = "anish";
services.mbsync = {
enable = true;
frequency = "*:0/30";
@ -291,5 +290,4 @@
};
};
};
};
}

View file

@ -1,7 +1,6 @@
{ pkgs, ... }:
{
home-manager.users.anish = {
programs.browserpass.enable = true;
programs.browserpass.browsers = [ "firefox" ];
#env.XDG_DEXSTOP_DIR = "$HOME/";
@ -99,7 +98,8 @@
})
];
home.file = let cfgPath = ".mozilla/firefox"; in {
home.file = let cfgPath = ".mozilla/firefox"; in
{
"${cfgPath}/profiles.ini".text = ''
[Profile0]
Name=default
@ -112,5 +112,4 @@
'';
"${cfgPath}/anish.default/chrome/userChrome.css".source = ./userChrome.css;
};
};
}

View file

@ -58,14 +58,14 @@ let
python-with-my-packages = pkgs.python3.withPackages my-python-packages;
in
{
environment.variables.EDITOR = "nvim";
environment.shellAliases = {
k = "cd ~/kitaab/vimwiki; vim -c :VimwikiIndex; cd $OLDPWD";
kz = "cd ~/kitaab/vimwiki; vim -c :VimwikiIndex -c :ZettelNew; cd $OLDPWD";
};
#environment.variables.EDITOR = "nvim";
#environment.shellAliases = {
# k = "cd ~/kitaab/vimwiki; vim -c :VimwikiIndex; cd $OLDPWD";
# kz = "cd ~/kitaab/vimwiki; vim -c :VimwikiIndex -c :ZettelNew; cd $OLDPWD";
#};
#environment.systemPackages = with customPlugins; [ tidal ];
home-manager.users.anish.programs.neovim = {
programs.neovim = {
enable = true;
extraConfig = ''