From c092fd8d4a9f37a9043ed989787f67204150fcdf Mon Sep 17 00:00:00 2001 From: Raphael Date: Mon, 9 Mar 2026 20:11:51 +0100 Subject: [PATCH 1/4] core(git/ignore): adding the nix stuff to ignore --- .gitignore | 3 +++ 1 file changed, 3 insertions(+) diff --git a/.gitignore b/.gitignore index 87fc3b2..3bbbf12 100644 --- a/.gitignore +++ b/.gitignore @@ -19,3 +19,6 @@ Sully_* .clangd .clang-format + +.direnv/ +flake.lock From b1eac2d67bc026f9ccad08788c08943e55a94ad6 Mon Sep 17 00:00:00 2001 From: Raphael Date: Mon, 9 Mar 2026 20:12:13 +0100 Subject: [PATCH 2/4] build(nix/direnv): adding the direnv --- .envrc | 1 + 1 file changed, 1 insertion(+) create mode 100644 .envrc diff --git a/.envrc b/.envrc new file mode 100644 index 0000000..3550a30 --- /dev/null +++ b/.envrc @@ -0,0 +1 @@ +use flake From 459ead9573cada08914f2d717b0cd4ca58cb45f4 Mon Sep 17 00:00:00 2001 From: Raphael Date: Mon, 9 Mar 2026 20:12:24 +0100 Subject: [PATCH 3/4] build(nix/flake): adding the flake.nix --- flake.nix | 75 +++++++++++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 75 insertions(+) create mode 100644 flake.nix diff --git a/flake.nix b/flake.nix new file mode 100644 index 0000000..1dab918 --- /dev/null +++ b/flake.nix @@ -0,0 +1,75 @@ +{ + description = "Shell for DrQuine project"; + + inputs.nixpkgs.url = "github:NixOS/nixpkgs/nixos-unstable"; + inputs.flake-utils.url = "github:numtide/flake-utils"; + + outputs = + { + self, + nixpkgs, + flake-utils, + }: + flake-utils.lib.eachDefaultSystem ( + system: + let + pkgs = import nixpkgs { + inherit system; + }; + tmux-setup = pkgs.writeShellScriptBin "tmux-setup" '' + #!/usr/bin/env sh + SESSION="libasm" + DIR=$(git rev-parse --show-toplevel 2>/dev/null || pwd) + if ! tmux has-session -t $SESSION 2>/dev/null; then + tmux new-session -d -s $SESSION -c "$DIR" -n dev + tmux send-keys -t $SESSION:0 'vim' C-m + tmux split-window -h -p 30 -t $SESSION:0 -c "$DIR" + tmux send-keys -t $SESSION:0.1 'exec zsh' C-m + tmux new-window -t $SESSION:1 -n git -c "$DIR" + tmux send-keys -t $SESSION:1 'lazygit' C-m + fi + tmux select-window -t $SESSION:0 + tmux select-pane -t $SESSION:0.0 + tmux attach -t $SESSION + ''; + in + { + devShells.default = pkgs.mkShell { + name = "libasm-42"; + buildInputs = + with pkgs; + [ + tmux-setup + nasm + gcc + clang + clang-tools + binutils + gnumake + lldb + coreutils + xxd + valgrind + clang-tools + asm-lsp + ] + ++ ( + if pkgs.stdenv.isLinux then + [ + strace + valgrind + ] + else + [ ] + ); + + shellHook = '' + export AS=nasm + export CC='clang' + export ASM_LSP_CONFIG="$(pwd)/asm-lsp.toml" + printf "\n\033[0;90mASM env loaded for: \033[38;5;220m${system}\033[0m\n" + ''; + }; + } + ); +} From c7139eada606a83df964b6ca5eb769155f9aa7bb Mon Sep 17 00:00:00 2001 From: Raphael Date: Mon, 9 Mar 2026 20:17:48 +0100 Subject: [PATCH 4/4] fix(nix/flake): adding the condition to add valgrind to packages only on linux --- flake.nix | 13 ++----------- 1 file changed, 2 insertions(+), 11 deletions(-) diff --git a/flake.nix b/flake.nix index 1dab918..e880eb1 100644 --- a/flake.nix +++ b/flake.nix @@ -35,7 +35,7 @@ in { devShells.default = pkgs.mkShell { - name = "libasm-42"; + name = "drquine-42"; buildInputs = with pkgs; [ @@ -49,19 +49,10 @@ lldb coreutils xxd - valgrind clang-tools asm-lsp ] - ++ ( - if pkgs.stdenv.isLinux then - [ - strace - valgrind - ] - else - [ ] - ); + ++ (if pkgs.stdenv.isLinux then [ valgrind strace ] else []); shellHook = '' export AS=nasm