Compare commits

..

No commits in common. "37a8134c23a87dc1a4ed03abb5847f96c6db744d" and "c7e2263d644d7db92aa87b757cb713965aa20a8a" have entirely different histories.

11 changed files with 678 additions and 757 deletions

View file

@ -1,9 +1,6 @@
#!/usr/bin/env bash
# TODO Surely there's more elegant?
nix-channel --add https://nixos.org/channels/nixos-23.05 nixpkgs
nix-channel --add https://github.com/nix-community/home-manager/archive/release-23.05.tar.gz home-manager
# First commit before 23.05 release date:
nix-channel --add https://github.com/NixOS/nixos-hardware/archive/468a7a108108908c7a35d6549f1e1f0236a9448a.tar.gz nixos-hardware
nix-channel --update
nix-channel --add https://github.com/NixOS/nixos-hardware/archive/master.tar.gz nixos-hardware

View file

@ -7,6 +7,4 @@
networking.hostName = "curacao";
frogeye.extra = true;
frogeye.desktop.xorg = true;
frogeye.dev.docker = true;
}

View file

@ -8,11 +8,5 @@
home.homeDirectory = "/home/gnix";
frogeye.extra = true;
frogeye.desktop.xorg = true;
frogeye.desktop.nixGLIntel = true;
frogeye.dev.ansible.enable = true;
frogeye.dev.c.enable = true;
frogeye.dev.docker.enable = true;
frogeye.dev.fpga.enable = true;
frogeye.dev.python.enable = true;
}

View file

