trying to install
This commit is contained in:
parent
58d5677045
commit
34a623bb4a
|
@ -115,8 +115,8 @@
|
||||||
/* set host specific properties here */
|
/* set host specific properties here */
|
||||||
NixOS = { };
|
NixOS = { };
|
||||||
curve = {
|
curve = {
|
||||||
channelName = "latest";
|
channelName = "nixos";
|
||||||
modules = [ ]; # nixos-hardware.nixosModules.lenovo-thinkpad
|
#modules = [ ]; # nixos-hardware.nixosModules.lenovo-thinkpad
|
||||||
# Yubikey
|
# Yubikey
|
||||||
};
|
};
|
||||||
box = { };
|
box = { };
|
||||||
|
@ -130,6 +130,7 @@
|
||||||
base = [ core users.nixos users.root nvim ];
|
base = [ core users.nixos users.root nvim ];
|
||||||
sealight = [ base ]; # matrix rsshub backup wireguard
|
sealight = [ base ]; # matrix rsshub backup wireguard
|
||||||
mossnet = [ base ]; # shaarli wallabag nextcloud taskwarrior headphones
|
mossnet = [ base ]; # shaarli wallabag nextcloud taskwarrior headphones
|
||||||
|
curve = [ base desktop ];
|
||||||
};
|
};
|
||||||
};
|
};
|
||||||
};
|
};
|
||||||
|
@ -141,12 +142,12 @@
|
||||||
profiles = digga.lib.rakeLeaves ./users/profiles;
|
profiles = digga.lib.rakeLeaves ./users/profiles;
|
||||||
suites = with profiles; rec {
|
suites = with profiles; rec {
|
||||||
base = [ direnv git ];
|
base = [ direnv git ];
|
||||||
gui = [ base firefox desktop ]
|
gui = [ base firefox desktop ];
|
||||||
};
|
};
|
||||||
};
|
};
|
||||||
users = {
|
users = {
|
||||||
nixos = { suites, ... }: { imports = suites.base; };
|
nixos = { suites, ... }: { imports = suites.base; };
|
||||||
anish = { suites, ... }: { imports = suites.gui; };
|
curve = { suites, ... }: { imports = suites.gui; };
|
||||||
}; # digga.lib.importers.rakeLeaves ./users/hm;
|
}; # digga.lib.importers.rakeLeaves ./users/hm;
|
||||||
};
|
};
|
||||||
|
|
||||||
|
|
|
@ -0,0 +1,3 @@
|
||||||
|
{
|
||||||
|
|
||||||
|
}
|
|
@ -1,5 +1,5 @@
|
||||||
{
|
{
|
||||||
imports = [ ./curve-hardware-configuration ];
|
imports = [ ./hardware-configuration.nix ];
|
||||||
boot.loader.grub.enable = true;
|
boot.loader.grub.enable = true;
|
||||||
boot.loader.grub.version = 2;
|
boot.loader.grub.version = 2;
|
||||||
# Define on which hard drive you want to install Grub.
|
# Define on which hard drive you want to install Grub.
|
|
@ -4,6 +4,7 @@
|
||||||
profiles.core
|
profiles.core
|
||||||
profiles.users.anish
|
profiles.users.anish
|
||||||
profiles.hardware.curve # how else to deal with hardware?
|
profiles.hardware.curve # how else to deal with hardware?
|
||||||
suites.gui
|
|
||||||
];
|
];
|
||||||
|
|
||||||
|
bud.enable = true;
|
||||||
}
|
}
|
13
hosts/curve/default.nix
Normal file
13
hosts/curve/default.nix
Normal file
|
@ -0,0 +1,13 @@
|
||||||
|
{ profiles, suites, ... }:
|
||||||
|
{
|
||||||
|
imports = [
|
||||||
|
./configuration.nix
|
||||||
|
profiles.users.anish
|
||||||
|
] ++ suites.curve;
|
||||||
|
|
||||||
|
home-manager.users.anish = { suites, ... }: {
|
||||||
|
imports = suites.gui;
|
||||||
|
};
|
||||||
|
|
||||||
|
#bud.enable = true;
|
||||||
|
}
|
|
@ -0,0 +1,3 @@
|
||||||
|
{
|
||||||
|
|
||||||
|
}
|
|
@ -36,6 +36,7 @@
|
||||||
glow
|
glow
|
||||||
gitAndTools.gitFull
|
gitAndTools.gitFull
|
||||||
dig
|
dig
|
||||||
|
wpa_supplicant
|
||||||
#neovim defined in ./nvim.nix
|
#neovim defined in ./nvim.nix
|
||||||
#wofi
|
#wofi
|
||||||
#firefox
|
#firefox
|
||||||
|
|
43
profiles/desktop/default.nix
Normal file
43
profiles/desktop/default.nix
Normal file
|
@ -0,0 +1,43 @@
|
||||||
|
{ config, pkgs, ...}:
|
||||||
|
|
||||||
|
{
|
||||||
|
#imports = [ ./music.nix ]
|
||||||
|
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;
|
||||||
|
};
|
||||||
|
windowManager.bspwm.enable = true;
|
||||||
|
};
|
||||||
|
};
|
||||||
|
|
||||||
|
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"
|
||||||
|
'';
|
||||||
|
}
|
|
@ -1,70 +0,0 @@
|
||||||
{ pkgs, ...}:
|
|
||||||
|
|
||||||
{
|
|
||||||
environment.systemPackages = [
|
|
||||||
tidal
|
|
||||||
vcv-rack
|
|
||||||
supercollider
|
|
||||||
orca-c
|
|
||||||
carla
|
|
||||||
helm
|
|
||||||
lmms
|
|
||||||
sunvox
|
|
||||||
];
|
|
||||||
|
|
||||||
security.rtkit.enable = true;
|
|
||||||
services.pipewire = {
|
|
||||||
enable = true;
|
|
||||||
alsa.enable = true;
|
|
||||||
alsa.support32Bit = true;
|
|
||||||
pulse.enable = false;
|
|
||||||
jack.enable = true;
|
|
||||||
# Low latency pipewire
|
|
||||||
# The best way to get everything working is to keep increasing the quant value until you get no crackles (underruns) or until you get audio again (in case there wasn't any). This won't guarantee the lowest possible latency, but will provide a decent one paired with stable audio.
|
|
||||||
config.pipewire = {
|
|
||||||
"context.properties" = {
|
|
||||||
"link.max-buffers" = 16;
|
|
||||||
"log.level" = 2;
|
|
||||||
"default.clock.rate" = 48000;
|
|
||||||
"default.clock.quantum" = 32;
|
|
||||||
"default.clock.min-quantum" = 32;
|
|
||||||
"default.clock.max-quantum" = 32;
|
|
||||||
"core.daemon" = true;
|
|
||||||
"core.name" = "pipewire-0";
|
|
||||||
};
|
|
||||||
"context.modules" = [
|
|
||||||
{
|
|
||||||
name = "libpipewire-module-rtkit";
|
|
||||||
args = {
|
|
||||||
"nice.level" = -15;
|
|
||||||
"rt.prio" = 88;
|
|
||||||
"rt.time.soft" = 200000;
|
|
||||||
"rt.time.hard" = 200000;
|
|
||||||
};
|
|
||||||
flags = [ "ifexists" "nofail" ];
|
|
||||||
}
|
|
||||||
|
|
||||||
{ name = "libpipewire-module-protocol-native"; }
|
|
||||||
{ name = "libpipewire-module-profiler"; }
|
|
||||||
{ name = "libpipewire-module-metadata"; }
|
|
||||||
{ name = "libpipewire-module-spa-device-factory"; }
|
|
||||||
{ name = "libpipewire-module-spa-node-factory"; }
|
|
||||||
{ name = "libpipewire-module-client-node"; }
|
|
||||||
{ name = "libpipewire-module-client-device"; }
|
|
||||||
|
|
||||||
{
|
|
||||||
name = "libpipewire-module-portal";
|
|
||||||
flags = [ "ifexists" "nofail" ];
|
|
||||||
}
|
|
||||||
{
|
|
||||||
name = "libpipewire-module-access";
|
|
||||||
args = {};
|
|
||||||
}
|
|
||||||
|
|
||||||
{ name = "libpipewire-module-adapter"; }
|
|
||||||
{ name = "libpipewire-module-link-factory"; }
|
|
||||||
{ name = "libpipewire-module-session-manager"; }
|
|
||||||
];
|
|
||||||
};
|
|
||||||
};
|
|
||||||
}
|
|
|
@ -89,7 +89,7 @@ in
|
||||||
taskwiki
|
taskwiki
|
||||||
vim-zettel
|
vim-zettel
|
||||||
#vimwiki-sync
|
#vimwiki-sync
|
||||||
telescope-nvim
|
#telescope-nvim
|
||||||
# Clojure stuff
|
# Clojure stuff
|
||||||
conjure
|
conjure
|
||||||
vim-sexp
|
vim-sexp
|
||||||
|
|
|
@ -1,17 +1,22 @@
|
||||||
{hmUsers, ...}:
|
{hmUsers, ...}:
|
||||||
|
|
||||||
{
|
{
|
||||||
home-manager.users = { inherit (hmUsers) anish; };
|
#home-manager.users = { inherit (hmUsers) anish; };
|
||||||
|
|
||||||
users.users.anish = {
|
users.users.anish = {
|
||||||
|
password = "SuperDuper";
|
||||||
description = "Personal user for Anish";
|
description = "Personal user for Anish";
|
||||||
isNormalUser = true;
|
isNormalUser = true;
|
||||||
extraGroups = [ "wheel" "audio" ];
|
extraGroups = [ "wheel" "audio" ];
|
||||||
};
|
};
|
||||||
|
|
||||||
programs.git
|
#home-manager.programs.git = {
|
||||||
userName = "Anish Lakhwara";
|
# userName = "Anish Lakhwara";
|
||||||
userEmail = "anish+git@lakhwara.com";
|
# userEmail = "anish+git@lakhwara.com";
|
||||||
delta.enable = true;
|
# delta.enable = true;
|
||||||
|
#};
|
||||||
|
|
||||||
|
home-manager.users.anish = { suites, ... }: {
|
||||||
|
imports = suites.gui;
|
||||||
};
|
};
|
||||||
}
|
}
|
||||||
|
|
|
@ -1,3 +1,5 @@
|
||||||
|
{pkgs, ...}:
|
||||||
|
|
||||||
{
|
{
|
||||||
# Enable bspwm and sxhkd
|
# Enable bspwm and sxhkd
|
||||||
xsession.windowManager.bspwm = {
|
xsession.windowManager.bspwm = {
|
||||||
|
@ -26,36 +28,37 @@
|
||||||
source "$file"
|
source "$file"
|
||||||
done
|
done
|
||||||
'';
|
'';
|
||||||
}
|
};
|
||||||
services.sxhkd.enable = true;
|
services.sxhkd.enable = true;
|
||||||
|
|
||||||
# Add gtk theme for Dracular and Paper
|
# Add gtk theme for Dracular and Paper
|
||||||
# Set wallpaper
|
# Set wallpaper
|
||||||
|
|
||||||
# Install themes
|
# Install themes
|
||||||
user.packages = with pkgs; [
|
# More nixOS Config
|
||||||
unstable.dracula-theme
|
#packages = with pkgs; [
|
||||||
paper-icon-theme
|
# dracula-theme
|
||||||
];
|
# paper-icon-theme
|
||||||
|
#];
|
||||||
|
|
||||||
# Font stuff
|
# Font stuff
|
||||||
fonts = {
|
#fonts = {
|
||||||
fonts = with pkgs; [
|
# fonts = with pkgs; [
|
||||||
fire-code
|
# fire-code
|
||||||
hermit
|
# hermit
|
||||||
hack
|
# hack
|
||||||
fire-code-symbols
|
# fire-code-symbols
|
||||||
siji
|
# siji
|
||||||
font-awesome-ttf
|
# font-awesome-ttf
|
||||||
];
|
# ];
|
||||||
fontconfig.defaultFonts = {
|
# fontconfig.defaultFonts = {
|
||||||
sansSerif = ["Hermit"];
|
# sansSerif = ["Hermit"];
|
||||||
monospace = ["Hermit"];
|
# monospace = ["Hermit"];
|
||||||
};
|
# };
|
||||||
};
|
#};
|
||||||
|
|
||||||
# Move required config files around
|
# Move required config files around
|
||||||
home.configFile = {
|
home.file = {
|
||||||
"bspwm/rc.d/polybar".source = ./run.sh;
|
"bspwm/rc.d/polybar".source = ./run.sh;
|
||||||
"sxhkdrc".source = ./sxhkdrc;
|
"sxhkdrc".source = ./sxhkdrc;
|
||||||
"rofi/theme" = {
|
"rofi/theme" = {
|
||||||
|
@ -70,12 +73,13 @@
|
||||||
};
|
};
|
||||||
|
|
||||||
# Login screen
|
# Login screen
|
||||||
services.xserver.displayManager.lightdm.greeters.mini.extraConfig = ''
|
# not a home-manager variable, just nixOS one
|
||||||
text-color = "#ff79c6"
|
#services.xserver.displayManager.lightdm.greeters.mini.extraConfig = ''
|
||||||
password-background-color = "#1E2029"
|
# text-color = "#ff79c6"
|
||||||
window-color = "#181a23"
|
# password-background-color = "#1E2029"
|
||||||
border-color = "#181a23"
|
# window-color = "#181a23"
|
||||||
'';
|
# border-color = "#181a23"
|
||||||
|
# '';
|
||||||
|
|
||||||
# Compositor
|
# Compositor
|
||||||
services.picom = {
|
services.picom = {
|
||||||
|
@ -87,14 +91,14 @@
|
||||||
shadowOpacity = 0.22;
|
shadowOpacity = 0.22;
|
||||||
# activeOpacity = "1.00";
|
# activeOpacity = "1.00";
|
||||||
# inactiveOpacity = "0.92";
|
# inactiveOpacity = "0.92";
|
||||||
settings = {
|
extraOptions = ''
|
||||||
shadow-radius = 12;
|
shadow-radius = 12;
|
||||||
# blur-background = true;
|
# blur-background = true;
|
||||||
# blur-background-frame = true;
|
# blur-background-frame = true;
|
||||||
# blur-background-fixed = true;
|
# blur-background-fixed = true;
|
||||||
blur-kern = "7x7box";
|
blur-kern = "7x7box";
|
||||||
blur-strength = 320;
|
blur-strength = 320;
|
||||||
};
|
'';
|
||||||
};
|
};
|
||||||
|
|
||||||
programs.autorandr.enable = true;
|
programs.autorandr.enable = true;
|
||||||
|
|
|
@ -3,14 +3,14 @@
|
||||||
{
|
{
|
||||||
programs.browserpass.enable = true;
|
programs.browserpass.enable = true;
|
||||||
programs.browserpass.browsers = [ "firefox" ];
|
programs.browserpass.browsers = [ "firefox" ];
|
||||||
env.XDG_DEXSTOP_DIR = "$HOME/";
|
#env.XDG_DEXSTOP_DIR = "$HOME/";
|
||||||
programs.firefox.profiles.anish.userChrome = (builtins.readFile ./userChrome.css);
|
programs.firefox.profiles.anish.userChrome = (builtins.readFile ./userChrome.css);
|
||||||
programs.firefox.profiles.anish.settings = {
|
programs.firefox.profiles.anish.settings = {
|
||||||
"devtools.theme" = "dark";
|
"devtools.theme" = "dark";
|
||||||
# Enable userContent.css and userChrome.css for our theme modules
|
# Enable userContent.css and userChrome.css for our theme modules
|
||||||
"toolkit.legacyUserProfileCustomizations.stylesheets" = true;
|
"toolkit.legacyUserProfileCustomizations.stylesheets" = true;
|
||||||
# Stop creating ~/Downloads!
|
# Stop creating ~/Downloads!
|
||||||
"browser.download.dir" = "${config.user.home}/downloads";
|
"browser.download.dir" = "/home/anish/downloads"; # TODO Don't hardcode this!
|
||||||
# Don't use the built-in password manager; a nixos user is more likely
|
# Don't use the built-in password manager; a nixos user is more likely
|
||||||
# using an external one (you are using one, right?).
|
# using an external one (you are using one, right?).
|
||||||
#"signon.rememberSignons" = false;
|
#"signon.rememberSignons" = false;
|
||||||
|
@ -84,17 +84,18 @@
|
||||||
"datareporting.healthreport.service.enabled" = false;
|
"datareporting.healthreport.service.enabled" = false;
|
||||||
"datareporting.policy.dataSubmissionEnabled" = false;
|
"datareporting.policy.dataSubmissionEnabled" = false;
|
||||||
};
|
};
|
||||||
user.packages = with pkgs; [
|
# Override?
|
||||||
firefox-bin
|
#packages = with pkgs; [
|
||||||
(makeDesktopItem {
|
# firefox-bin
|
||||||
name = "firefox-private";
|
# (makeDesktopItem {
|
||||||
desktopName = "Firefox (Private)";
|
# name = "firefox-private";
|
||||||
genericName = "Open a private Firefox window";
|
# desktopName = "Firefox (Private)";
|
||||||
icon = "firefox";
|
# genericName = "Open a private Firefox window";
|
||||||
exec = "${firefox-bin}/bin/firefox --private-window";
|
# icon = "firefox";
|
||||||
categories = "Network";
|
# exec = "${firefox-bin}/bin/firefox --private-window";
|
||||||
})
|
# categories = "Network";
|
||||||
];
|
# })
|
||||||
|
# ];
|
||||||
home.file = let cfgPath = ".mozilla/firefox"; in {
|
home.file = let cfgPath = ".mozilla/firefox"; in {
|
||||||
"${cfgPath}/profiles.ini".text = ''
|
"${cfgPath}/profiles.ini".text = ''
|
||||||
[Profile0]
|
[Profile0]
|
||||||
|
@ -106,5 +107,5 @@
|
||||||
StartWithLastProfile=1
|
StartWithLastProfile=1
|
||||||
Version=2
|
Version=2
|
||||||
'';
|
'';
|
||||||
}
|
};
|
||||||
}
|
}
|
||||||
|
|
|
@ -1,11 +1,12 @@
|
||||||
{
|
{
|
||||||
|
home.file = {
|
||||||
|
"git/config".source = ./config;
|
||||||
|
"git/ignore".source = ./ignore;
|
||||||
|
"git/attributes".source = ./attributes;
|
||||||
|
};
|
||||||
|
|
||||||
programs.git = {
|
programs.git = {
|
||||||
enable = true;
|
enable = true;
|
||||||
home.configFile = {
|
|
||||||
"git/config".source = "./config";
|
|
||||||
"git/ignore".source = "./ignore";
|
|
||||||
"git/attributes".source = "./attributes";
|
|
||||||
};
|
|
||||||
|
|
||||||
extraConfig = {
|
extraConfig = {
|
||||||
pull.rebase = false;
|
pull.rebase = false;
|
||||||
|
|
Loading…
Reference in a new issue