Compare commits
No commits in common. "37a8134c23a87dc1a4ed03abb5847f96c6db744d" and "c7e2263d644d7db92aa87b757cb713965aa20a8a" have entirely different histories.
37a8134c23
...
c7e2263d64
|
@ -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
|
||||
|
|
|
@ -7,6 +7,4 @@
|
|||
|
||||
networking.hostName = "curacao";
|
||||
frogeye.extra = true;
|
||||
frogeye.desktop.xorg = true;
|
||||
frogeye.dev.docker = true;
|
||||
}
|
||||
|
|
|
@ -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;
|
||||
}
|
||||
|
|
|
@ -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"
|
||||
|
|
|
@ -1,6 +1,5 @@
|
|||
{ pkgs, config, lib, ... }:
|
||||
{
|
||||
config = lib.mkIf config.frogeye.desktop.xorg {
|
||||
xsession = {
|
||||
enable = true;
|
||||
windowManager = {
|
||||
|
@ -632,5 +631,4 @@
|
|||
MPD_PORT = "${toString config.services.mpd.network.port}";
|
||||
};
|
||||
};
|
||||
};
|
||||
}
|
||||
|
|
|
@ -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
|
||||
|
||||
];
|
||||
|
||||
}
|
||||
|
|
|
@ -1,34 +1,9 @@
|
|||
{ pkgs, lib, config, ... }:
|
||||
{
|
||||
config = lib.mkIf config.frogeye.extra {
|
||||
programs = {
|
||||
pandoc.enable = true;
|
||||
};
|
||||
home.packages = with pkgs; ([
|
||||
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 toolbox
|
||||
ffmpeg
|
||||
|
||||
# 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
|
||||
|
||||
] ++ lib.optionals config.frogeye.desktop.xorg [
|
||||
|
||||
# multimedia editors
|
||||
gimp
|
||||
inkscape
|
||||
|
@ -39,19 +14,31 @@
|
|||
audacity
|
||||
|
||||
# downloading
|
||||
yt-dlp
|
||||
megatools
|
||||
# transmission TODO Collision if both transmissions are active?
|
||||
transmission-qt
|
||||
|
||||
# FIXME Below not on aarch64
|
||||
# wine
|
||||
wine
|
||||
# TODO wine-gecko wine-mono lib32-libpulse (?)
|
||||
|
||||
# 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
|
||||
|
||||
# gaming
|
||||
steam
|
||||
yuzu-mainline
|
||||
minecraft
|
||||
# TODO factorio
|
||||
];
|
||||
|
||||
]);
|
||||
};
|
||||
}
|
||||
|
|
|
@ -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
|
||||
|
|
|
@ -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";
|
||||
};
|
||||
}
|
||||
|
|
|
@ -1,10 +1,9 @@
|
|||
{ pkgs, lib, config, ... }:
|
||||
{ pkgs, ... }:
|
||||
{
|
||||
config = lib.mkIf config.frogeye.desktop.xorg {
|
||||
# Enable the X11 windowing system
|
||||
services.xserver.enable = true;
|
||||
|
||||
services.xserver = {
|
||||
enable = true;
|
||||
windowManager.i3.enable = true;
|
||||
displayManager.defaultSession = "none+i3";
|
||||
|
||||
|
@ -34,5 +33,4 @@
|
|||
# Enable sound
|
||||
sound.enable = true;
|
||||
hardware.pulseaudio.enable = true;
|
||||
};
|
||||
}
|
||||
|
|
|
@ -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;
|
||||
}
|
||||
|
|
Loading…
Reference in a new issue