@ -394,16 +394,19 @@ in
wget
curl
python3Packages.pip
ansible # TODO Reevaluate
# shell
zsh-completions
nix-zsh-completions
zsh-history-substring-search
antigen # TODO Reevaluate
powerline-go
# terminal essentials
moreutils
man
visidata
# nodePackages.insect # FIXME Don't install on aarch64
# TODO Use whatever replaces insect
translate-shell
@ -435,6 +438,7 @@ in
speedtest-cli
# multimedia toolbox
ffmpeg
sox
imagemagick
@ -461,28 +465,23 @@ in
# Favourite commands
PAGER = "${pkgs.coreutils}/bin/less";
EDITOR = "${pkgs.neovim}/bin/nvim";
# Extra config
VISUAL = "${pkgs.neovim}/bin/nvim";
BROWSER = "${config.programs.qutebrowser.package}/bin/qutebrowser";
} // direnv // {
BOOT9_PATH = "${config.xdg.dataHome}/citra-emu/sysdata/boot9.bin";
CCACHE_CONFIGPATH = "${config.xdg.configHome}/ccache.conf";
# INPUTRC = "${config.xdg.configHome}/inputrc"; # UPST Will use programs.readline, but doesn't allow path setting
LESSHISTFILE = "${config.xdg.stateHome}/lesshst";
NODE_REPL_HISTORY = "${config.xdg.cacheHome}/node_repl_history";
PYTHONSTARTUP = "${config.xdg.configHome}/pythonstartup.py";
RXVT_SOCKET = "${config.xdg.stateHome}/urxvtd"; # Used to want -$HOME suffix, hopefullt this isn't needed
# TODO I think we're not using the urxvt daemon on purpose?
# TODO this should be desktop only, as a few things are too.
SCREENRC = "${config.xdg.configHome}/screenrc";
SQLITE_HISTFILE = "${config.xdg.stateHome}/sqlite_history";
YARN_DISABLE_SELF_UPDATE_CHECK = "true"; # This also disable the creation of a ~/.yarnrc file
} // lib.optionalAttrs config.frogeye.desktop.xorg {
# Favourite commands
VISUAL = "${pkgs.neovim}/bin/nvim";
BROWSER = "${config.programs.qutebrowser.package}/bin/qutebrowser";
# Extra config
RXVT_SOCKET = "${config.xdg.stateHome}/urxvtd"; # Used to want -$HOME suffix, hopefullt this isn't needed
# XAUTHORITY = "${config.xdg.configHome}/Xauthority"; # Disabled as this causes lock-ups with DMs
} // direnv;
};
# TODO Session variables only get reloaded on login I think.
sessionPath = [
"$HOME/.local/bin"

File diff suppressed because it is too large Load diff

View file

@ -1,9 +1,17 @@
{ pkgs, config, ... }: {
# TODO Maybe should be per-directory dotenv
# Or not, for neovim
# Always on
{ pkgs, ... }: {
# TODO Separate in diffrent packages once the structure is finalized...
# or connvert into per-directory requirements
home.packages = with pkgs; [
# Ansible
ansible
ansible-lint
# C/C++
cmake
clang
ccache
gdb
# Common
perf-tools
git
@ -11,6 +19,17 @@
yq
universal-ctags
highlight
zeal-qt6 # Offline documentation
# Docker
docker
docker-compose
# FPGA
yosys
verilog
# ghdl # TODO Not on aarch64
gtkwave # TODO Display server only
# Network
socat
@ -18,49 +37,13 @@
whois
nmap
tcpdump
wireshark-qt # TODO Display server only
# nix
nix
# Always on (graphical)
] ++ lib.optionals config.frogeye.desktop.xorg [
# Common
zeal-qt6 # Offline documentation
# Network
wireshark-qt
# Ansible
] ++ lib.optionals config.frogeye.dev.ansible [
ansible
ansible-lint
# C/C++
] ++ lib.optionals config.frogeye.dev.c [
cmake
clang
ccache
gdb
# Docker
] ++ lib.optionals config.frogeye.dev.docker [
docker
docker-compose
# FPGA
] ++ lib.optionals config.frogeye.dev.fpga [
verilog
# ghdl # TODO Not on aarch64
# FPGA (graphical)
] ++ lib.optionals (config.frogeye.desktop.xorg && config.frogeye.dev.fpga) [
yosys
gtkwave
# Python
] ++ lib.optionals config.frogeye.dev.python [
python3Packages.ipython
];
}

View file

@ -1,57 +1,44 @@
{ pkgs, lib, config, ... }:
{
config = lib.mkIf config.frogeye.extra {
programs = {
pandoc.enable = true;
};
home.packages = with pkgs; ([
# android tools
android-tools
home.packages = with pkgs; lib.mkIf config.frogeye.extra [
# android tools
android-tools
# downloading
yt-dlp
megatools
# transmission TODO Collision if both transmissions are active?
# multimedia editors
gimp
inkscape
darktable
blender
puddletag
musescore
audacity
# Multimedia toolbox
ffmpeg
# downloading
yt-dlp
megatools
# transmission TODO Collision if both transmissions are active?
transmission-qt
# documents
visidata
texlive.combined.scheme-full
pdftk
hunspell
hunspellDicts.en_GB-ize
hunspellDicts.en_US
hunspellDicts.fr-moderne
hunspellDicts.nl_NL
# TODO libreoffice-extension-languagetool or libreoffice-extension-grammalecte-fr
# wine
wine
# TODO wine-gecko wine-mono lib32-libpulse (?)
] ++ lib.optionals config.frogeye.desktop.xorg [
# documents
pandoc
texlive.combined.scheme-full
pdftk
hunspell
hunspellDicts.en_GB-ize
hunspellDicts.en_US
hunspellDicts.fr-moderne
hunspellDicts.nl_NL
# TODO libreoffice-extension-languagetool or libreoffice-extension-grammalecte-fr
# multimedia editors
gimp
inkscape
darktable
blender
puddletag
musescore
audacity
# gaming
steam
yuzu-mainline
minecraft
# TODO factorio
];
# downloading
transmission-qt
# FIXME Below not on aarch64
# wine
wine
# TODO wine-gecko wine-mono lib32-libpulse (?)
# gaming
steam
yuzu-mainline
minecraft
# TODO factorio
]);
};
}

View file

@ -167,7 +167,7 @@ in
jsonls.enable = true; # JSON
lua-ls.enable = true; # Lua (for Neovim debugging)
# FIXME perlls
pylsp = lib.mkIf config.frogeye.dev.python {
pylsp = {
# Python
enable = true;
settings.plugins = {
@ -288,14 +288,10 @@ in
# Language-specific
tcomment_vim # Language-aware (un)commenting
] ++ lib.optionals config.frogeye.extra [
vim-LanguageTool # Check grammar for human languages
] ++ lib.optionals config.programs.pandoc.enable [
vim-pandoc # Pandoc-specific stuff because there's no LSP for it
vim-pandoc-syntax
] ++ lib.optionals config.frogeye.dev.c [
nvim-dap # Debug Adapter Protocol client
] ++ lib.optionals config.frogeye.dev.ansible [
ansible-vim # FIXME See if it doesn't require to do ./UltiSnips/generate.sh
];
extraConfigLua = lib.strings.concatMapStringsSep "\n" (f: builtins.readFile f) [
@ -327,12 +323,10 @@ in
inoremap <silent><expr> <C-f> compe#scroll({ 'delta': +4 })
inoremap <silent><expr> <C-d> compe#scroll({ 'delta': -4 })
'' + lib.optionalString config.frogeye.extra ''
" languagetool
let g:languagetool_cmd = "${pkgs.languagetool}/bin/languagetool-commandline"
" TODO Doesn't work
'' + lib.optionalString config.programs.pandoc.enable ''
" vim-pandox
let g:pandoc#modules#disabled = ["folding"]
let g:pandoc#spell#enabled = 0

View file

@ -2,25 +2,6 @@
{
options.frogeye = {
extra = lib.mkEnableOption "Big software";
desktop = {
xorg = lib.mkEnableOption "Enable X11 support";
nixGLIntel = lib.mkEnableOption "Enable nixGLIntel/nixVulkanIntel for windows manager";
};
dev = {
ansible = lib.mkEnableOption "Ansible dev stuff";
c = lib.mkEnableOption "C/C++ dev stuff";
docker = lib.mkEnableOption "Docker dev stuff";
fpga = lib.mkEnableOption "FPGA dev stuff";
python = lib.mkEnableOption "Python dev stuff";
};
};
config = {
frogeye = {
dev = {
ansible = lib.mkDefault true;
python = lib.mkDefault true;
};
};
desktop.nixGLIntel = lib.mkEnableOption "Enable nixGLIntel/nixVulkanIntel for windows manager";
};
}

View file

@ -1,18 +1,17 @@
{ pkgs, lib, config, ... }:
{ pkgs, ... }:
{
config = lib.mkIf config.frogeye.desktop.xorg {
# Enable the X11 windowing system
# Enable the X11 windowing system
services.xserver.enable = true;
services.xserver = {
enable = true;
windowManager.i3.enable = true;
displayManager.defaultSession = "none+i3";
services.xserver = {
windowManager.i3.enable = true;
displayManager.defaultSession = "none+i3";
# Keyboard layout
extraLayouts.qwerty-fr = {
description = "QWERTY-fr";
languages = [ "fr" ];
symbolsFile = "${pkgs.stdenv.mkDerivation {
# Keyboard layout
extraLayouts.qwerty-fr = {
description = "QWERTY-fr";
languages = [ "fr" ];
symbolsFile = "${pkgs.stdenv.mkDerivation {
name = "qwerty-fr-keypad";
src = builtins.fetchGit {
url = "https://github.com/qwerty-fr/qwerty-fr.git";
@ -27,12 +26,11 @@
runHook postInstall
'';
}}/linux/us_qwerty-fr";
};
layout = "qwerty-fr";
};
# Enable sound
sound.enable = true;
hardware.pulseaudio.enable = true;
layout = "qwerty-fr";
};
# Enable sound
sound.enable = true;
hardware.pulseaudio.enable = true;
}

View file

@ -1,17 +1,9 @@
{ pkgs, config, ... }:
{ ... }:
{
imports = [
<nixos-hardware/pine64/pinebook-pro>
# <nixos-hardware/pine64/pinebook-pro>
<nixpkgs/nixos/modules/installer/sd-card/sd-image-aarch64.nix>
./os/loader.nix
];
# nixos-hardware use latest kernel by default. This obviously runs quickly out of sync with zfs packages.
# zfs packages are included despite me asking anything zfs, probably they're in the image for installation purposes?
boot.kernelPackages = config.boot.zfs.package.latestCompatibleLinuxPackages;
networking.hostName = "pindakaas";
frogeye.extra = false; # FIXME Not working yet
frogeye.desktop.xorg = true;
frogeye.dev.docker = true;
}