added system configuration and Luakit.
This commit is contained in:
parent
57566b5b56
commit
f34797ae84
|
@ -9,6 +9,7 @@ let
|
||||||
}) {}).package;
|
}) {}).package;
|
||||||
in {
|
in {
|
||||||
nixpkgs.config.allowUnfree = true;
|
nixpkgs.config.allowUnfree = true;
|
||||||
|
news.display = "silent";
|
||||||
home = {
|
home = {
|
||||||
username = "lyla";
|
username = "lyla";
|
||||||
homeDirectory = "/home/lyla";
|
homeDirectory = "/home/lyla";
|
||||||
|
@ -16,18 +17,23 @@ in {
|
||||||
sessionVariables = {
|
sessionVariables = {
|
||||||
EDITOR = "kak";
|
EDITOR = "kak";
|
||||||
};
|
};
|
||||||
|
extraOutputsToInstall = [ "doc" ];
|
||||||
packages = with pkgs; [
|
packages = with pkgs; [
|
||||||
# CLI tools
|
# CLI tools
|
||||||
xclip neofetch
|
xclip neofetch
|
||||||
exa fd ripgrep
|
exa fd ripgrep
|
||||||
|
pandoc signify
|
||||||
# editor
|
# editor
|
||||||
kak-lsp parinfer-rust rnix-lsp
|
kak-lsp parinfer-rust rnix-lsp zig-master
|
||||||
# nix tools
|
# nix tools
|
||||||
nixfmt niv cargo2nix
|
nixfmt niv cargo2nix cachix
|
||||||
# gui
|
# gui
|
||||||
zoom-us libreoffice
|
zoom-us libreoffice
|
||||||
transmission-gtk
|
transmission-gtk luakit
|
||||||
];
|
];
|
||||||
|
file = {
|
||||||
|
".tmux.conf".source = ~/etc/tmux.conf;
|
||||||
|
};
|
||||||
};
|
};
|
||||||
|
|
||||||
programs = {
|
programs = {
|
||||||
|
@ -57,14 +63,10 @@ in {
|
||||||
kakoune = let
|
kakoune = let
|
||||||
lspFiletypes = [ "zig" "rust" "c" "cpp" "nix" ];
|
lspFiletypes = [ "zig" "rust" "c" "cpp" "nix" ];
|
||||||
tabSettings = [
|
tabSettings = [
|
||||||
{
|
{ filetype = [ "zig" "rust" "nix" ];
|
||||||
filetype = [ "zig" "rust" "nix" ];
|
tab = "expandtab"; }
|
||||||
tab = "expandtab";
|
{ filetype = [ "c" "cpp" ];
|
||||||
}
|
tab = "smarttab"; }
|
||||||
{
|
|
||||||
filetype = [ "c" "cpp" ];
|
|
||||||
tab = "smarttab";
|
|
||||||
}
|
|
||||||
];
|
];
|
||||||
in {
|
in {
|
||||||
enable = true;
|
enable = true;
|
||||||
|
@ -129,27 +131,10 @@ in {
|
||||||
};
|
};
|
||||||
extraConfig = ''
|
extraConfig = ''
|
||||||
add-highlighter global/ regex \b(TODO|FIXME|XXX|NOTE)\b 0:default+rb
|
add-highlighter global/ regex \b(TODO|FIXME|XXX|NOTE)\b 0:default+rb
|
||||||
|
|
||||||
# kak-lsp initialization
|
|
||||||
eval %sh{kak-lsp --kakoune -s $kak_session}
|
eval %sh{kak-lsp --kakoune -s $kak_session}
|
||||||
hook global WinSetOption filetype=(${builtins.concatStringsSep "|" lspFiletypes}) %{
|
hook global WinSetOption filetype=(${builtins.concatStringsSep "|" lspFiletypes}) %{
|
||||||
map buffer user l ': enter-user-mode lsp<ret>' -docstring 'LSP mode'
|
map buffer user l ': enter-user-mode lsp<ret>' -docstring 'LSP mode'
|
||||||
lsp-enable-window
|
lsp-enable-window
|
||||||
#hook window -group semantic-tokens BufReload .* lsp-semantic-tokens
|
|
||||||
#hook window -group semantic-tokens NormalIdle .* lsp-semantic-tokens
|
|
||||||
#hook window -group semantic-tokens InsertIdle .* lsp-semantic-tokens
|
|
||||||
#hook -once -always window WinSetOption filetype=.* %{
|
|
||||||
# remove-hooks window semantic-tokens
|
|
||||||
#}
|
|
||||||
}
|
|
||||||
define-command ide -params 0..1 %{
|
|
||||||
try %{ rename-session %arg{1} }
|
|
||||||
rename-client main
|
|
||||||
set-option global jumpclient main
|
|
||||||
new rename-client tools
|
|
||||||
set-option global toolsclient tools
|
|
||||||
new rename-client docs
|
|
||||||
set-option global docsclient docs
|
|
||||||
}
|
}
|
||||||
'';
|
'';
|
||||||
};
|
};
|
||||||
|
@ -162,7 +147,9 @@ in {
|
||||||
xdg = {
|
xdg = {
|
||||||
dataFile = {
|
dataFile = {
|
||||||
# compile ZLS and copy the binaries manually to ~/.local/share/zls
|
# compile ZLS and copy the binaries manually to ~/.local/share/zls
|
||||||
# TODO: get ZLS to compile with Nix.
|
# TODO: get ZLS to compile with Nix, this would allow shell environments
|
||||||
|
# using Zig as a dependency to use ZLS alongside it without cluttering the
|
||||||
|
# user environment.
|
||||||
"zls/zls.json".text = ''
|
"zls/zls.json".text = ''
|
||||||
{
|
{
|
||||||
"zig_lib_path": "${zig-master}/lib/zig/",
|
"zig_lib_path": "${zig-master}/lib/zig/",
|
||||||
|
@ -173,12 +160,10 @@ in {
|
||||||
}
|
}
|
||||||
'';
|
'';
|
||||||
};
|
};
|
||||||
|
|
||||||
configFile = {
|
configFile = {
|
||||||
"kak-lsp/kak-lsp.toml".source = ~/etc/kak-lsp.toml;
|
"kak-lsp/kak-lsp.toml".source = ~/etc/kak-lsp.toml;
|
||||||
"../.tmux.conf".source = ~/etc/tmux.conf;
|
"luakit/userconf.lua".source = ~/etc/luakit/userconf.lua;
|
||||||
};
|
};
|
||||||
|
|
||||||
userDirs = {
|
userDirs = {
|
||||||
enable = true;
|
enable = true;
|
||||||
desktop = "$HOME/usr";
|
desktop = "$HOME/usr";
|
||||||
|
|
|
@ -0,0 +1,158 @@
|
||||||
|
{ config, pkgs, ... }:
|
||||||
|
|
||||||
|
{
|
||||||
|
imports = [
|
||||||
|
<nixos-hardware/lenovo/thinkpad/t420>
|
||||||
|
<nixos-hardware/common/pc/ssd>
|
||||||
|
<musnix>
|
||||||
|
./hardware-configuration.nix
|
||||||
|
];
|
||||||
|
|
||||||
|
nix = {
|
||||||
|
trustedUsers = [ "root" "lyla" ];
|
||||||
|
allowedUsers = [ "root" "lyla" ];
|
||||||
|
gc = {
|
||||||
|
automatic = true;
|
||||||
|
dates = "weekly";
|
||||||
|
options = "--delete-older-than 30d";
|
||||||
|
};
|
||||||
|
};
|
||||||
|
nixpkgs.config = {
|
||||||
|
allowUnfree = true;
|
||||||
|
};
|
||||||
|
|
||||||
|
boot = {
|
||||||
|
loader.grub = {
|
||||||
|
enable = true;
|
||||||
|
version = 2;
|
||||||
|
device = "/dev/sda";
|
||||||
|
};
|
||||||
|
plymouth.enable = true;
|
||||||
|
cleanTmpDir = true;
|
||||||
|
};
|
||||||
|
|
||||||
|
security = {
|
||||||
|
sudo = {
|
||||||
|
enable = true;
|
||||||
|
wheelNeedsPassword = false;
|
||||||
|
};
|
||||||
|
};
|
||||||
|
|
||||||
|
networking = {
|
||||||
|
hostName = "crow";
|
||||||
|
networkmanager.enable = true;
|
||||||
|
};
|
||||||
|
|
||||||
|
i18n.defaultLocale = "en_US.UTF-8";
|
||||||
|
console = {
|
||||||
|
font = "Lat2-Terminus16";
|
||||||
|
keyMap = "la-latin1";
|
||||||
|
};
|
||||||
|
|
||||||
|
time.timeZone = "America/Santiago";
|
||||||
|
location = {
|
||||||
|
latitude = -29.909349;
|
||||||
|
longitude = -71.250038;
|
||||||
|
};
|
||||||
|
|
||||||
|
environment = {
|
||||||
|
homeBinInPath = true;
|
||||||
|
systemPackages = with pkgs; [
|
||||||
|
# CLI utils
|
||||||
|
wget usbutils
|
||||||
|
# audio
|
||||||
|
qjackctl
|
||||||
|
];
|
||||||
|
};
|
||||||
|
|
||||||
|
fonts = {
|
||||||
|
fonts = with pkgs; [
|
||||||
|
noto-fonts noto-fonts-cjk noto-fonts-emoji
|
||||||
|
inter mononoki tamzen
|
||||||
|
];
|
||||||
|
fontconfig = {
|
||||||
|
enable = true;
|
||||||
|
subpixel.rgba = "none";
|
||||||
|
defaultFonts = {
|
||||||
|
sansSerif = [ "Inter" "Noto Sans" ];
|
||||||
|
serif = [ "Noto Serif" ];
|
||||||
|
monospace = [ "mononoki" ];
|
||||||
|
};
|
||||||
|
};
|
||||||
|
};
|
||||||
|
|
||||||
|
sound.enable = true;
|
||||||
|
|
||||||
|
musnix = {
|
||||||
|
enable = true;
|
||||||
|
alsaSeq.enable = true;
|
||||||
|
kernel = {
|
||||||
|
optimize = true;
|
||||||
|
realtime = true;
|
||||||
|
packages = pkgs.linuxPackages_latest_rt;
|
||||||
|
};
|
||||||
|
das_watchdog.enable = true;
|
||||||
|
};
|
||||||
|
|
||||||
|
hardware = {
|
||||||
|
# enableAllFirmware = true;
|
||||||
|
bluetooth.enable = true;
|
||||||
|
pulseaudio = {
|
||||||
|
enable = true;
|
||||||
|
package = pkgs.pulseaudioFull;
|
||||||
|
};
|
||||||
|
opengl.enable = true;
|
||||||
|
};
|
||||||
|
|
||||||
|
programs = {
|
||||||
|
adb.enable = true;
|
||||||
|
tmux.enable = true;
|
||||||
|
slock.enable = true;
|
||||||
|
fish.enable = true;
|
||||||
|
};
|
||||||
|
|
||||||
|
services = {
|
||||||
|
blueman.enable = true;
|
||||||
|
jack = {
|
||||||
|
jackd.enable = true;
|
||||||
|
alsa.enable = true;
|
||||||
|
};
|
||||||
|
xserver = {
|
||||||
|
enable = true;
|
||||||
|
layout = "latam";
|
||||||
|
libinput.enable = true;
|
||||||
|
displayManager = {
|
||||||
|
autoLogin = {
|
||||||
|
enable = true;
|
||||||
|
user = "lyla";
|
||||||
|
};
|
||||||
|
lightdm = {
|
||||||
|
enable = true;
|
||||||
|
};
|
||||||
|
};
|
||||||
|
desktopManager.xfce = {
|
||||||
|
enable = true;
|
||||||
|
thunarPlugins = with pkgs.xfce; [
|
||||||
|
thunar-volman thunar-archive-plugin
|
||||||
|
];
|
||||||
|
};
|
||||||
|
};
|
||||||
|
picom = {
|
||||||
|
enable = true;
|
||||||
|
shadow = false;
|
||||||
|
menuOpacity = 0.9;
|
||||||
|
inactiveOpacity = 0.95;
|
||||||
|
backend = "glx";
|
||||||
|
experimentalBackends = true;
|
||||||
|
};
|
||||||
|
redshift.enable = true;
|
||||||
|
};
|
||||||
|
|
||||||
|
users = {
|
||||||
|
mutableUsers = false;
|
||||||
|
users.lyla = (import ./users/lyla.nix) pkgs;
|
||||||
|
};
|
||||||
|
|
||||||
|
system.stateVersion = "21.03";
|
||||||
|
}
|
||||||
|
|
|
@ -0,0 +1,3 @@
|
||||||
|
local settings = require "settings"
|
||||||
|
settings.window.home_page = "google.com"
|
||||||
|
|
Loading…
Reference in New Issue